-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathska.c
More file actions
192 lines (173 loc) · 96.3 KB
/
ska.c
File metadata and controls
192 lines (173 loc) · 96.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
/*
Copyright (C) 2017 Ming-Shing Chen
This file is part of BitPolyMul.
BitPolyMul is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
BitPolyMul is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with BitPolyMul. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ska.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
static unsigned _s1_tab[32] __attribute__((aligned(32))) =
{0x0,0x1,0x2,0x5,0x8,0x14,0x27,0x5e,0x80,0x140,0x270,0x5e0,0x85d,0x14fb,0x278f,0x5e4a,
0x8000,0x14000,0x27000,0x5e000,0x85d00,0x14fb00,0x278f00,0x5e4a00,
0x805ede,0x140f9b9,0x27082f2,0x5e041a1,0x85d89d4,0x14fb47bc,0x278f71fe,0x5e4ae3a9,};
static inline
unsigned _s1_a(unsigned a )
{
unsigned r = 0;
while(a){
r ^= _s1_tab[__builtin_ffs(a)-1];
a &= (a-1);
}
return r;
}
static inline
unsigned calc_s_k_a( unsigned k , unsigned a )
{
#ifdef _EXIT_WHILE_SKA_OUT_OF_RANGE_
printf("k(%d) a(0x%x) out of range.\n",k,a);
exit(-1);
#endif
unsigned r = a << (k+1);
while( k ) {
r = _s1_a(r);
k--;
}
return r;
}
static unsigned s1_6[6][256*4] __attribute__((aligned(32))) = {
{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x14,0x16,0x11,0x13,0x1c,0x1e,0x19,0x1b,0x27,0x25,0x22,0x20,0x2f,0x2d,0x2a,0x28,0x33,0x31,0x36,0x34,0x3b,0x39,0x3e,0x3c,0x5e,0x5c,0x5b,0x59,0x56,0x54,0x53,0x51,0x4a,0x48,0x4f,0x4d,0x42,0x40,0x47,0x45,0x79,0x7b,0x7c,0x7e,0x71,0x73,0x74,0x76,0x6d,0x6f,0x68,0x6a,0x65,0x67,0x60,0x62,0x80,0x82,0x85,0x87,0x88,0x8a,0x8d,0x8f,0x94,0x96,0x91,0x93,0x9c,0x9e,0x99,0x9b,0xa7,0xa5,0xa2,0xa0,0xaf,0xad,0xaa,0xa8,0xb3,0xb1,0xb6,0xb4,0xbb,0xb9,0xbe,0xbc,0xde,0xdc,0xdb,0xd9,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc2,0xc0,0xc7,0xc5,0xf9,0xfb,0xfc,0xfe,0xf1,0xf3,0xf4,0xf6,0xed,0xef,0xe8,0xea,0xe5,0xe7,0xe0,0xe2,0x140,0x142,0x145,0x147,0x148,0x14a,0x14d,0x14f,0x154,0x156,0x151,0x153,0x15c,0x15e,0x159,0x15b,0x167,0x165,0x162,0x160,0x16f,0x16d,0x16a,0x168,0x173,0x171,0x176,0x174,0x17b,0x179,0x17e,0x17c,0x11e,0x11c,0x11b,0x119,0x116,0x114,0x113,0x111,0x10a,0x108,0x10f,0x10d,0x102,0x100,0x107,0x105,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x12d,0x12f,0x128,0x12a,0x125,0x127,0x120,0x122,0x1c0,0x1c2,0x1c5,0x1c7,0x1c8,0x1ca,0x1cd,0x1cf,0x1d4,0x1d6,0x1d1,0x1d3,0x1dc,0x1de,0x1d9,0x1db,0x1e7,0x1e5,0x1e2,0x1e0,0x1ef,0x1ed,0x1ea,0x1e8,0x1f3,0x1f1,0x1f6,0x1f4,0x1fb,0x1f9,0x1fe,0x1fc,0x19e,0x19c,0x19b,0x199,0x196,0x194,0x193,0x191,0x18a,0x188,0x18f,0x18d,0x182,0x180,0x187,0x185,0x1b9,0x1bb,0x1bc,0x1be,0x1b1,0x1b3,0x1b4,0x1b6,0x1ad,0x1af,0x1a8,0x1aa,0x1a5,0x1a7,0x1a0,0x1a2,
0x0,0x270,0x5e0,0x790,0x85d,0xa2d,0xdbd,0xfcd,0x14fb,0x168b,0x111b,0x136b,0x1ca6,0x1ed6,0x1946,0x1b36,0x278f,0x25ff,0x226f,0x201f,0x2fd2,0x2da2,0x2a32,0x2842,0x3374,0x3104,0x3694,0x34e4,0x3b29,0x3959,0x3ec9,0x3cb9,0x5e4a,0x5c3a,0x5baa,0x59da,0x5617,0x5467,0x53f7,0x5187,0x4ab1,0x48c1,0x4f51,0x4d21,0x42ec,0x409c,0x470c,0x457c,0x79c5,0x7bb5,0x7c25,0x7e55,0x7198,0x73e8,0x7478,0x7608,0x6d3e,0x6f4e,0x68de,0x6aae,0x6563,0x6713,0x6083,0x62f3,0x8000,0x8270,0x85e0,0x8790,0x885d,0x8a2d,0x8dbd,0x8fcd,0x94fb,0x968b,0x911b,0x936b,0x9ca6,0x9ed6,0x9946,0x9b36,0xa78f,0xa5ff,0xa26f,0xa01f,0xafd2,0xada2,0xaa32,0xa842,0xb374,0xb104,0xb694,0xb4e4,0xbb29,0xb959,0xbec9,0xbcb9,0xde4a,0xdc3a,0xdbaa,0xd9da,0xd617,0xd467,0xd3f7,0xd187,0xcab1,0xc8c1,0xcf51,0xcd21,0xc2ec,0xc09c,0xc70c,0xc57c,0xf9c5,0xfbb5,0xfc25,0xfe55,0xf198,0xf3e8,0xf478,0xf608,0xed3e,0xef4e,0xe8de,0xeaae,0xe563,0xe713,0xe083,0xe2f3,0x14000,0x14270,0x145e0,0x14790,0x1485d,0x14a2d,0x14dbd,0x14fcd,0x154fb,0x1568b,0x1511b,0x1536b,0x15ca6,0x15ed6,0x15946,0x15b36,0x1678f,0x165ff,0x1626f,0x1601f,0x16fd2,0x16da2,0x16a32,0x16842,0x17374,0x17104,0x17694,0x174e4,0x17b29,0x17959,0x17ec9,0x17cb9,0x11e4a,0x11c3a,0x11baa,0x119da,0x11617,0x11467,0x113f7,0x11187,0x10ab1,0x108c1,0x10f51,0x10d21,0x102ec,0x1009c,0x1070c,0x1057c,0x139c5,0x13bb5,0x13c25,0x13e55,0x13198,0x133e8,0x13478,0x13608,0x12d3e,0x12f4e,0x128de,0x12aae,0x12563,0x12713,0x12083,0x122f3,0x1c000,0x1c270,0x1c5e0,0x1c790,0x1c85d,0x1ca2d,0x1cdbd,0x1cfcd,0x1d4fb,0x1d68b,0x1d11b,0x1d36b,0x1dca6,0x1ded6,0x1d946,0x1db36,0x1e78f,0x1e5ff,0x1e26f,0x1e01f,0x1efd2,0x1eda2,0x1ea32,0x1e842,0x1f374,0x1f104,0x1f694,0x1f4e4,0x1fb29,0x1f959,0x1fec9,0x1fcb9,0x19e4a,0x19c3a,0x19baa,0x199da,0x19617,0x19467,0x193f7,0x19187,0x18ab1,0x188c1,0x18f51,0x18d21,0x182ec,0x1809c,0x1870c,0x1857c,0x1b9c5,0x1bbb5,0x1bc25,0x1be55,0x1b198,0x1b3e8,0x1b478,0x1b608,0x1ad3e,0x1af4e,0x1a8de,0x1aaae,0x1a563,0x1a713,0x1a083,0x1a2f3,
0x0,0x27000,0x5e000,0x79000,0x85d00,0xa2d00,0xdbd00,0xfcd00,0x14fb00,0x168b00,0x111b00,0x136b00,0x1ca600,0x1ed600,0x194600,0x1b3600,0x278f00,0x25ff00,0x226f00,0x201f00,0x2fd200,0x2da200,0x2a3200,0x284200,0x337400,0x310400,0x369400,0x34e400,0x3b2900,0x395900,0x3ec900,0x3cb900,0x5e4a00,0x5c3a00,0x5baa00,0x59da00,0x561700,0x546700,0x53f700,0x518700,0x4ab100,0x48c100,0x4f5100,0x4d2100,0x42ec00,0x409c00,0x470c00,0x457c00,0x79c500,0x7bb500,0x7c2500,0x7e5500,0x719800,0x73e800,0x747800,0x760800,0x6d3e00,0x6f4e00,0x68de00,0x6aae00,0x656300,0x671300,0x608300,0x62f300,0x805ede,0x822ede,0x85bede,0x87cede,0x8803de,0x8a73de,0x8de3de,0x8f93de,0x94a5de,0x96d5de,0x9145de,0x9335de,0x9cf8de,0x9e88de,0x9918de,0x9b68de,0xa7d1de,0xa5a1de,0xa231de,0xa041de,0xaf8cde,0xadfcde,0xaa6cde,0xa81cde,0xb32ade,0xb15ade,0xb6cade,0xb4bade,0xbb77de,0xb907de,0xbe97de,0xbce7de,0xde14de,0xdc64de,0xdbf4de,0xd984de,0xd649de,0xd439de,0xd3a9de,0xd1d9de,0xcaefde,0xc89fde,0xcf0fde,0xcd7fde,0xc2b2de,0xc0c2de,0xc752de,0xc522de,0xf99bde,0xfbebde,0xfc7bde,0xfe0bde,0xf1c6de,0xf3b6de,0xf426de,0xf656de,0xed60de,0xef10de,0xe880de,0xeaf0de,0xe53dde,0xe74dde,0xe0ddde,0xe2adde,0x140f9b9,0x14289b9,0x14519b9,0x14769b9,0x148a4b9,0x14ad4b9,0x14d44b9,0x14f34b9,0x15402b9,0x15672b9,0x151e2b9,0x15392b9,0x15c5fb9,0x15e2fb9,0x159bfb9,0x15bcfb9,0x16776b9,0x16506b9,0x16296b9,0x160e6b9,0x16f2bb9,0x16d5bb9,0x16acbb9,0x168bbb9,0x1738db9,0x171fdb9,0x1766db9,0x1741db9,0x17bd0b9,0x179a0b9,0x17e30b9,0x17c40b9,0x11eb3b9,0x11cc3b9,0x11b53b9,0x11923b9,0x116eeb9,0x1149eb9,0x1130eb9,0x1117eb9,0x10a48b9,0x10838b9,0x10fa8b9,0x10dd8b9,0x10215b9,0x10065b9,0x107f5b9,0x10585b9,0x1393cb9,0x13b4cb9,0x13cdcb9,0x13eacb9,0x13161b9,0x13311b9,0x13481b9,0x136f1b9,0x12dc7b9,0x12fb7b9,0x12827b9,0x12a57b9,0x1259ab9,0x127eab9,0x1207ab9,0x1220ab9,0x1c0a767,0x1c2d767,0x1c54767,0x1c73767,0x1c8fa67,0x1ca8a67,0x1cd1a67,0x1cf6a67,0x1d45c67,0x1d62c67,0x1d1bc67,0x1d3cc67,0x1dc0167,0x1de7167,0x1d9e167,0x1db9167,0x1e72867,0x1e55867,0x1e2c867,0x1e0b867,0x1ef7567,0x1ed0567,0x1ea9567,0x1e8e567,0x1f3d367,0x1f1a367,0x1f63367,0x1f44367,0x1fb8e67,0x1f9fe67,0x1fe6e67,0x1fc1e67,0x19eed67,0x19c9d67,0x19b0d67,0x1997d67,0x196b067,0x194c067,0x1935067,0x1912067,0x18a1667,0x1886667,0x18ff667,0x18d8667,0x1824b67,0x1803b67,0x187ab67,0x185db67,0x1b96267,0x1bb1267,0x1bc8267,0x1bef267,0x1b13f67,0x1b34f67,0x1b4df67,0x1b6af67,0x1ad9967,0x1afe967,0x1a87967,0x1aa0967,0x1a5c467,0x1a7b467,0x1a02467,0x1a25467,
0x0,0x27082f2,0x5e041a1,0x790c353,0x85d89d4,0xa2d0b26,0xdbdc875,0xfcd4a87,0x14fb47bc,0x168bc54e,0x111b061d,0x136b84ef,0x1ca6ce68,0x1ed64c9a,0x19468fc9,0x1b360d3b,0x278f71fe,0x25fff30c,0x226f305f,0x201fb2ad,0x2fd2f82a,0x2da27ad8,0x2a32b98b,0x28423b79,0x33743642,0x3104b4b0,0x369477e3,0x34e4f511,0x3b29bf96,0x39593d64,0x3ec9fe37,0x3cb97cc5,0x5e4ae3a9,0x5c3a615b,0x5baaa208,0x59da20fa,0x56176a7d,0x5467e88f,0x53f72bdc,0x5187a92e,0x4ab1a415,0x48c126e7,0x4f51e5b4,0x4d216746,0x42ec2dc1,0x409caf33,0x470c6c60,0x457cee92,0x79c59257,0x7bb510a5,0x7c25d3f6,0x7e555104,0x71981b83,0x73e89971,0x74785a22,0x7608d8d0,0x6d3ed5eb,0x6f4e5719,0x68de944a,0x6aae16b8,0x65635c3f,0x6713decd,0x60831d9e,0x62f39f6c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x17,0x15,0x12,0x10,0x1d,0x1f,0x18,0x1a,0x29,0x2b,0x2c,0x2e,0x23,0x21,0x26,0x24,0x3e,0x3c,0x3b,0x39,0x34,0x36,0x31,0x33,0x5e,0x5c,0x5b,0x59,0x54,0x56,0x51,0x53,0x49,0x4b,0x4c,0x4e,0x43,0x41,0x46,0x44,0x77,0x75,0x72,0x70,0x7d,0x7f,0x78,0x7a,0x60,0x62,0x65,0x67,0x6a,0x68,0x6f,0x6d,0xa7,0xa5,0xa2,0xa0,0xad,0xaf,0xa8,0xaa,0xb0,0xb2,0xb5,0xb7,0xba,0xb8,0xbf,0xbd,0x8e,0x8c,0x8b,0x89,0x84,0x86,0x81,0x83,0x99,0x9b,0x9c,0x9e,0x93,0x91,0x96,0x94,0xf9,0xfb,0xfc,0xfe,0xf3,0xf1,0xf6,0xf4,0xee,0xec,0xeb,0xe9,0xe4,0xe6,0xe1,0xe3,0xd0,0xd2,0xd5,0xd7,0xda,0xd8,0xdf,0xdd,0xc7,0xc5,0xc2,0xc0,0xcd,0xcf,0xc8,0xca,0x17b,0x179,0x17e,0x17c,0x171,0x173,0x174,0x176,0x16c,0x16e,0x169,0x16b,0x166,0x164,0x163,0x161,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x145,0x147,0x140,0x142,0x14f,0x14d,0x14a,0x148,0x125,0x127,0x120,0x122,0x12f,0x12d,0x12a,0x128,0x132,0x130,0x137,0x135,0x138,0x13a,0x13d,0x13f,0x10c,0x10e,0x109,0x10b,0x106,0x104,0x103,0x101,0x11b,0x119,0x11e,0x11c,0x111,0x113,0x114,0x116,0x1dc,0x1de,0x1d9,0x1db,0x1d6,0x1d4,0x1d3,0x1d1,0x1cb,0x1c9,0x1ce,0x1cc,0x1c1,0x1c3,0x1c4,0x1c6,0x1f5,0x1f7,0x1f0,0x1f2,0x1ff,0x1fd,0x1fa,0x1f8,0x1e2,0x1e0,0x1e7,0x1e5,0x1e8,0x1ea,0x1ed,0x1ef,0x182,0x180,0x187,0x185,0x188,0x18a,0x18d,0x18f,0x195,0x197,0x190,0x192,0x19f,0x19d,0x19a,0x198,0x1ab,0x1a9,0x1ae,0x1ac,0x1a1,0x1a3,0x1a4,0x1a6,0x1bc,0x1be,0x1b9,0x1bb,0x1b6,0x1b4,0x1b3,0x1b1,
0x0,0x29d,0x5c8,0x755,0xa4c,0x8d1,0xf84,0xd19,0x1713,0x158e,0x12db,0x1046,0x1d5f,0x1fc2,0x1897,0x1a0a,0x2921,0x2bbc,0x2ce9,0x2e74,0x236d,0x21f0,0x26a5,0x2438,0x3e32,0x3caf,0x3bfa,0x3967,0x347e,0x36e3,0x31b6,0x332b,0x5e4a,0x5cd7,0x5b82,0x591f,0x5406,0x569b,0x51ce,0x5353,0x4959,0x4bc4,0x4c91,0x4e0c,0x4315,0x4188,0x46dd,0x4440,0x776b,0x75f6,0x72a3,0x703e,0x7d27,0x7fba,0x78ef,0x7a72,0x6078,0x62e5,0x65b0,0x672d,0x6a34,0x68a9,0x6ffc,0x6d61,0xa78f,0xa512,0xa247,0xa0da,0xadc3,0xaf5e,0xa80b,0xaa96,0xb09c,0xb201,0xb554,0xb7c9,0xbad0,0xb84d,0xbf18,0xbd85,0x8eae,0x8c33,0x8b66,0x89fb,0x84e2,0x867f,0x812a,0x83b7,0x99bd,0x9b20,0x9c75,0x9ee8,0x93f1,0x916c,0x9639,0x94a4,0xf9c5,0xfb58,0xfc0d,0xfe90,0xf389,0xf114,0xf641,0xf4dc,0xeed6,0xec4b,0xeb1e,0xe983,0xe49a,0xe607,0xe152,0xe3cf,0xd0e4,0xd279,0xd52c,0xd7b1,0xdaa8,0xd835,0xdf60,0xddfd,0xc7f7,0xc56a,0xc23f,0xc0a2,0xcdbb,0xcf26,0xc873,0xcaee,0x17b29,0x179b4,0x17ee1,0x17c7c,0x17165,0x173f8,0x174ad,0x17630,0x16c3a,0x16ea7,0x169f2,0x16b6f,0x16676,0x164eb,0x163be,0x16123,0x15208,0x15095,0x157c0,0x1555d,0x15844,0x15ad9,0x15d8c,0x15f11,0x1451b,0x14786,0x140d3,0x1424e,0x14f57,0x14dca,0x14a9f,0x14802,0x12563,0x127fe,0x120ab,0x12236,0x12f2f,0x12db2,0x12ae7,0x1287a,0x13270,0x130ed,0x137b8,0x13525,0x1383c,0x13aa1,0x13df4,0x13f69,0x10c42,0x10edf,0x1098a,0x10b17,0x1060e,0x10493,0x103c6,0x1015b,0x11b51,0x119cc,0x11e99,0x11c04,0x1111d,0x11380,0x114d5,0x11648,0x1dca6,0x1de3b,0x1d96e,0x1dbf3,0x1d6ea,0x1d477,0x1d322,0x1d1bf,0x1cbb5,0x1c928,0x1ce7d,0x1cce0,0x1c1f9,0x1c364,0x1c431,0x1c6ac,0x1f587,0x1f71a,0x1f04f,0x1f2d2,0x1ffcb,0x1fd56,0x1fa03,0x1f89e,0x1e294,0x1e009,0x1e75c,0x1e5c1,0x1e8d8,0x1ea45,0x1ed10,0x1ef8d,0x182ec,0x18071,0x18724,0x185b9,0x188a0,0x18a3d,0x18d68,0x18ff5,0x195ff,0x19762,0x19037,0x192aa,0x19fb3,0x19d2e,0x19a7b,0x198e6,0x1abcd,0x1a950,0x1ae05,0x1ac98,0x1a181,0x1a31c,0x1a449,0x1a6d4,0x1bcde,0x1be43,0x1b916,0x1bb8b,0x1b692,0x1b40f,0x1b35a,0x1b1c7,
0x0,0x29d3e,0x5c8c2,0x755fc,0xa4c43,0x8d17d,0xf8481,0xd19bf,0x17131a,0x158e24,0x12dbd8,0x1046e6,0x1d5f59,0x1fc267,0x18979b,0x1a0aa5,0x29212f,0x2bbc11,0x2ce9ed,0x2e74d3,0x236d6c,0x21f052,0x26a5ae,0x243890,0x3e3235,0x3caf0b,0x3bfaf7,0x3967c9,0x347e76,0x36e348,0x31b6b4,0x332b8a,0x5e6375,0x5cfe4b,0x5babb7,0x593689,0x542f36,0x56b208,0x51e7f4,0x537aca,0x49706f,0x4bed51,0x4cb8ad,0x4e2593,0x433c2c,0x41a112,0x46f4ee,0x4469d0,0x77425a,0x75df64,0x728a98,0x7017a6,0x7d0e19,0x7f9327,0x78c6db,0x7a5be5,0x605140,0x62cc7e,0x659982,0x6704bc,0x6a1d03,0x68803d,0x6fd5c1,0x6d48ff,0xa7b19a,0xa52ca4,0xa27958,0xa0e466,0xadfdd9,0xaf60e7,0xa8351b,0xaaa825,0xb0a280,0xb23fbe,0xb56a42,0xb7f77c,0xbaeec3,0xb873fd,0xbf2601,0xbdbb3f,0x8e90b5,0x8c0d8b,0x8b5877,0x89c549,0x84dcf6,0x8641c8,0x811434,0x83890a,0x9983af,0x9b1e91,0x9c4b6d,0x9ed653,0x93cfec,0x9152d2,0x96072e,0x949a10,0xf9d2ef,0xfb4fd1,0xfc1a2d,0xfe8713,0xf39eac,0xf10392,0xf6566e,0xf4cb50,0xeec1f5,0xec5ccb,0xeb0937,0xe99409,0xe48db6,0xe61088,0xe14574,0xe3d84a,0xd0f3c0,0xd26efe,0xd53b02,0xd7a63c,0xdabf83,0xd822bd,0xdf7741,0xddea7f,0xc7e0da,0xc57de4,0xc22818,0xc0b526,0xcdac99,0xcf31a7,0xc8645b,0xcaf965,0x17b8fd7,0x17912e9,0x17e4715,0x17cda2b,0x171c394,0x1735eaa,0x1740b56,0x1769668,0x16c9ccd,0x16e01f3,0x169540f,0x16bc931,0x166d08e,0x1644db0,0x163184c,0x1618572,0x152aef8,0x15033c6,0x157663a,0x155fb04,0x158e2bb,0x15a7f85,0x15d2a79,0x15fb747,0x145bde2,0x14720dc,0x1407520,0x142e81e,0x14ff1a1,0x14d6c9f,0x14a3963,0x148a45d,0x125eca2,0x127719c,0x1202460,0x122b95e,0x12fa0e1,0x12d3ddf,0x12a6823,0x128f51d,0x132ffb8,0x1306286,0x137377a,0x135aa44,0x138b3fb,0x13a2ec5,0x13d7b39,0x13fe607,0x10ccd8d,0x10e50b3,0x109054f,0x10b9871,0x10681ce,0x1041cf0,0x103490c,0x101d432,0x11bde97,0x11943a9,0x11e1655,0x11c8b6b,0x11192d4,0x1130fea,0x1145a16,0x116c728,0x1dc3e4d,0x1dea373,0x1d9f68f,0x1db6bb1,0x1d6720e,0x1d4ef30,0x1d3bacc,0x1d127f2,0x1cb2d57,0x1c9b069,0x1cee595,0x1cc78ab,0x1c16114,0x1c3fc2a,0x1c4a9d6,0x1c634e8,0x1f51f62,0x1f7825c,0x1f0d7a0,0x1f24a9e,0x1ff5321,0x1fdce1f,0x1fa9be3,0x1f806dd,0x1e20c78,0x1e09146,0x1e7c4ba,0x1e55984,0x1e8403b,0x1eadd05,0x1ed88f9,0x1ef15c7,0x1825d38,0x180c006,0x18795fa,0x18508c4,0x188117b,0x18a8c45,0x18dd9b9,0x18f4487,0x1954e22,0x197d31c,0x19086e0,0x1921bde,0x19f0261,0x19d9f5f,0x19acaa3,0x198579d,0x1ab7c17,0x1a9e129,0x1aeb4d5,0x1ac29eb,0x1a13054,0x1a3ad6a,0x1a4f896,0x1a665a8,0x1bc6f0d,0x1bef233,0x1b9a7cf,0x1bb3af1,0x1b6234e,0x1b4be70,0x1b3eb8c,0x1b176b2,
0x0,0x29dc569,0x5c8d8f8,0x7551d91,0xa4c6c5c,0x8d1a935,0xf84b4a4,0xd1971cd,0x171343e3,0x158e868a,0x12db9b1b,0x10465e72,0x1d5f2fbf,0x1fc2ead6,0x1897f747,0x1a0a322e,0x29218171,0x2bbc4418,0x2ce95989,0x2e749ce0,0x236ded2d,0x21f02844,0x26a535d5,0x2438f0bc,0x3e32c292,0x3caf07fb,0x3bfa1a6a,0x3967df03,0x347eaece,0x36e36ba7,0x31b67636,0x332bb35f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x11,0x13,0x15,0x17,0x1a,0x18,0x1e,0x1c,0x29,0x2b,0x2d,0x2f,0x22,0x20,0x26,0x24,0x38,0x3a,0x3c,0x3e,0x33,0x31,0x37,0x35,0x49,0x4b,0x4d,0x4f,0x42,0x40,0x46,0x44,0x58,0x5a,0x5c,0x5e,0x53,0x51,0x57,0x55,0x60,0x62,0x64,0x66,0x6b,0x69,0x6f,0x6d,0x71,0x73,0x75,0x77,0x7a,0x78,0x7e,0x7c,0xbf,0xbd,0xbb,0xb9,0xb4,0xb6,0xb0,0xb2,0xae,0xac,0xaa,0xa8,0xa5,0xa7,0xa1,0xa3,0x96,0x94,0x92,0x90,0x9d,0x9f,0x99,0x9b,0x87,0x85,0x83,0x81,0x8c,0x8e,0x88,0x8a,0xf6,0xf4,0xf2,0xf0,0xfd,0xff,0xf9,0xfb,0xe7,0xe5,0xe3,0xe1,0xec,0xee,0xe8,0xea,0xdf,0xdd,0xdb,0xd9,0xd4,0xd6,0xd0,0xd2,0xce,0xcc,0xca,0xc8,0xc5,0xc7,0xc1,0xc3,0x111,0x113,0x115,0x117,0x11a,0x118,0x11e,0x11c,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x138,0x13a,0x13c,0x13e,0x133,0x131,0x137,0x135,0x129,0x12b,0x12d,0x12f,0x122,0x120,0x126,0x124,0x158,0x15a,0x15c,0x15e,0x153,0x151,0x157,0x155,0x149,0x14b,0x14d,0x14f,0x142,0x140,0x146,0x144,0x171,0x173,0x175,0x177,0x17a,0x178,0x17e,0x17c,0x160,0x162,0x164,0x166,0x16b,0x169,0x16f,0x16d,0x1ae,0x1ac,0x1aa,0x1a8,0x1a5,0x1a7,0x1a1,0x1a3,0x1bf,0x1bd,0x1bb,0x1b9,0x1b4,0x1b6,0x1b0,0x1b2,0x187,0x185,0x183,0x181,0x18c,0x18e,0x188,0x18a,0x196,0x194,0x192,0x190,0x19d,0x19f,0x199,0x19b,0x1e7,0x1e5,0x1e3,0x1e1,0x1ec,0x1ee,0x1e8,0x1ea,0x1f6,0x1f4,0x1f2,0x1f0,0x1fd,0x1ff,0x1f9,0x1fb,0x1ce,0x1cc,0x1ca,0x1c8,0x1c5,0x1c7,0x1c1,0x1c3,0x1df,0x1dd,0x1db,0x1d9,0x1d4,0x1d6,0x1d0,0x1d2,
0x0,0x28c,0x480,0x60c,0xbe4,0x968,0xf64,0xde8,0x118f,0x1303,0x150f,0x1783,0x1a6b,0x18e7,0x1eeb,0x1c67,0x2921,0x2bad,0x2da1,0x2f2d,0x22c5,0x2049,0x2645,0x24c9,0x38ae,0x3a22,0x3c2e,0x3ea2,0x334a,0x31c6,0x37ca,0x3546,0x4959,0x4bd5,0x4dd9,0x4f55,0x42bd,0x4031,0x463d,0x44b1,0x58d6,0x5a5a,0x5c56,0x5eda,0x5332,0x51be,0x57b2,0x553e,0x6078,0x62f4,0x64f8,0x6674,0x6b9c,0x6910,0x6f1c,0x6d90,0x71f7,0x737b,0x7577,0x77fb,0x7a13,0x789f,0x7e93,0x7c1f,0xbf18,0xbd94,0xbb98,0xb914,0xb4fc,0xb670,0xb07c,0xb2f0,0xae97,0xac1b,0xaa17,0xa89b,0xa573,0xa7ff,0xa1f3,0xa37f,0x9639,0x94b5,0x92b9,0x9035,0x9ddd,0x9f51,0x995d,0x9bd1,0x87b6,0x853a,0x8336,0x81ba,0x8c52,0x8ede,0x88d2,0x8a5e,0xf641,0xf4cd,0xf2c1,0xf04d,0xfda5,0xff29,0xf925,0xfba9,0xe7ce,0xe542,0xe34e,0xe1c2,0xec2a,0xeea6,0xe8aa,0xea26,0xdf60,0xddec,0xdbe0,0xd96c,0xd484,0xd608,0xd004,0xd288,0xceef,0xcc63,0xca6f,0xc8e3,0xc50b,0xc787,0xc18b,0xc307,0x1111d,0x11391,0x1159d,0x11711,0x11af9,0x11875,0x11e79,0x11cf5,0x10092,0x1021e,0x10412,0x1069e,0x10b76,0x109fa,0x10ff6,0x10d7a,0x1383c,0x13ab0,0x13cbc,0x13e30,0x133d8,0x13154,0x13758,0x135d4,0x129b3,0x12b3f,0x12d33,0x12fbf,0x12257,0x120db,0x126d7,0x1245b,0x15844,0x15ac8,0x15cc4,0x15e48,0x153a0,0x1512c,0x15720,0x155ac,0x149cb,0x14b47,0x14d4b,0x14fc7,0x1422f,0x140a3,0x146af,0x14423,0x17165,0x173e9,0x175e5,0x17769,0x17a81,0x1780d,0x17e01,0x17c8d,0x160ea,0x16266,0x1646a,0x166e6,0x16b0e,0x16982,0x16f8e,0x16d02,0x1ae05,0x1ac89,0x1aa85,0x1a809,0x1a5e1,0x1a76d,0x1a161,0x1a3ed,0x1bf8a,0x1bd06,0x1bb0a,0x1b986,0x1b46e,0x1b6e2,0x1b0ee,0x1b262,0x18724,0x185a8,0x183a4,0x18128,0x18cc0,0x18e4c,0x18840,0x18acc,0x196ab,0x19427,0x1922b,0x190a7,0x19d4f,0x19fc3,0x199cf,0x19b43,0x1e75c,0x1e5d0,0x1e3dc,0x1e150,0x1ecb8,0x1ee34,0x1e838,0x1eab4,0x1f6d3,0x1f45f,0x1f253,0x1f0df,0x1fd37,0x1ffbb,0x1f9b7,0x1fb3b,0x1ce7d,0x1ccf1,0x1cafd,0x1c871,0x1c599,0x1c715,0x1c119,0x1c395,0x1dff2,0x1dd7e,0x1db72,0x1d9fe,0x1d416,0x1d69a,0x1d096,0x1d21a,
0x0,0x28c5d,0x48039,0x60c64,0xbe491,0x968cc,0xf64a8,0xde8f5,0x118f69,0x130334,0x150f50,0x17830d,0x1a6bf8,0x18e7a5,0x1eebc1,0x1c679c,0x29308d,0x2bbcd0,0x2db0b4,0x2f3ce9,0x22d41c,0x205841,0x265425,0x24d878,0x38bfe4,0x3a33b9,0x3c3fdd,0x3eb380,0x335b75,0x31d728,0x37db4c,0x355711,0x49433e,0x4bcf63,0x4dc307,0x4f4f5a,0x42a7af,0x402bf2,0x462796,0x44abcb,0x58cc57,0x5a400a,0x5c4c6e,0x5ec033,0x5328c6,0x51a49b,0x57a8ff,0x5524a2,0x6073b3,0x62ffee,0x64f38a,0x667fd7,0x6b9722,0x691b7f,0x6f171b,0x6d9b46,0x71fcda,0x737087,0x757ce3,0x77f0be,0x7a184b,0x789416,0x7e9872,0x7c142f,0xbf0fb6,0xbd83eb,0xbb8f8f,0xb903d2,0xb4eb27,0xb6677a,0xb06b1e,0xb2e743,0xae80df,0xac0c82,0xaa00e6,0xa88cbb,0xa5644e,0xa7e813,0xa1e477,0xa3682a,0x963f3b,0x94b366,0x92bf02,0x90335f,0x9ddbaa,0x9f57f7,0x995b93,0x9bd7ce,0x87b052,0x853c0f,0x83306b,0x81bc36,0x8c54c3,0x8ed89e,0x88d4fa,0x8a58a7,0xf64c88,0xf4c0d5,0xf2ccb1,0xf040ec,0xfda819,0xff2444,0xf92820,0xfba47d,0xe7c3e1,0xe54fbc,0xe343d8,0xe1cf85,0xec2770,0xeeab2d,0xe8a749,0xea2b14,0xdf7c05,0xddf058,0xdbfc3c,0xd97061,0xd49894,0xd614c9,0xd018ad,0xd294f0,0xcef36c,0xcc7f31,0xca7355,0xc8ff08,0xc517fd,0xc79ba0,0xc197c4,0xc31b99,0x11185ba,0x11309e7,0x1150583,0x11789de,0x11a612b,0x118ed76,0x11ee112,0x11c6d4f,0x1000ad3,0x102868e,0x1048aea,0x10606b7,0x10bee42,0x109621f,0x10f6e7b,0x10de226,0x138b537,0x13a396a,0x13c350e,0x13eb953,0x13351a6,0x131ddfb,0x137d19f,0x1355dc2,0x1293a5e,0x12bb603,0x12dba67,0x12f363a,0x122decf,0x1205292,0x1265ef6,0x124d2ab,0x158c684,0x15a4ad9,0x15c46bd,0x15ecae0,0x1532215,0x151ae48,0x157a22c,0x1552e71,0x14949ed,0x14bc5b0,0x14dc9d4,0x14f4589,0x142ad7c,0x1402121,0x1462d45,0x144a118,0x171f609,0x1737a54,0x1757630,0x177fa6d,0x17a1298,0x1789ec5,0x17e92a1,0x17c1efc,0x1607960,0x162f53d,0x164f959,0x1667504,0x16b9df1,0x16911ac,0x16f1dc8,0x16d9195,0x1ae8a0c,0x1ac0651,0x1aa0a35,0x1a88668,0x1a56e9d,0x1a7e2c0,0x1a1eea4,0x1a362f9,0x1bf0565,0x1bd8938,0x1bb855c,0x1b90901,0x1b4e1f4,0x1b66da9,0x1b061cd,0x1b2ed90,0x187ba81,0x18536dc,0x1833ab8,0x181b6e5,0x18c5e10,0x18ed24d,0x188de29,0x18a5274,0x19635e8,0x194b9b5,0x192b5d1,0x190398c,0x19dd179,0x19f5d24,0x1995140,0x19bdd1d,0x1e7c932,0x1e5456f,0x1e3490b,0x1e1c556,0x1ec2da3,0x1eea1fe,0x1e8ad9a,0x1ea21c7,0x1f6465b,0x1f4ca06,0x1f2c662,0x1f04a3f,0x1fda2ca,0x1ff2e97,0x1f922f3,0x1fbaeae,0x1cef9bf,0x1cc75e2,0x1ca7986,0x1c8f5db,0x1c51d2e,0x1c79173,0x1c19d17,0x1c3114a,0x1df76d6,0x1ddfa8b,0x1dbf6ef,0x1d97ab2,0x1d49247,0x1d61e1a,0x1d0127e,0x1d29e23,
0x0,0x28c8d34,0x48093d4,0x60c1ee0,0xbe41762,0x9689a56,0xf6484b6,0xde80982,0x118f7d32,0x1303f006,0x150feee6,0x178363d2,0x1a6b6a50,0x18e7e764,0x1eebf984,0x1c6774b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x11,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x22,0x20,0x26,0x24,0x2a,0x28,0x2e,0x2c,0x33,0x31,0x37,0x35,0x3b,0x39,0x3f,0x3d,0x44,0x46,0x40,0x42,0x4c,0x4e,0x48,0x4a,0x55,0x57,0x51,0x53,0x5d,0x5f,0x59,0x5b,0x66,0x64,0x62,0x60,0x6e,0x6c,0x6a,0x68,0x77,0x75,0x73,0x71,0x7f,0x7d,0x7b,0x79,0x88,0x8a,0x8c,0x8e,0x80,0x82,0x84,0x86,0x99,0x9b,0x9d,0x9f,0x91,0x93,0x95,0x97,0xaa,0xa8,0xae,0xac,0xa2,0xa0,0xa6,0xa4,0xbb,0xb9,0xbf,0xbd,0xb3,0xb1,0xb7,0xb5,0xcc,0xce,0xc8,0xca,0xc4,0xc6,0xc0,0xc2,0xdd,0xdf,0xd9,0xdb,0xd5,0xd7,0xd1,0xd3,0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xff,0xfd,0xfb,0xf9,0xf7,0xf5,0xf3,0xf1,0x119,0x11b,0x11d,0x11f,0x111,0x113,0x115,0x117,0x108,0x10a,0x10c,0x10e,0x100,0x102,0x104,0x106,0x13b,0x139,0x13f,0x13d,0x133,0x131,0x137,0x135,0x12a,0x128,0x12e,0x12c,0x122,0x120,0x126,0x124,0x15d,0x15f,0x159,0x15b,0x155,0x157,0x151,0x153,0x14c,0x14e,0x148,0x14a,0x144,0x146,0x140,0x142,0x17f,0x17d,0x17b,0x179,0x177,0x175,0x173,0x171,0x16e,0x16c,0x16a,0x168,0x166,0x164,0x162,0x160,0x191,0x193,0x195,0x197,0x199,0x19b,0x19d,0x19f,0x180,0x182,0x184,0x186,0x188,0x18a,0x18c,0x18e,0x1b3,0x1b1,0x1b7,0x1b5,0x1bb,0x1b9,0x1bf,0x1bd,0x1a2,0x1a0,0x1a6,0x1a4,0x1aa,0x1a8,0x1ae,0x1ac,0x1d5,0x1d7,0x1d1,0x1d3,0x1dd,0x1df,0x1d9,0x1db,0x1c4,0x1c6,0x1c0,0x1c2,0x1cc,0x1ce,0x1c8,0x1ca,0x1f7,0x1f5,0x1f3,0x1f1,0x1ff,0x1fd,0x1fb,0x1f9,0x1e6,0x1e4,0x1e2,0x1e0,0x1ee,0x1ec,0x1ea,0x1e8,
0x0,0x22e,0x44f,0x661,0x885,0xaab,0xcca,0xee4,0x118f,0x13a1,0x15c0,0x17ee,0x190a,0x1b24,0x1d45,0x1f6b,0x22c5,0x20eb,0x268a,0x24a4,0x2a40,0x286e,0x2e0f,0x2c21,0x334a,0x3164,0x3705,0x352b,0x3bcf,0x39e1,0x3f80,0x3dae,0x44b1,0x469f,0x40fe,0x42d0,0x4c34,0x4e1a,0x487b,0x4a55,0x553e,0x5710,0x5171,0x535f,0x5dbb,0x5f95,0x59f4,0x5bda,0x6674,0x645a,0x623b,0x6015,0x6ef1,0x6cdf,0x6abe,0x6890,0x77fb,0x75d5,0x73b4,0x719a,0x7f7e,0x7d50,0x7b31,0x791f,0x88d2,0x8afc,0x8c9d,0x8eb3,0x8057,0x8279,0x8418,0x8636,0x995d,0x9b73,0x9d12,0x9f3c,0x91d8,0x93f6,0x9597,0x97b9,0xaa17,0xa839,0xae58,0xac76,0xa292,0xa0bc,0xa6dd,0xa4f3,0xbb98,0xb9b6,0xbfd7,0xbdf9,0xb31d,0xb133,0xb752,0xb57c,0xcc63,0xce4d,0xc82c,0xca02,0xc4e6,0xc6c8,0xc0a9,0xc287,0xddec,0xdfc2,0xd9a3,0xdb8d,0xd569,0xd747,0xd126,0xd308,0xeea6,0xec88,0xeae9,0xe8c7,0xe623,0xe40d,0xe26c,0xe042,0xff29,0xfd07,0xfb66,0xf948,0xf7ac,0xf582,0xf3e3,0xf1cd,0x119f2,0x11bdc,0x11dbd,0x11f93,0x11177,0x11359,0x11538,0x11716,0x1087d,0x10a53,0x10c32,0x10e1c,0x100f8,0x102d6,0x104b7,0x10699,0x13b37,0x13919,0x13f78,0x13d56,0x133b2,0x1319c,0x137fd,0x135d3,0x12ab8,0x12896,0x12ef7,0x12cd9,0x1223d,0x12013,0x12672,0x1245c,0x15d43,0x15f6d,0x1590c,0x15b22,0x155c6,0x157e8,0x15189,0x153a7,0x14ccc,0x14ee2,0x14883,0x14aad,0x14449,0x14667,0x14006,0x14228,0x17f86,0x17da8,0x17bc9,0x179e7,0x17703,0x1752d,0x1734c,0x17162,0x16e09,0x16c27,0x16a46,0x16868,0x1668c,0x164a2,0x162c3,0x160ed,0x19120,0x1930e,0x1956f,0x19741,0x199a5,0x19b8b,0x19dea,0x19fc4,0x180af,0x18281,0x184e0,0x186ce,0x1882a,0x18a04,0x18c65,0x18e4b,0x1b3e5,0x1b1cb,0x1b7aa,0x1b584,0x1bb60,0x1b94e,0x1bf2f,0x1bd01,0x1a26a,0x1a044,0x1a625,0x1a40b,0x1aaef,0x1a8c1,0x1aea0,0x1ac8e,0x1d591,0x1d7bf,0x1d1de,0x1d3f0,0x1dd14,0x1df3a,0x1d95b,0x1db75,0x1c41e,0x1c630,0x1c051,0x1c27f,0x1cc9b,0x1ceb5,0x1c8d4,0x1cafa,0x1f754,0x1f57a,0x1f31b,0x1f135,0x1ffd1,0x1fdff,0x1fb9e,0x1f9b0,0x1e6db,0x1e4f5,0x1e294,0x1e0ba,0x1ee5e,0x1ec70,0x1ea11,0x1e83f,
0x0,0x22e53,0x44f18,0x6614b,0x8852c,0xaab7f,0xcca34,0xee467,0x1187ff,0x13a9ac,0x15c8e7,0x17e6b4,0x1902d3,0x1b2c80,0x1d4dcb,0x1f6398,0x22c955,0x20e706,0x26864d,0x24a81e,0x2a4c79,0x28622a,0x2e0361,0x2c2d32,0x334eaa,0x3160f9,0x3701b2,0x352fe1,0x3bcb86,0x39e5d5,0x3f849e,0x3daacd,0x44ba11,0x469442,0x40f509,0x42db5a,0x4c3f3d,0x4e116e,0x487025,0x4a5e76,0x553dee,0x5713bd,0x5172f6,0x535ca5,0x5db8c2,0x5f9691,0x59f7da,0x5bd989,0x667344,0x645d17,0x623c5c,0x60120f,0x6ef668,0x6cd83b,0x6ab970,0x689723,0x77f4bb,0x75dae8,0x73bba3,0x7195f0,0x7f7197,0x7d5fc4,0x7b3e8f,0x7910dc,0x88df22,0x8af171,0x8c903a,0x8ebe69,0x805a0e,0x82745d,0x841516,0x863b45,0x9958dd,0x9b768e,0x9d17c5,0x9f3996,0x91ddf1,0x93f3a2,0x9592e9,0x97bcba,0xaa1677,0xa83824,0xae596f,0xac773c,0xa2935b,0xa0bd08,0xa6dc43,0xa4f210,0xbb9188,0xb9bfdb,0xbfde90,0xbdf0c3,0xb314a4,0xb13af7,0xb75bbc,0xb575ef,0xcc6533,0xce4b60,0xc82a2b,0xca0478,0xc4e01f,0xc6ce4c,0xc0af07,0xc28154,0xdde2cc,0xdfcc9f,0xd9add4,0xdb8387,0xd567e0,0xd749b3,0xd128f8,0xd306ab,0xeeac66,0xec8235,0xeae37e,0xe8cd2d,0xe6294a,0xe40719,0xe26652,0xe04801,0xff2b99,0xfd05ca,0xfb6481,0xf94ad2,0xf7aeb5,0xf580e6,0xf3e1ad,0xf1cffe,0x1197afd,0x11b54ae,0x11d35e5,0x11f1bb6,0x111ffd1,0x113d182,0x115b0c9,0x1179e9a,0x108fd02,0x10ad351,0x10cb21a,0x10e9c49,0x100782e,0x102567d,0x1043736,0x1061965,0x13bb3a8,0x1399dfb,0x13ffcb0,0x13dd2e3,0x1333684,0x13118d7,0x137799c,0x13557cf,0x12a3457,0x1281a04,0x12e7b4f,0x12c551c,0x122b17b,0x1209f28,0x126fe63,0x124d030,0x15dc0ec,0x15feebf,0x1598ff4,0x15ba1a7,0x15545c0,0x1576b93,0x1510ad8,0x153248b,0x14c4713,0x14e6940,0x148080b,0x14a2658,0x144c23f,0x146ec6c,0x1408d27,0x142a374,0x17f09b9,0x17d27ea,0x17b46a1,0x17968f2,0x1778c95,0x175a2c6,0x173c38d,0x171edde,0x16e8e46,0x16ca015,0x16ac15e,0x168ef0d,0x1660b6a,0x1642539,0x1624472,0x1606a21,0x191a5df,0x1938b8c,0x195eac7,0x197c494,0x19920f3,0x19b0ea0,0x19d6feb,0x19f41b8,0x1802220,0x1820c73,0x1846d38,0x186436b,0x188a70c,0x18a895f,0x18ce814,0x18ec647,0x1b36c8a,0x1b142d9,0x1b72392,0x1b50dc1,0x1bbe9a6,0x1b9c7f5,0x1bfa6be,0x1bd88ed,0x1a2eb75,0x1a0c526,0x1a6a46d,0x1a48a3e,0x1aa6e59,0x1a8400a,0x1ae2141,0x1ac0f12,0x1d51fce,0x1d7319d,0x1d150d6,0x1d37e85,0x1dd9ae2,0x1dfb4b1,0x1d9d5fa,0x1dbfba9,0x1c49831,0x1c6b662,0x1c0d729,0x1c2f97a,0x1cc1d1d,0x1ce334e,0x1c85205,0x1ca7c56,0x1f7d69b,0x1f5f8c8,0x1f39983,0x1f1b7d0,0x1ff53b7,0x1fd7de4,0x1fb1caf,0x1f932fc,0x1e65164,0x1e47f37,0x1e21e7c,0x1e0302f,0x1eed448,0x1ecfa1b,0x1ea9b50,0x1e8b503,
0x0,0x22e9f56,0x44fa319,0x6613c4f,0x885f12e,0xaab6e78,0xcca5237,0xee4cd61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x15,0x17,0x10,0x12,0x1d,0x1f,0x18,0x1a,0x25,0x27,0x20,0x22,0x2d,0x2f,0x28,0x2a,0x30,0x32,0x35,0x37,0x38,0x3a,0x3d,0x3f,0x5b,0x59,0x5e,0x5c,0x53,0x51,0x56,0x54,0x4e,0x4c,0x4b,0x49,0x46,0x44,0x43,0x41,0x7e,0x7c,0x7b,0x79,0x76,0x74,0x73,0x71,0x6b,0x69,0x6e,0x6c,0x63,0x61,0x66,0x64,0x8d,0x8f,0x88,0x8a,0x85,0x87,0x80,0x82,0x98,0x9a,0x9d,0x9f,0x90,0x92,0x95,0x97,0xa8,0xaa,0xad,0xaf,0xa0,0xa2,0xa5,0xa7,0xbd,0xbf,0xb8,0xba,0xb5,0xb7,0xb0,0xb2,0xd6,0xd4,0xd3,0xd1,0xde,0xdc,0xdb,0xd9,0xc3,0xc1,0xc6,0xc4,0xcb,0xc9,0xce,0xcc,0xf3,0xf1,0xf6,0xf4,0xfb,0xf9,0xfe,0xfc,0xe6,0xe4,0xe3,0xe1,0xee,0xec,0xeb,0xe9,0x152,0x150,0x157,0x155,0x15a,0x158,0x15f,0x15d,0x147,0x145,0x142,0x140,0x14f,0x14d,0x14a,0x148,0x177,0x175,0x172,0x170,0x17f,0x17d,0x17a,0x178,0x162,0x160,0x167,0x165,0x16a,0x168,0x16f,0x16d,0x109,0x10b,0x10c,0x10e,0x101,0x103,0x104,0x106,0x11c,0x11e,0x119,0x11b,0x114,0x116,0x111,0x113,0x12c,0x12e,0x129,0x12b,0x124,0x126,0x121,0x123,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x1df,0x1dd,0x1da,0x1d8,0x1d7,0x1d5,0x1d2,0x1d0,0x1ca,0x1c8,0x1cf,0x1cd,0x1c2,0x1c0,0x1c7,0x1c5,0x1fa,0x1f8,0x1ff,0x1fd,0x1f2,0x1f0,0x1f7,0x1f5,0x1ef,0x1ed,0x1ea,0x1e8,0x1e7,0x1e5,0x1e2,0x1e0,0x184,0x186,0x181,0x183,0x18c,0x18e,0x189,0x18b,0x191,0x193,0x194,0x196,0x199,0x19b,0x19c,0x19e,0x1a1,0x1a3,0x1a4,0x1a6,0x1a9,0x1ab,0x1ac,0x1ae,0x1b4,0x1b6,0x1b1,0x1b3,0x1bc,0x1be,0x1b9,0x1bb,
0x0,0x251,0x5bc,0x7ed,0x885,0xad4,0xd39,0xf68,0x15c0,0x1791,0x107c,0x122d,0x1d45,0x1f14,0x18f9,0x1aa8,0x25bd,0x27ec,0x2001,0x2250,0x2d38,0x2f69,0x2884,0x2ad5,0x307d,0x322c,0x35c1,0x3790,0x38f8,0x3aa9,0x3d44,0x3f15,0x5bda,0x598b,0x5e66,0x5c37,0x535f,0x510e,0x56e3,0x54b2,0x4e1a,0x4c4b,0x4ba6,0x49f7,0x469f,0x44ce,0x4323,0x4172,0x7e67,0x7c36,0x7bdb,0x798a,0x76e2,0x74b3,0x735e,0x710f,0x6ba7,0x69f6,0x6e1b,0x6c4a,0x6322,0x6173,0x669e,0x64cf,0x8d59,0x8f08,0x88e5,0x8ab4,0x85dc,0x878d,0x8060,0x8231,0x9899,0x9ac8,0x9d25,0x9f74,0x901c,0x924d,0x95a0,0x97f1,0xa8e4,0xaab5,0xad58,0xaf09,0xa061,0xa230,0xa5dd,0xa78c,0xbd24,0xbf75,0xb898,0xbac9,0xb5a1,0xb7f0,0xb01d,0xb24c,0xd683,0xd4d2,0xd33f,0xd16e,0xde06,0xdc57,0xdbba,0xd9eb,0xc343,0xc112,0xc6ff,0xc4ae,0xcbc6,0xc997,0xce7a,0xcc2b,0xf33e,0xf16f,0xf682,0xf4d3,0xfbbb,0xf9ea,0xfe07,0xfc56,0xe6fe,0xe4af,0xe342,0xe113,0xee7b,0xec2a,0xebc7,0xe996,0x15205,0x15054,0x157b9,0x155e8,0x15a80,0x158d1,0x15f3c,0x15d6d,0x147c5,0x14594,0x14279,0x14028,0x14f40,0x14d11,0x14afc,0x148ad,0x177b8,0x175e9,0x17204,0x17055,0x17f3d,0x17d6c,0x17a81,0x178d0,0x16278,0x16029,0x167c4,0x16595,0x16afd,0x168ac,0x16f41,0x16d10,0x109df,0x10b8e,0x10c63,0x10e32,0x1015a,0x1030b,0x104e6,0x106b7,0x11c1f,0x11e4e,0x119a3,0x11bf2,0x1149a,0x116cb,0x11126,0x11377,0x12c62,0x12e33,0x129de,0x12b8f,0x124e7,0x126b6,0x1215b,0x1230a,0x139a2,0x13bf3,0x13c1e,0x13e4f,0x13127,0x13376,0x1349b,0x136ca,0x1df5c,0x1dd0d,0x1dae0,0x1d8b1,0x1d7d9,0x1d588,0x1d265,0x1d034,0x1ca9c,0x1c8cd,0x1cf20,0x1cd71,0x1c219,0x1c048,0x1c7a5,0x1c5f4,0x1fae1,0x1f8b0,0x1ff5d,0x1fd0c,0x1f264,0x1f035,0x1f7d8,0x1f589,0x1ef21,0x1ed70,0x1ea9d,0x1e8cc,0x1e7a4,0x1e5f5,0x1e218,0x1e049,0x18486,0x186d7,0x1813a,0x1836b,0x18c03,0x18e52,0x189bf,0x18bee,0x19146,0x19317,0x194fa,0x196ab,0x199c3,0x19b92,0x19c7f,0x19e2e,0x1a13b,0x1a36a,0x1a487,0x1a6d6,0x1a9be,0x1abef,0x1ac02,0x1ae53,0x1b4fb,0x1b6aa,0x1b147,0x1b316,0x1bc7e,0x1be2f,0x1b9c2,0x1bb93,
0x0,0x251d2,0x5bca9,0x7ed7b,0x88099,0xad14b,0xd3c30,0xf6de2,0x15c788,0x17965a,0x107b21,0x122af3,0x1d4711,0x1f16c3,0x18fbb8,0x1aaa6a,0x25b944,0x27e896,0x2005ed,0x22543f,0x2d39dd,0x2f680f,0x288574,0x2ad4a6,0x307ecc,0x322f1e,0x35c265,0x3793b7,0x38fe55,0x3aaf87,0x3d42fc,0x3f132e,0x5bdddd,0x598c0f,0x5e6174,0x5c30a6,0x535d44,0x510c96,0x56e1ed,0x54b03f,0x4e1a55,0x4c4b87,0x4ba6fc,0x49f72e,0x469acc,0x44cb1e,0x432665,0x4177b7,0x7e6499,0x7c354b,0x7bd830,0x7989e2,0x76e400,0x74b5d2,0x7358a9,0x71097b,0x6ba311,0x69f2c3,0x6e1fb8,0x6c4e6a,0x632388,0x61725a,0x669f21,0x64cef3,0x8d5c35,0x8f0de7,0x88e09c,0x8ab14e,0x85dcac,0x878d7e,0x806005,0x8231d7,0x989bbd,0x9aca6f,0x9d2714,0x9f76c6,0x901b24,0x924af6,0x95a78d,0x97f65f,0xa8e571,0xaab4a3,0xad59d8,0xaf080a,0xa065e8,0xa2343a,0xa5d941,0xa78893,0xbd22f9,0xbf732b,0xb89e50,0xbacf82,0xb5a260,0xb7f3b2,0xb01ec9,0xb24f1b,0xd681e8,0xd4d03a,0xd33d41,0xd16c93,0xde0171,0xdc50a3,0xdbbdd8,0xd9ec0a,0xc34660,0xc117b2,0xc6fac9,0xc4ab1b,0xcbc6f9,0xc9972b,0xce7a50,0xcc2b82,0xf338ac,0xf1697e,0xf68405,0xf4d5d7,0xfbb835,0xf9e9e7,0xfe049c,0xfc554e,0xe6ff24,0xe4aef6,0xe3438d,0xe1125f,0xee7fbd,0xec2e6f,0xebc314,0xe992c6,0x15282d2,0x150d300,0x1573e7b,0x1556fa9,0x15a024b,0x1585399,0x15fbee2,0x15def30,0x147455a,0x1451488,0x142f9f3,0x140a821,0x14fc5c3,0x14d9411,0x14a796a,0x14828b8,0x1773b96,0x1756a44,0x172873f,0x170d6ed,0x17fbb0f,0x17deadd,0x17a07a6,0x1785674,0x162fc1e,0x160adcc,0x16740b7,0x1651165,0x16a7c87,0x1682d55,0x16fc02e,0x16d91fc,0x1095f0f,0x10b0edd,0x10ce3a6,0x10eb274,0x101df96,0x1038e44,0x104633f,0x10632ed,0x11c9887,0x11ec955,0x119242e,0x11b75fc,0x114181e,0x11649cc,0x111a4b7,0x113f565,0x12ce64b,0x12eb799,0x1295ae2,0x12b0b30,0x12466d2,0x1263700,0x121da7b,0x1238ba9,0x13921c3,0x13b7011,0x13c9d6a,0x13eccb8,0x131a15a,0x133f088,0x1341df3,0x1364c21,0x1dfdee7,0x1dd8f35,0x1da624e,0x1d8339c,0x1d75e7e,0x1d50fac,0x1d2e2d7,0x1d0b305,0x1ca196f,0x1c848bd,0x1cfa5c6,0x1cdf414,0x1c299f6,0x1c0c824,0x1c7255f,0x1c5748d,0x1fa67a3,0x1f83671,0x1ffdb0a,0x1fd8ad8,0x1f2e73a,0x1f0b6e8,0x1f75b93,0x1f50a41,0x1efa02b,0x1edf1f9,0x1ea1c82,0x1e84d50,0x1e720b2,0x1e57160,0x1e29c1b,0x1e0cdc9,0x184033a,0x18652e8,0x181bf93,0x183ee41,0x18c83a3,0x18ed271,0x1893f0a,0x18b6ed8,0x191c4b2,0x1939560,0x194781b,0x19629c9,0x199442b,0x19b15f9,0x19cf882,0x19ea950,0x1a1ba7e,0x1a3ebac,0x1a406d7,0x1a65705,0x1a93ae7,0x1ab6b35,0x1ac864e,0x1aed79c,0x1b47df6,0x1b62c24,0x1b1c15f,0x1b3908d,0x1bcfd6f,0x1beacbd,0x1b941c6,0x1bb1014,
0x0,0x251168e,0x5bc9e50,0x7ed88de,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x16,0x14,0x13,0x11,0x1c,0x1e,0x19,0x1b,0x2b,0x29,0x2e,0x2c,0x21,0x23,0x24,0x26,0x3d,0x3f,0x38,0x3a,0x37,0x35,0x32,0x30,0x59,0x5b,0x5c,0x5e,0x53,0x51,0x56,0x54,0x4f,0x4d,0x4a,0x48,0x45,0x47,0x40,0x42,0x72,0x70,0x77,0x75,0x78,0x7a,0x7d,0x7f,0x64,0x66,0x61,0x63,0x6e,0x6c,0x6b,0x69,0xae,0xac,0xab,0xa9,0xa4,0xa6,0xa1,0xa3,0xb8,0xba,0xbd,0xbf,0xb2,0xb0,0xb7,0xb5,0x85,0x87,0x80,0x82,0x8f,0x8d,0x8a,0x88,0x93,0x91,0x96,0x94,0x99,0x9b,0x9c,0x9e,0xf7,0xf5,0xf2,0xf0,0xfd,0xff,0xf8,0xfa,0xe1,0xe3,0xe4,0xe6,0xeb,0xe9,0xee,0xec,0xdc,0xde,0xd9,0xdb,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc0,0xc2,0xc5,0xc7,0x16f,0x16d,0x16a,0x168,0x165,0x167,0x160,0x162,0x179,0x17b,0x17c,0x17e,0x173,0x171,0x176,0x174,0x144,0x146,0x141,0x143,0x14e,0x14c,0x14b,0x149,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x136,0x134,0x133,0x131,0x13c,0x13e,0x139,0x13b,0x120,0x122,0x125,0x127,0x12a,0x128,0x12f,0x12d,0x11d,0x11f,0x118,0x11a,0x117,0x115,0x112,0x110,0x10b,0x109,0x10e,0x10c,0x101,0x103,0x104,0x106,0x1c1,0x1c3,0x1c4,0x1c6,0x1cb,0x1c9,0x1ce,0x1cc,0x1d7,0x1d5,0x1d2,0x1d0,0x1dd,0x1df,0x1d8,0x1da,0x1ea,0x1e8,0x1ef,0x1ed,0x1e0,0x1e2,0x1e5,0x1e7,0x1fc,0x1fe,0x1f9,0x1fb,0x1f6,0x1f4,0x1f3,0x1f1,0x198,0x19a,0x19d,0x19f,0x192,0x190,0x197,0x195,0x18e,0x18c,0x18b,0x189,0x184,0x186,0x181,0x183,0x1b3,0x1b1,0x1b6,0x1b4,0x1b9,0x1bb,0x1bc,0x1be,0x1a5,0x1a7,0x1a0,0x1a2,0x1af,0x1ad,0x1aa,0x1a8,
0x0,0x2b5,0x5bc,0x709,0xad4,0x861,0xf68,0xddd,0x164e,0x14fb,0x13f2,0x1147,0x1c9a,0x1e2f,0x1926,0x1b93,0x2b87,0x2932,0x2e3b,0x2c8e,0x2153,0x23e6,0x24ef,0x265a,0x3dc9,0x3f7c,0x3875,0x3ac0,0x371d,0x35a8,0x32a1,0x3014,0x5970,0x5bc5,0x5ccc,0x5e79,0x53a4,0x5111,0x5618,0x54ad,0x4f3e,0x4d8b,0x4a82,0x4837,0x45ea,0x475f,0x4056,0x42e3,0x72f7,0x7042,0x774b,0x75fe,0x7823,0x7a96,0x7d9f,0x7f2a,0x64b9,0x660c,0x6105,0x63b0,0x6e6d,0x6cd8,0x6bd1,0x6964,0xae90,0xac25,0xab2c,0xa999,0xa444,0xa6f1,0xa1f8,0xa34d,0xb8de,0xba6b,0xbd62,0xbfd7,0xb20a,0xb0bf,0xb7b6,0xb503,0x8517,0x87a2,0x80ab,0x821e,0x8fc3,0x8d76,0x8a7f,0x88ca,0x9359,0x91ec,0x96e5,0x9450,0x998d,0x9b38,0x9c31,0x9e84,0xf7e0,0xf555,0xf25c,0xf0e9,0xfd34,0xff81,0xf888,0xfa3d,0xe1ae,0xe31b,0xe412,0xe6a7,0xeb7a,0xe9cf,0xeec6,0xec73,0xdc67,0xded2,0xd9db,0xdb6e,0xd6b3,0xd406,0xd30f,0xd1ba,0xca29,0xc89c,0xcf95,0xcd20,0xc0fd,0xc248,0xc541,0xc7f4,0x16f22,0x16d97,0x16a9e,0x1682b,0x165f6,0x16743,0x1604a,0x162ff,0x1796c,0x17bd9,0x17cd0,0x17e65,0x173b8,0x1710d,0x17604,0x174b1,0x144a5,0x14610,0x14119,0x143ac,0x14e71,0x14cc4,0x14bcd,0x14978,0x152eb,0x1505e,0x15757,0x155e2,0x1583f,0x15a8a,0x15d83,0x15f36,0x13652,0x134e7,0x133ee,0x1315b,0x13c86,0x13e33,0x1393a,0x13b8f,0x1201c,0x122a9,0x125a0,0x12715,0x12ac8,0x1287d,0x12f74,0x12dc1,0x11dd5,0x11f60,0x11869,0x11adc,0x11701,0x115b4,0x112bd,0x11008,0x10b9b,0x1092e,0x10e27,0x10c92,0x1014f,0x103fa,0x104f3,0x10646,0x1c1b2,0x1c307,0x1c40e,0x1c6bb,0x1cb66,0x1c9d3,0x1ceda,0x1cc6f,0x1d7fc,0x1d549,0x1d240,0x1d0f5,0x1dd28,0x1df9d,0x1d894,0x1da21,0x1ea35,0x1e880,0x1ef89,0x1ed3c,0x1e0e1,0x1e254,0x1e55d,0x1e7e8,0x1fc7b,0x1fece,0x1f9c7,0x1fb72,0x1f6af,0x1f41a,0x1f313,0x1f1a6,0x198c2,0x19a77,0x19d7e,0x19fcb,0x19216,0x190a3,0x197aa,0x1951f,0x18e8c,0x18c39,0x18b30,0x18985,0x18458,0x186ed,0x181e4,0x18351,0x1b345,0x1b1f0,0x1b6f9,0x1b44c,0x1b991,0x1bb24,0x1bc2d,0x1be98,0x1a50b,0x1a7be,0x1a0b7,0x1a202,0x1afdf,0x1ad6a,0x1aa63,0x1a8d6,
0x0,0x2b533,0x5be19,0x70b2a,0xad72e,0x8621d,0xf6937,0xddc04,0x164ca9,0x14f99a,0x13f2b0,0x114783,0x1c9b87,0x1e2eb4,0x19259e,0x1b90ad,0x2b84fe,0x2931cd,0x2e3ae7,0x2c8fd4,0x2153d0,0x23e6e3,0x24edc9,0x2658fa,0x3dc857,0x3f7d64,0x38764e,0x3ac37d,0x371f79,0x35aa4a,0x32a160,0x301453,0x59725c,0x5bc76f,0x5ccc45,0x5e7976,0x53a572,0x511041,0x561b6b,0x54ae58,0x4f3ef5,0x4d8bc6,0x4a80ec,0x4835df,0x45e9db,0x475ce8,0x4057c2,0x42e2f1,0x72f6a2,0x704391,0x7748bb,0x75fd88,0x78218c,0x7a94bf,0x7d9f95,0x7f2aa6,0x64ba0b,0x660f38,0x610412,0x63b121,0x6e6d25,0x6cd816,0x6bd33c,0x69660f,0xae93a4,0xac2697,0xab2dbd,0xa9988e,0xa4448a,0xa6f1b9,0xa1fa93,0xa34fa0,0xb8df0d,0xba6a3e,0xbd6114,0xbfd427,0xb20823,0xb0bd10,0xb7b63a,0xb50309,0x85175a,0x87a269,0x80a943,0x821c70,0x8fc074,0x8d7547,0x8a7e6d,0x88cb5e,0x935bf3,0x91eec0,0x96e5ea,0x9450d9,0x998cdd,0x9b39ee,0x9c32c4,0x9e87f7,0xf7e1f8,0xf554cb,0xf25fe1,0xf0ead2,0xfd36d6,0xff83e5,0xf888cf,0xfa3dfc,0xe1ad51,0xe31862,0xe41348,0xe6a67b,0xeb7a7f,0xe9cf4c,0xeec466,0xec7155,0xdc6506,0xded035,0xd9db1f,0xdb6e2c,0xd6b228,0xd4071b,0xd30c31,0xd1b902,0xca29af,0xc89c9c,0xcf97b6,0xcd2285,0xc0fe81,0xc24bb2,0xc54098,0xc7f5ab,0x16fa08c,0x16d15bf,0x16a1e95,0x168aba6,0x16577a2,0x167c291,0x160c9bb,0x1627c88,0x179ec25,0x17b5916,0x17c523c,0x17ee70f,0x1733b0b,0x1718e38,0x1768512,0x1743021,0x1442472,0x1469141,0x1419a6b,0x1432f58,0x14ef35c,0x14c466f,0x14b4d45,0x149f876,0x15268db,0x150dde8,0x157d6c2,0x15563f1,0x158bff5,0x15a0ac6,0x15d01ec,0x15fb4df,0x136d2d0,0x13467e3,0x1336cc9,0x131d9fa,0x13c05fe,0x13eb0cd,0x139bbe7,0x13b0ed4,0x1209e79,0x1222b4a,0x1252060,0x1279553,0x12a4957,0x128fc64,0x12ff74e,0x12d427d,0x11d562e,0x11fe31d,0x118e837,0x11a5d04,0x1178100,0x1153433,0x1123f19,0x1108a2a,0x10b1a87,0x109afb4,0x10ea49e,0x10c11ad,0x101cda9,0x103789a,0x10473b0,0x106c683,0x1c13328,0x1c3861b,0x1c48d31,0x1c63802,0x1cbe406,0x1c95135,0x1ce5a1f,0x1ccef2c,0x1d77f81,0x1d5cab2,0x1d2c198,0x1d074ab,0x1dda8af,0x1df1d9c,0x1d816b6,0x1daa385,0x1eab7d6,0x1e802e5,0x1ef09cf,0x1edbcfc,0x1e060f8,0x1e2d5cb,0x1e5dee1,0x1e76bd2,0x1fcfb7f,0x1fe4e4c,0x1f94566,0x1fbf055,0x1f62c51,0x1f49962,0x1f39248,0x1f1277b,0x1984174,0x19af447,0x19dff6d,0x19f4a5e,0x192965a,0x1902369,0x1972843,0x1959d70,0x18e0ddd,0x18cb8ee,0x18bb3c4,0x18906f7,0x184daf3,0x1866fc0,0x18164ea,0x183d1d9,0x1b3c58a,0x1b170b9,0x1b67b93,0x1b4cea0,0x1b912a4,0x1bba797,0x1bcacbd,0x1be198e,0x1a58923,0x1a73c10,0x1a0373a,0x1a28209,0x1af5e0d,0x1adeb3e,0x1aae014,0x1a85527,
0x0,0x2b5f0c4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
}};
static unsigned s7_14[8][256*3] __attribute__((aligned(32))) = {
{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x10,0x12,0x14,0x16,0x1b,0x19,0x1f,0x1d,0x2a,0x28,0x2e,0x2c,0x21,0x23,0x25,0x27,0x3a,0x38,0x3e,0x3c,0x31,0x33,0x35,0x37,0x4c,0x4e,0x48,0x4a,0x47,0x45,0x43,0x41,0x5c,0x5e,0x58,0x5a,0x57,0x55,0x53,0x51,0x66,0x64,0x62,0x60,0x6d,0x6f,0x69,0x6b,0x76,0x74,0x72,0x70,0x7d,0x7f,0x79,0x7b,0xb5,0xb7,0xb1,0xb3,0xbe,0xbc,0xba,0xb8,0xa5,0xa7,0xa1,0xa3,0xae,0xac,0xaa,0xa8,0x9f,0x9d,0x9b,0x99,0x94,0x96,0x90,0x92,0x8f,0x8d,0x8b,0x89,0x84,0x86,0x80,0x82,0xf9,0xfb,0xfd,0xff,0xf2,0xf0,0xf6,0xf4,0xe9,0xeb,0xed,0xef,0xe2,0xe0,0xe6,0xe4,0xd3,0xd1,0xd7,0xd5,0xd8,0xda,0xdc,0xde,0xc3,0xc1,0xc7,0xc5,0xc8,0xca,0xcc,0xce,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x110,0x112,0x114,0x116,0x11b,0x119,0x11f,0x11d,0x12a,0x128,0x12e,0x12c,0x121,0x123,0x125,0x127,0x13a,0x138,0x13e,0x13c,0x131,0x133,0x135,0x137,0x14c,0x14e,0x148,0x14a,0x147,0x145,0x143,0x141,0x15c,0x15e,0x158,0x15a,0x157,0x155,0x153,0x151,0x166,0x164,0x162,0x160,0x16d,0x16f,0x169,0x16b,0x176,0x174,0x172,0x170,0x17d,0x17f,0x179,0x17b,0x1b5,0x1b7,0x1b1,0x1b3,0x1be,0x1bc,0x1ba,0x1b8,0x1a5,0x1a7,0x1a1,0x1a3,0x1ae,0x1ac,0x1aa,0x1a8,0x19f,0x19d,0x19b,0x199,0x194,0x196,0x190,0x192,0x18f,0x18d,0x18b,0x189,0x184,0x186,0x180,0x182,0x1f9,0x1fb,0x1fd,0x1ff,0x1f2,0x1f0,0x1f6,0x1f4,0x1e9,0x1eb,0x1ed,0x1ef,0x1e2,0x1e0,0x1e6,0x1e4,0x1d3,0x1d1,0x1d7,0x1d5,0x1d8,0x1da,0x1dc,0x1de,0x1c3,0x1c1,0x1c7,0x1c5,0x1c8,0x1ca,0x1cc,0x1ce,
0x0,0x2b5,0x4d3,0x666,0xb4c,0x9f9,0xf9f,0xd2a,0x1086,0x1233,0x1455,0x16e0,0x1bca,0x197f,0x1f19,0x1dac,0x2a89,0x283c,0x2e5a,0x2cef,0x21c5,0x2370,0x2516,0x27a3,0x3a0f,0x38ba,0x3edc,0x3c69,0x3143,0x33f6,0x3590,0x3725,0x4c37,0x4e82,0x48e4,0x4a51,0x477b,0x45ce,0x43a8,0x411d,0x5cb1,0x5e04,0x5862,0x5ad7,0x57fd,0x5548,0x532e,0x519b,0x66be,0x640b,0x626d,0x60d8,0x6df2,0x6f47,0x6921,0x6b94,0x7638,0x748d,0x72eb,0x705e,0x7d74,0x7fc1,0x79a7,0x7b12,0xb531,0xb784,0xb1e2,0xb357,0xbe7d,0xbcc8,0xbaae,0xb81b,0xa5b7,0xa702,0xa164,0xa3d1,0xaefb,0xac4e,0xaa28,0xa89d,0x9fb8,0x9d0d,0x9b6b,0x99de,0x94f4,0x9641,0x9027,0x9292,0x8f3e,0x8d8b,0x8bed,0x8958,0x8472,0x86c7,0x80a1,0x8214,0xf906,0xfbb3,0xfdd5,0xff60,0xf24a,0xf0ff,0xf699,0xf42c,0xe980,0xeb35,0xed53,0xefe6,0xe2cc,0xe079,0xe61f,0xe4aa,0xd38f,0xd13a,0xd75c,0xd5e9,0xd8c3,0xda76,0xdc10,0xdea5,0xc309,0xc1bc,0xc7da,0xc56f,0xc845,0xcaf0,0xcc96,0xce23,0x10001,0x102b4,0x104d2,0x10667,0x10b4d,0x109f8,0x10f9e,0x10d2b,0x11087,0x11232,0x11454,0x116e1,0x11bcb,0x1197e,0x11f18,0x11dad,0x12a88,0x1283d,0x12e5b,0x12cee,0x121c4,0x12371,0x12517,0x127a2,0x13a0e,0x138bb,0x13edd,0x13c68,0x13142,0x133f7,0x13591,0x13724,0x14c36,0x14e83,0x148e5,0x14a50,0x1477a,0x145cf,0x143a9,0x1411c,0x15cb0,0x15e05,0x15863,0x15ad6,0x157fc,0x15549,0x1532f,0x1519a,0x166bf,0x1640a,0x1626c,0x160d9,0x16df3,0x16f46,0x16920,0x16b95,0x17639,0x1748c,0x172ea,0x1705f,0x17d75,0x17fc0,0x179a6,0x17b13,0x1b530,0x1b785,0x1b1e3,0x1b356,0x1be7c,0x1bcc9,0x1baaf,0x1b81a,0x1a5b6,0x1a703,0x1a165,0x1a3d0,0x1aefa,0x1ac4f,0x1aa29,0x1a89c,0x19fb9,0x19d0c,0x19b6a,0x199df,0x194f5,0x19640,0x19026,0x19293,0x18f3f,0x18d8a,0x18bec,0x18959,0x18473,0x186c6,0x180a0,0x18215,0x1f907,0x1fbb2,0x1fdd4,0x1ff61,0x1f24b,0x1f0fe,0x1f698,0x1f42d,0x1e981,0x1eb34,0x1ed52,0x1efe7,0x1e2cd,0x1e078,0x1e61e,0x1e4ab,0x1d38e,0x1d13b,0x1d75d,0x1d5e8,0x1d8c2,0x1da77,0x1dc11,0x1dea4,0x1c308,0x1c1bd,0x1c7db,0x1c56e,0x1c844,0x1caf1,0x1cc97,0x1ce22,
0x0,0x2b431,0x4d23a,0x6660b,0xb4d50,0x9f961,0xf9f6a,0xd2b5b,0x108759,0x123368,0x145563,0x16e152,0x1bca09,0x197e38,0x1f1833,0x1dac02,0x2a8841,0x283c70,0x2e5a7b,0x2cee4a,0x21c511,0x237120,0x25172b,0x27a31a,0x3a0f18,0x38bb29,0x3edd22,0x3c6913,0x314248,0x33f679,0x359072,0x372443,0x4c369f,0x4e82ae,0x48e4a5,0x4a5094,0x477bcf,0x45cffe,0x43a9f5,0x411dc4,0x5cb1c6,0x5e05f7,0x5863fc,0x5ad7cd,0x57fc96,0x5548a7,0x532eac,0x519a9d,0x66bede,0x640aef,0x626ce4,0x60d8d5,0x6df38e,0x6f47bf,0x6921b4,0x6b9585,0x763987,0x748db6,0x72ebbd,0x705f8c,0x7d74d7,0x7fc0e6,0x79a6ed,0x7b12dc,0xb53036,0xb78407,0xb1e20c,0xb3563d,0xbe7d66,0xbcc957,0xbaaf5c,0xb81b6d,0xa5b76f,0xa7035e,0xa16555,0xa3d164,0xaefa3f,0xac4e0e,0xaa2805,0xa89c34,0x9fb877,0x9d0c46,0x9b6a4d,0x99de7c,0x94f527,0x964116,0x90271d,0x92932c,0x8f3f2e,0x8d8b1f,0x8bed14,0x895925,0x84727e,0x86c64f,0x80a044,0x821475,0xf906a9,0xfbb298,0xfdd493,0xff60a2,0xf24bf9,0xf0ffc8,0xf699c3,0xf42df2,0xe981f0,0xeb35c1,0xed53ca,0xefe7fb,0xe2cca0,0xe07891,0xe61e9a,0xe4aaab,0xd38ee8,0xd13ad9,0xd75cd2,0xd5e8e3,0xd8c3b8,0xda7789,0xdc1182,0xdea5b3,0xc309b1,0xc1bd80,0xc7db8b,0xc56fba,0xc844e1,0xcaf0d0,0xcc96db,0xce22ea,0x10080a1,0x1023490,0x104529b,0x106e6aa,0x10bcdf1,0x10979c0,0x10f1fcb,0x10dabfa,0x11007f8,0x112b3c9,0x114d5c2,0x11661f3,0x11b4aa8,0x119fe99,0x11f9892,0x11d2ca3,0x12a08e0,0x128bcd1,0x12edada,0x12c6eeb,0x12145b0,0x123f181,0x125978a,0x12723bb,0x13a8fb9,0x1383b88,0x13e5d83,0x13ce9b2,0x131c2e9,0x13376d8,0x13510d3,0x137a4e2,0x14cb63e,0x14e020f,0x1486404,0x14ad035,0x147fb6e,0x1454f5f,0x1432954,0x1419d65,0x15c3167,0x15e8556,0x158e35d,0x15a576c,0x1577c37,0x155c806,0x153ae0d,0x1511a3c,0x1663e7f,0x1648a4e,0x162ec45,0x1605874,0x16d732f,0x16fc71e,0x169a115,0x16b1524,0x176b926,0x1740d17,0x1726b1c,0x170df2d,0x17df476,0x17f4047,0x179264c,0x17b927d,0x1b5b097,0x1b704a6,0x1b162ad,0x1b3d69c,0x1befdc7,0x1bc49f6,0x1ba2ffd,0x1b89bcc,0x1a537ce,0x1a783ff,0x1a1e5f4,0x1a351c5,0x1ae7a9e,0x1acceaf,0x1aaa8a4,0x1a81c95,0x19f38d6,0x19d8ce7,0x19beaec,0x1995edd,0x1947586,0x196c1b7,0x190a7bc,0x192138d,0x18fbf8f,0x18d0bbe,0x18b6db5,0x189d984,0x184f2df,0x18646ee,0x18020e5,0x18294d4,0x1f98608,0x1fb3239,0x1fd5432,0x1ffe003,0x1f2cb58,0x1f07f69,0x1f61962,0x1f4ad53,0x1e90151,0x1ebb560,0x1edd36b,0x1ef675a,0x1e24c01,0x1e0f830,0x1e69e3b,0x1e42a0a,0x1d30e49,0x1d1ba78,0x1d7dc73,0x1d56842,0x1d84319,0x1daf728,0x1dc9123,0x1de2512,0x1c38910,0x1c13d21,0x1c75b2a,0x1c5ef1b,0x1c8c440,0x1ca7071,0x1cc167a,0x1cea24b,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,0x100,0x102,0x104,0x106,0x108,0x10a,0x10c,0x10e,0x110,0x112,0x114,0x116,0x118,0x11a,0x11c,0x11e,0x120,0x122,0x124,0x126,0x128,0x12a,0x12c,0x12e,0x130,0x132,0x134,0x136,0x138,0x13a,0x13c,0x13e,0x140,0x142,0x144,0x146,0x148,0x14a,0x14c,0x14e,0x150,0x152,0x154,0x156,0x158,0x15a,0x15c,0x15e,0x160,0x162,0x164,0x166,0x168,0x16a,0x16c,0x16e,0x170,0x172,0x174,0x176,0x178,0x17a,0x17c,0x17e,0x180,0x182,0x184,0x186,0x188,0x18a,0x18c,0x18e,0x190,0x192,0x194,0x196,0x198,0x19a,0x19c,0x19e,0x1a0,0x1a2,0x1a4,0x1a6,0x1a8,0x1aa,0x1ac,0x1ae,0x1b0,0x1b2,0x1b4,0x1b6,0x1b8,0x1ba,0x1bc,0x1be,0x1c0,0x1c2,0x1c4,0x1c6,0x1c8,0x1ca,0x1cc,0x1ce,0x1d0,0x1d2,0x1d4,0x1d6,0x1d8,0x1da,0x1dc,0x1de,0x1e0,0x1e2,0x1e4,0x1e6,0x1e8,0x1ea,0x1ec,0x1ee,0x1f0,0x1f2,0x1f4,0x1f6,0x1f8,0x1fa,0x1fc,0x1fe,
0x0,0x200,0x400,0x600,0x800,0xa00,0xc00,0xe00,0x1000,0x1200,0x1400,0x1600,0x1800,0x1a00,0x1c00,0x1e00,0x2000,0x2200,0x2400,0x2600,0x2800,0x2a00,0x2c00,0x2e00,0x3000,0x3200,0x3400,0x3600,0x3800,0x3a00,0x3c00,0x3e00,0x4000,0x4200,0x4400,0x4600,0x4800,0x4a00,0x4c00,0x4e00,0x5000,0x5200,0x5400,0x5600,0x5800,0x5a00,0x5c00,0x5e00,0x6000,0x6200,0x6400,0x6600,0x6800,0x6a00,0x6c00,0x6e00,0x7000,0x7200,0x7400,0x7600,0x7800,0x7a00,0x7c00,0x7e00,0x8000,0x8200,0x8400,0x8600,0x8800,0x8a00,0x8c00,0x8e00,0x9000,0x9200,0x9400,0x9600,0x9800,0x9a00,0x9c00,0x9e00,0xa000,0xa200,0xa400,0xa600,0xa800,0xaa00,0xac00,0xae00,0xb000,0xb200,0xb400,0xb600,0xb800,0xba00,0xbc00,0xbe00,0xc000,0xc200,0xc400,0xc600,0xc800,0xca00,0xcc00,0xce00,0xd000,0xd200,0xd400,0xd600,0xd800,0xda00,0xdc00,0xde00,0xe000,0xe200,0xe400,0xe600,0xe800,0xea00,0xec00,0xee00,0xf000,0xf200,0xf400,0xf600,0xf800,0xfa00,0xfc00,0xfe00,0x10080,0x10280,0x10480,0x10680,0x10880,0x10a80,0x10c80,0x10e80,0x11080,0x11280,0x11480,0x11680,0x11880,0x11a80,0x11c80,0x11e80,0x12080,0x12280,0x12480,0x12680,0x12880,0x12a80,0x12c80,0x12e80,0x13080,0x13280,0x13480,0x13680,0x13880,0x13a80,0x13c80,0x13e80,0x14080,0x14280,0x14480,0x14680,0x14880,0x14a80,0x14c80,0x14e80,0x15080,0x15280,0x15480,0x15680,0x15880,0x15a80,0x15c80,0x15e80,0x16080,0x16280,0x16480,0x16680,0x16880,0x16a80,0x16c80,0x16e80,0x17080,0x17280,0x17480,0x17680,0x17880,0x17a80,0x17c80,0x17e80,0x18080,0x18280,0x18480,0x18680,0x18880,0x18a80,0x18c80,0x18e80,0x19080,0x19280,0x19480,0x19680,0x19880,0x19a80,0x19c80,0x19e80,0x1a080,0x1a280,0x1a480,0x1a680,0x1a880,0x1aa80,0x1ac80,0x1ae80,0x1b080,0x1b280,0x1b480,0x1b680,0x1b880,0x1ba80,0x1bc80,0x1be80,0x1c080,0x1c280,0x1c480,0x1c680,0x1c880,0x1ca80,0x1cc80,0x1ce80,0x1d080,0x1d280,0x1d480,0x1d680,0x1d880,0x1da80,0x1dc80,0x1de80,0x1e080,0x1e280,0x1e480,0x1e680,0x1e880,0x1ea80,0x1ec80,0x1ee80,0x1f080,0x1f280,0x1f480,0x1f680,0x1f880,0x1fa80,0x1fc80,0x1fe80,
0x0,0x200c0,0x400b0,0x60070,0x800d0,0xa0010,0xc0060,0xe00a0,0x10008d,0x12004d,0x14003d,0x1600fd,0x18005d,0x1a009d,0x1c00ed,0x1e002d,0x2000c6,0x220006,0x240076,0x2600b6,0x280016,0x2a00d6,0x2c00a6,0x2e0066,0x30004b,0x32008b,0x3400fb,0x36003b,0x38009b,0x3a005b,0x3c002b,0x3e00eb,0x4000b9,0x420079,0x440009,0x4600c9,0x480069,0x4a00a9,0x4c00d9,0x4e0019,0x500034,0x5200f4,0x540084,0x560044,0x5800e4,0x5a0024,0x5c0054,0x5e0094,0x60007f,0x6200bf,0x6400cf,0x66000f,0x6800af,0x6a006f,0x6c001f,0x6e00df,0x7000f2,0x720032,0x740042,0x760082,0x780022,0x7a00e2,0x7c0092,0x7e0052,0x8000de,0x82001e,0x84006e,0x8600ae,0x88000e,0x8a00ce,0x8c00be,0x8e007e,0x900053,0x920093,0x9400e3,0x960023,0x980083,0x9a0043,0x9c0033,0x9e00f3,0xa00018,0xa200d8,0xa400a8,0xa60068,0xa800c8,0xaa0008,0xac0078,0xae00b8,0xb00095,0xb20055,0xb40025,0xb600e5,0xb80045,0xba0085,0xbc00f5,0xbe0035,0xc00067,0xc200a7,0xc400d7,0xc60017,0xc800b7,0xca0077,0xcc0007,0xce00c7,0xd000ea,0xd2002a,0xd4005a,0xd6009a,0xd8003a,0xda00fa,0xdc008a,0xde004a,0xe000a1,0xe20061,0xe40011,0xe600d1,0xe80071,0xea00b1,0xec00c1,0xee0001,0xf0002c,0xf200ec,0xf4009c,0xf6005c,0xf800fc,0xfa003c,0xfc004c,0xfe008c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x14,0x16,0x11,0x13,0x1c,0x1e,0x19,0x1b,0x27,0x25,0x22,0x20,0x2f,0x2d,0x2a,0x28,0x33,0x31,0x36,0x34,0x3b,0x39,0x3e,0x3c,0x5e,0x5c,0x5b,0x59,0x56,0x54,0x53,0x51,0x4a,0x48,0x4f,0x4d,0x42,0x40,0x47,0x45,0x79,0x7b,0x7c,0x7e,0x71,0x73,0x74,0x76,0x6d,0x6f,0x68,0x6a,0x65,0x67,0x60,0x62,0x80,0x82,0x85,0x87,0x88,0x8a,0x8d,0x8f,0x94,0x96,0x91,0x93,0x9c,0x9e,0x99,0x9b,0xa7,0xa5,0xa2,0xa0,0xaf,0xad,0xaa,0xa8,0xb3,0xb1,0xb6,0xb4,0xbb,0xb9,0xbe,0xbc,0xde,0xdc,0xdb,0xd9,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc2,0xc0,0xc7,0xc5,0xf9,0xfb,0xfc,0xfe,0xf1,0xf3,0xf4,0xf6,0xed,0xef,0xe8,0xea,0xe5,0xe7,0xe0,0xe2,0x140,0x142,0x145,0x147,0x148,0x14a,0x14d,0x14f,0x154,0x156,0x151,0x153,0x15c,0x15e,0x159,0x15b,0x167,0x165,0x162,0x160,0x16f,0x16d,0x16a,0x168,0x173,0x171,0x176,0x174,0x17b,0x179,0x17e,0x17c,0x11e,0x11c,0x11b,0x119,0x116,0x114,0x113,0x111,0x10a,0x108,0x10f,0x10d,0x102,0x100,0x107,0x105,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x12d,0x12f,0x128,0x12a,0x125,0x127,0x120,0x122,0x1c0,0x1c2,0x1c5,0x1c7,0x1c8,0x1ca,0x1cd,0x1cf,0x1d4,0x1d6,0x1d1,0x1d3,0x1dc,0x1de,0x1d9,0x1db,0x1e7,0x1e5,0x1e2,0x1e0,0x1ef,0x1ed,0x1ea,0x1e8,0x1f3,0x1f1,0x1f6,0x1f4,0x1fb,0x1f9,0x1fe,0x1fc,0x19e,0x19c,0x19b,0x199,0x196,0x194,0x193,0x191,0x18a,0x188,0x18f,0x18d,0x182,0x180,0x187,0x185,0x1b9,0x1bb,0x1bc,0x1be,0x1b1,0x1b3,0x1b4,0x1b6,0x1ad,0x1af,0x1a8,0x1aa,0x1a5,0x1a7,0x1a0,0x1a2,
0x0,0x270,0x5e0,0x790,0x85d,0xa2d,0xdbd,0xfcd,0x14fb,0x168b,0x111b,0x136b,0x1ca6,0x1ed6,0x1946,0x1b36,0x278f,0x25ff,0x226f,0x201f,0x2fd2,0x2da2,0x2a32,0x2842,0x3374,0x3104,0x3694,0x34e4,0x3b29,0x3959,0x3ec9,0x3cb9,0x5e4a,0x5c3a,0x5baa,0x59da,0x5617,0x5467,0x53f7,0x5187,0x4ab1,0x48c1,0x4f51,0x4d21,0x42ec,0x409c,0x470c,0x457c,0x79c5,0x7bb5,0x7c25,0x7e55,0x7198,0x73e8,0x7478,0x7608,0x6d3e,0x6f4e,0x68de,0x6aae,0x6563,0x6713,0x6083,0x62f3,0x805e,0x822e,0x85be,0x87ce,0x8803,0x8a73,0x8de3,0x8f93,0x94a5,0x96d5,0x9145,0x9335,0x9cf8,0x9e88,0x9918,0x9b68,0xa7d1,0xa5a1,0xa231,0xa041,0xaf8c,0xadfc,0xaa6c,0xa81c,0xb32a,0xb15a,0xb6ca,0xb4ba,0xbb77,0xb907,0xbe97,0xbce7,0xde14,0xdc64,0xdbf4,0xd984,0xd649,0xd439,0xd3a9,0xd1d9,0xcaef,0xc89f,0xcf0f,0xcd7f,0xc2b2,0xc0c2,0xc752,0xc522,0xf99b,0xfbeb,0xfc7b,0xfe0b,0xf1c6,0xf3b6,0xf426,0xf656,0xed60,0xef10,0xe880,0xeaf0,0xe53d,0xe74d,0xe0dd,0xe2ad,0x14079,0x14209,0x14599,0x147e9,0x14824,0x14a54,0x14dc4,0x14fb4,0x15482,0x156f2,0x15162,0x15312,0x15cdf,0x15eaf,0x1593f,0x15b4f,0x167f6,0x16586,0x16216,0x16066,0x16fab,0x16ddb,0x16a4b,0x1683b,0x1730d,0x1717d,0x176ed,0x1749d,0x17b50,0x17920,0x17eb0,0x17cc0,0x11e33,0x11c43,0x11bd3,0x119a3,0x1166e,0x1141e,0x1138e,0x111fe,0x10ac8,0x108b8,0x10f28,0x10d58,0x10295,0x100e5,0x10775,0x10505,0x139bc,0x13bcc,0x13c5c,0x13e2c,0x131e1,0x13391,0x13401,0x13671,0x12d47,0x12f37,0x128a7,0x12ad7,0x1251a,0x1276a,0x120fa,0x1228a,0x1c027,0x1c257,0x1c5c7,0x1c7b7,0x1c87a,0x1ca0a,0x1cd9a,0x1cfea,0x1d4dc,0x1d6ac,0x1d13c,0x1d34c,0x1dc81,0x1def1,0x1d961,0x1db11,0x1e7a8,0x1e5d8,0x1e248,0x1e038,0x1eff5,0x1ed85,0x1ea15,0x1e865,0x1f353,0x1f123,0x1f6b3,0x1f4c3,0x1fb0e,0x1f97e,0x1feee,0x1fc9e,0x19e6d,0x19c1d,0x19b8d,0x199fd,0x19630,0x19440,0x193d0,0x191a0,0x18a96,0x188e6,0x18f76,0x18d06,0x182cb,0x180bb,0x1872b,0x1855b,0x1b9e2,0x1bb92,0x1bc02,0x1be72,0x1b1bf,0x1b3cf,0x1b45f,0x1b62f,0x1ad19,0x1af69,0x1a8f9,0x1aa89,0x1a544,0x1a734,0x1a0a4,0x1a2d4,
0x0,0x27042,0x5e071,0x79033,0x85d59,0xa2d1b,0xdbd28,0xfcd6a,0x14fb7a,0x168b38,0x111b0b,0x136b49,0x1ca623,0x1ed661,0x194652,0x1b3610,0x278f47,0x25ff05,0x226f36,0x201f74,0x2fd21e,0x2da25c,0x2a326f,0x28422d,0x33743d,0x31047f,0x36944c,0x34e40e,0x3b2964,0x395926,0x3ec915,0x3cb957,0x5e4a77,0x5c3a35,0x5baa06,0x59da44,0x56172e,0x54676c,0x53f75f,0x51871d,0x4ab10d,0x48c14f,0x4f517c,0x4d213e,0x42ec54,0x409c16,0x470c25,0x457c67,0x79c530,0x7bb572,0x7c2541,0x7e5503,0x719869,0x73e82b,0x747818,0x76085a,0x6d3e4a,0x6f4e08,0x68de3b,0x6aae79,0x656313,0x671351,0x608362,0x62f320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x17,0x15,0x12,0x10,0x1d,0x1f,0x18,0x1a,0x29,0x2b,0x2c,0x2e,0x23,0x21,0x26,0x24,0x3e,0x3c,0x3b,0x39,0x34,0x36,0x31,0x33,0x5e,0x5c,0x5b,0x59,0x54,0x56,0x51,0x53,0x49,0x4b,0x4c,0x4e,0x43,0x41,0x46,0x44,0x77,0x75,0x72,0x70,0x7d,0x7f,0x78,0x7a,0x60,0x62,0x65,0x67,0x6a,0x68,0x6f,0x6d,0xa7,0xa5,0xa2,0xa0,0xad,0xaf,0xa8,0xaa,0xb0,0xb2,0xb5,0xb7,0xba,0xb8,0xbf,0xbd,0x8e,0x8c,0x8b,0x89,0x84,0x86,0x81,0x83,0x99,0x9b,0x9c,0x9e,0x93,0x91,0x96,0x94,0xf9,0xfb,0xfc,0xfe,0xf3,0xf1,0xf6,0xf4,0xee,0xec,0xeb,0xe9,0xe4,0xe6,0xe1,0xe3,0xd0,0xd2,0xd5,0xd7,0xda,0xd8,0xdf,0xdd,0xc7,0xc5,0xc2,0xc0,0xcd,0xcf,0xc8,0xca,0x17b,0x179,0x17e,0x17c,0x171,0x173,0x174,0x176,0x16c,0x16e,0x169,0x16b,0x166,0x164,0x163,0x161,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x145,0x147,0x140,0x142,0x14f,0x14d,0x14a,0x148,0x125,0x127,0x120,0x122,0x12f,0x12d,0x12a,0x128,0x132,0x130,0x137,0x135,0x138,0x13a,0x13d,0x13f,0x10c,0x10e,0x109,0x10b,0x106,0x104,0x103,0x101,0x11b,0x119,0x11e,0x11c,0x111,0x113,0x114,0x116,0x1dc,0x1de,0x1d9,0x1db,0x1d6,0x1d4,0x1d3,0x1d1,0x1cb,0x1c9,0x1ce,0x1cc,0x1c1,0x1c3,0x1c4,0x1c6,0x1f5,0x1f7,0x1f0,0x1f2,0x1ff,0x1fd,0x1fa,0x1f8,0x1e2,0x1e0,0x1e7,0x1e5,0x1e8,0x1ea,0x1ed,0x1ef,0x182,0x180,0x187,0x185,0x188,0x18a,0x18d,0x18f,0x195,0x197,0x190,0x192,0x19f,0x19d,0x19a,0x198,0x1ab,0x1a9,0x1ae,0x1ac,0x1a1,0x1a3,0x1a4,0x1a6,0x1bc,0x1be,0x1b9,0x1bb,0x1b6,0x1b4,0x1b3,0x1b1,
0x0,0x29d,0x5c8,0x755,0xa4c,0x8d1,0xf84,0xd19,0x1713,0x158e,0x12db,0x1046,0x1d5f,0x1fc2,0x1897,0x1a0a,0x2921,0x2bbc,0x2ce9,0x2e74,0x236d,0x21f0,0x26a5,0x2438,0x3e32,0x3caf,0x3bfa,0x3967,0x347e,0x36e3,0x31b6,0x332b,0x5e63,0x5cfe,0x5bab,0x5936,0x542f,0x56b2,0x51e7,0x537a,0x4970,0x4bed,0x4cb8,0x4e25,0x433c,0x41a1,0x46f4,0x4469,0x7742,0x75df,0x728a,0x7017,0x7d0e,0x7f93,0x78c6,0x7a5b,0x6051,0x62cc,0x6599,0x6704,0x6a1d,0x6880,0x6fd5,0x6d48,0xa7b1,0xa52c,0xa279,0xa0e4,0xadfd,0xaf60,0xa835,0xaaa8,0xb0a2,0xb23f,0xb56a,0xb7f7,0xbaee,0xb873,0xbf26,0xbdbb,0x8e90,0x8c0d,0x8b58,0x89c5,0x84dc,0x8641,0x8114,0x8389,0x9983,0x9b1e,0x9c4b,0x9ed6,0x93cf,0x9152,0x9607,0x949a,0xf9d2,0xfb4f,0xfc1a,0xfe87,0xf39e,0xf103,0xf656,0xf4cb,0xeec1,0xec5c,0xeb09,0xe994,0xe48d,0xe610,0xe145,0xe3d8,0xd0f3,0xd26e,0xd53b,0xd7a6,0xdabf,0xd822,0xdf77,0xddea,0xc7e0,0xc57d,0xc228,0xc0b5,0xcdac,0xcf31,0xc864,0xcaf9,0x17b0f,0x17992,0x17ec7,0x17c5a,0x17143,0x173de,0x1748b,0x17616,0x16c1c,0x16e81,0x169d4,0x16b49,0x16650,0x164cd,0x16398,0x16105,0x1522e,0x150b3,0x157e6,0x1557b,0x15862,0x15aff,0x15daa,0x15f37,0x1453d,0x147a0,0x140f5,0x14268,0x14f71,0x14dec,0x14ab9,0x14824,0x1256c,0x127f1,0x120a4,0x12239,0x12f20,0x12dbd,0x12ae8,0x12875,0x1327f,0x130e2,0x137b7,0x1352a,0x13833,0x13aae,0x13dfb,0x13f66,0x10c4d,0x10ed0,0x10985,0x10b18,0x10601,0x1049c,0x103c9,0x10154,0x11b5e,0x119c3,0x11e96,0x11c0b,0x11112,0x1138f,0x114da,0x11647,0x1dcbe,0x1de23,0x1d976,0x1dbeb,0x1d6f2,0x1d46f,0x1d33a,0x1d1a7,0x1cbad,0x1c930,0x1ce65,0x1ccf8,0x1c1e1,0x1c37c,0x1c429,0x1c6b4,0x1f59f,0x1f702,0x1f057,0x1f2ca,0x1ffd3,0x1fd4e,0x1fa1b,0x1f886,0x1e28c,0x1e011,0x1e744,0x1e5d9,0x1e8c0,0x1ea5d,0x1ed08,0x1ef95,0x182dd,0x18040,0x18715,0x18588,0x18891,0x18a0c,0x18d59,0x18fc4,0x195ce,0x19753,0x19006,0x1929b,0x19f82,0x19d1f,0x19a4a,0x198d7,0x1abfc,0x1a961,0x1ae34,0x1aca9,0x1a1b0,0x1a32d,0x1a478,0x1a6e5,0x1bcef,0x1be72,0x1b927,0x1bbba,0x1b6a3,0x1b43e,0x1b36b,0x1b1f6,
0x0,0x29d05,0x5c8e8,0x755ed,0xa4c7c,0x8d179,0xf8494,0xd1991,0x17133e,0x158e3b,0x12dbd6,0x1046d3,0x1d5f42,0x1fc247,0x1897aa,0x1a0aaf,0x292117,0x2bbc12,0x2ce9ff,0x2e74fa,0x236d6b,0x21f06e,0x26a583,0x243886,0x3e3229,0x3caf2c,0x3bfac1,0x3967c4,0x347e55,0x36e350,0x31b6bd,0x332bb8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x11,0x13,0x15,0x17,0x1a,0x18,0x1e,0x1c,0x29,0x2b,0x2d,0x2f,0x22,0x20,0x26,0x24,0x38,0x3a,0x3c,0x3e,0x33,0x31,0x37,0x35,0x49,0x4b,0x4d,0x4f,0x42,0x40,0x46,0x44,0x58,0x5a,0x5c,0x5e,0x53,0x51,0x57,0x55,0x60,0x62,0x64,0x66,0x6b,0x69,0x6f,0x6d,0x71,0x73,0x75,0x77,0x7a,0x78,0x7e,0x7c,0xbf,0xbd,0xbb,0xb9,0xb4,0xb6,0xb0,0xb2,0xae,0xac,0xaa,0xa8,0xa5,0xa7,0xa1,0xa3,0x96,0x94,0x92,0x90,0x9d,0x9f,0x99,0x9b,0x87,0x85,0x83,0x81,0x8c,0x8e,0x88,0x8a,0xf6,0xf4,0xf2,0xf0,0xfd,0xff,0xf9,0xfb,0xe7,0xe5,0xe3,0xe1,0xec,0xee,0xe8,0xea,0xdf,0xdd,0xdb,0xd9,0xd4,0xd6,0xd0,0xd2,0xce,0xcc,0xca,0xc8,0xc5,0xc7,0xc1,0xc3,0x111,0x113,0x115,0x117,0x11a,0x118,0x11e,0x11c,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x138,0x13a,0x13c,0x13e,0x133,0x131,0x137,0x135,0x129,0x12b,0x12d,0x12f,0x122,0x120,0x126,0x124,0x158,0x15a,0x15c,0x15e,0x153,0x151,0x157,0x155,0x149,0x14b,0x14d,0x14f,0x142,0x140,0x146,0x144,0x171,0x173,0x175,0x177,0x17a,0x178,0x17e,0x17c,0x160,0x162,0x164,0x166,0x16b,0x169,0x16f,0x16d,0x1ae,0x1ac,0x1aa,0x1a8,0x1a5,0x1a7,0x1a1,0x1a3,0x1bf,0x1bd,0x1bb,0x1b9,0x1b4,0x1b6,0x1b0,0x1b2,0x187,0x185,0x183,0x181,0x18c,0x18e,0x188,0x18a,0x196,0x194,0x192,0x190,0x19d,0x19f,0x199,0x19b,0x1e7,0x1e5,0x1e3,0x1e1,0x1ec,0x1ee,0x1e8,0x1ea,0x1f6,0x1f4,0x1f2,0x1f0,0x1fd,0x1ff,0x1f9,0x1fb,0x1ce,0x1cc,0x1ca,0x1c8,0x1c5,0x1c7,0x1c1,0x1c3,0x1df,0x1dd,0x1db,0x1d9,0x1d4,0x1d6,0x1d0,0x1d2,
0x0,0x28c,0x480,0x60c,0xbe4,0x968,0xf64,0xde8,0x118f,0x1303,0x150f,0x1783,0x1a6b,0x18e7,0x1eeb,0x1c67,0x2930,0x2bbc,0x2db0,0x2f3c,0x22d4,0x2058,0x2654,0x24d8,0x38bf,0x3a33,0x3c3f,0x3eb3,0x335b,0x31d7,0x37db,0x3557,0x4943,0x4bcf,0x4dc3,0x4f4f,0x42a7,0x402b,0x4627,0x44ab,0x58cc,0x5a40,0x5c4c,0x5ec0,0x5328,0x51a4,0x57a8,0x5524,0x6073,0x62ff,0x64f3,0x667f,0x6b97,0x691b,0x6f17,0x6d9b,0x71fc,0x7370,0x757c,0x77f0,0x7a18,0x7894,0x7e98,0x7c14,0xbf0f,0xbd83,0xbb8f,0xb903,0xb4eb,0xb667,0xb06b,0xb2e7,0xae80,0xac0c,0xaa00,0xa88c,0xa564,0xa7e8,0xa1e4,0xa368,0x963f,0x94b3,0x92bf,0x9033,0x9ddb,0x9f57,0x995b,0x9bd7,0x87b0,0x853c,0x8330,0x81bc,0x8c54,0x8ed8,0x88d4,0x8a58,0xf64c,0xf4c0,0xf2cc,0xf040,0xfda8,0xff24,0xf928,0xfba4,0xe7c3,0xe54f,0xe343,0xe1cf,0xec27,0xeeab,0xe8a7,0xea2b,0xdf7c,0xddf0,0xdbfc,0xd970,0xd498,0xd614,0xd018,0xd294,0xcef3,0xcc7f,0xca73,0xc8ff,0xc517,0xc79b,0xc197,0xc31b,0x11105,0x11389,0x11585,0x11709,0x11ae1,0x1186d,0x11e61,0x11ced,0x1008a,0x10206,0x1040a,0x10686,0x10b6e,0x109e2,0x10fee,0x10d62,0x13835,0x13ab9,0x13cb5,0x13e39,0x133d1,0x1315d,0x13751,0x135dd,0x129ba,0x12b36,0x12d3a,0x12fb6,0x1225e,0x120d2,0x126de,0x12452,0x15846,0x15aca,0x15cc6,0x15e4a,0x153a2,0x1512e,0x15722,0x155ae,0x149c9,0x14b45,0x14d49,0x14fc5,0x1422d,0x140a1,0x146ad,0x14421,0x17176,0x173fa,0x175f6,0x1777a,0x17a92,0x1781e,0x17e12,0x17c9e,0x160f9,0x16275,0x16479,0x166f5,0x16b1d,0x16991,0x16f9d,0x16d11,0x1ae0a,0x1ac86,0x1aa8a,0x1a806,0x1a5ee,0x1a762,0x1a16e,0x1a3e2,0x1bf85,0x1bd09,0x1bb05,0x1b989,0x1b461,0x1b6ed,0x1b0e1,0x1b26d,0x1873a,0x185b6,0x183ba,0x18136,0x18cde,0x18e52,0x1885e,0x18ad2,0x196b5,0x19439,0x19235,0x190b9,0x19d51,0x19fdd,0x199d1,0x19b5d,0x1e749,0x1e5c5,0x1e3c9,0x1e145,0x1ecad,0x1ee21,0x1e82d,0x1eaa1,0x1f6c6,0x1f44a,0x1f246,0x1f0ca,0x1fd22,0x1ffae,0x1f9a2,0x1fb2e,0x1ce79,0x1ccf5,0x1caf9,0x1c875,0x1c59d,0x1c711,0x1c11d,0x1c391,0x1dff6,0x1dd7a,0x1db76,0x1d9fa,0x1d412,0x1d69e,0x1d092,0x1d21e,
0x0,0x28c4d,0x48023,0x60c6e,0xbe487,0x968ca,0xf64a4,0xde8e9,0x118f70,0x13033d,0x150f53,0x17831e,0x1a6bf7,0x18e7ba,0x1eebd4,0x1c6799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x11,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x22,0x20,0x26,0x24,0x2a,0x28,0x2e,0x2c,0x33,0x31,0x37,0x35,0x3b,0x39,0x3f,0x3d,0x44,0x46,0x40,0x42,0x4c,0x4e,0x48,0x4a,0x55,0x57,0x51,0x53,0x5d,0x5f,0x59,0x5b,0x66,0x64,0x62,0x60,0x6e,0x6c,0x6a,0x68,0x77,0x75,0x73,0x71,0x7f,0x7d,0x7b,0x79,0x88,0x8a,0x8c,0x8e,0x80,0x82,0x84,0x86,0x99,0x9b,0x9d,0x9f,0x91,0x93,0x95,0x97,0xaa,0xa8,0xae,0xac,0xa2,0xa0,0xa6,0xa4,0xbb,0xb9,0xbf,0xbd,0xb3,0xb1,0xb7,0xb5,0xcc,0xce,0xc8,0xca,0xc4,0xc6,0xc0,0xc2,0xdd,0xdf,0xd9,0xdb,0xd5,0xd7,0xd1,0xd3,0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xff,0xfd,0xfb,0xf9,0xf7,0xf5,0xf3,0xf1,0x119,0x11b,0x11d,0x11f,0x111,0x113,0x115,0x117,0x108,0x10a,0x10c,0x10e,0x100,0x102,0x104,0x106,0x13b,0x139,0x13f,0x13d,0x133,0x131,0x137,0x135,0x12a,0x128,0x12e,0x12c,0x122,0x120,0x126,0x124,0x15d,0x15f,0x159,0x15b,0x155,0x157,0x151,0x153,0x14c,0x14e,0x148,0x14a,0x144,0x146,0x140,0x142,0x17f,0x17d,0x17b,0x179,0x177,0x175,0x173,0x171,0x16e,0x16c,0x16a,0x168,0x166,0x164,0x162,0x160,0x191,0x193,0x195,0x197,0x199,0x19b,0x19d,0x19f,0x180,0x182,0x184,0x186,0x188,0x18a,0x18c,0x18e,0x1b3,0x1b1,0x1b7,0x1b5,0x1bb,0x1b9,0x1bf,0x1bd,0x1a2,0x1a0,0x1a6,0x1a4,0x1aa,0x1a8,0x1ae,0x1ac,0x1d5,0x1d7,0x1d1,0x1d3,0x1dd,0x1df,0x1d9,0x1db,0x1c4,0x1c6,0x1c0,0x1c2,0x1cc,0x1ce,0x1c8,0x1ca,0x1f7,0x1f5,0x1f3,0x1f1,0x1ff,0x1fd,0x1fb,0x1f9,0x1e6,0x1e4,0x1e2,0x1e0,0x1ee,0x1ec,0x1ea,0x1e8,
0x0,0x22e,0x44f,0x661,0x885,0xaab,0xcca,0xee4,0x1187,0x13a9,0x15c8,0x17e6,0x1902,0x1b2c,0x1d4d,0x1f63,0x22c9,0x20e7,0x2686,0x24a8,0x2a4c,0x2862,0x2e03,0x2c2d,0x334e,0x3160,0x3701,0x352f,0x3bcb,0x39e5,0x3f84,0x3daa,0x44ba,0x4694,0x40f5,0x42db,0x4c3f,0x4e11,0x4870,0x4a5e,0x553d,0x5713,0x5172,0x535c,0x5db8,0x5f96,0x59f7,0x5bd9,0x6673,0x645d,0x623c,0x6012,0x6ef6,0x6cd8,0x6ab9,0x6897,0x77f4,0x75da,0x73bb,0x7195,0x7f71,0x7d5f,0x7b3e,0x7910,0x88df,0x8af1,0x8c90,0x8ebe,0x805a,0x8274,0x8415,0x863b,0x9958,0x9b76,0x9d17,0x9f39,0x91dd,0x93f3,0x9592,0x97bc,0xaa16,0xa838,0xae59,0xac77,0xa293,0xa0bd,0xa6dc,0xa4f2,0xbb91,0xb9bf,0xbfde,0xbdf0,0xb314,0xb13a,0xb75b,0xb575,0xcc65,0xce4b,0xc82a,0xca04,0xc4e0,0xc6ce,0xc0af,0xc281,0xdde2,0xdfcc,0xd9ad,0xdb83,0xd567,0xd749,0xd128,0xd306,0xeeac,0xec82,0xeae3,0xe8cd,0xe629,0xe407,0xe266,0xe048,0xff2b,0xfd05,0xfb64,0xf94a,0xf7ae,0xf580,0xf3e1,0xf1cf,0x119fa,0x11bd4,0x11db5,0x11f9b,0x1117f,0x11351,0x11530,0x1171e,0x1087d,0x10a53,0x10c32,0x10e1c,0x100f8,0x102d6,0x104b7,0x10699,0x13b33,0x1391d,0x13f7c,0x13d52,0x133b6,0x13198,0x137f9,0x135d7,0x12ab4,0x1289a,0x12efb,0x12cd5,0x12231,0x1201f,0x1267e,0x12450,0x15d40,0x15f6e,0x1590f,0x15b21,0x155c5,0x157eb,0x1518a,0x153a4,0x14cc7,0x14ee9,0x14888,0x14aa6,0x14442,0x1466c,0x1400d,0x14223,0x17f89,0x17da7,0x17bc6,0x179e8,0x1770c,0x17522,0x17343,0x1716d,0x16e0e,0x16c20,0x16a41,0x1686f,0x1668b,0x164a5,0x162c4,0x160ea,0x19125,0x1930b,0x1956a,0x19744,0x199a0,0x19b8e,0x19def,0x19fc1,0x180a2,0x1828c,0x184ed,0x186c3,0x18827,0x18a09,0x18c68,0x18e46,0x1b3ec,0x1b1c2,0x1b7a3,0x1b58d,0x1bb69,0x1b947,0x1bf26,0x1bd08,0x1a26b,0x1a045,0x1a624,0x1a40a,0x1aaee,0x1a8c0,0x1aea1,0x1ac8f,0x1d59f,0x1d7b1,0x1d1d0,0x1d3fe,0x1dd1a,0x1df34,0x1d955,0x1db7b,0x1c418,0x1c636,0x1c057,0x1c279,0x1cc9d,0x1ceb3,0x1c8d2,0x1cafc,0x1f756,0x1f578,0x1f319,0x1f137,0x1ffd3,0x1fdfd,0x1fb9c,0x1f9b2,0x1e6d1,0x1e4ff,0x1e29e,0x1e0b0,0x1ee54,0x1ec7a,0x1ea1b,0x1e835,
0x0,0x22e5f,0x44f13,0x6614c,0x88521,0xaab7e,0xcca32,0xee46d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x15,0x17,0x10,0x12,0x1d,0x1f,0x18,0x1a,0x25,0x27,0x20,0x22,0x2d,0x2f,0x28,0x2a,0x30,0x32,0x35,0x37,0x38,0x3a,0x3d,0x3f,0x5b,0x59,0x5e,0x5c,0x53,0x51,0x56,0x54,0x4e,0x4c,0x4b,0x49,0x46,0x44,0x43,0x41,0x7e,0x7c,0x7b,0x79,0x76,0x74,0x73,0x71,0x6b,0x69,0x6e,0x6c,0x63,0x61,0x66,0x64,0x8d,0x8f,0x88,0x8a,0x85,0x87,0x80,0x82,0x98,0x9a,0x9d,0x9f,0x90,0x92,0x95,0x97,0xa8,0xaa,0xad,0xaf,0xa0,0xa2,0xa5,0xa7,0xbd,0xbf,0xb8,0xba,0xb5,0xb7,0xb0,0xb2,0xd6,0xd4,0xd3,0xd1,0xde,0xdc,0xdb,0xd9,0xc3,0xc1,0xc6,0xc4,0xcb,0xc9,0xce,0xcc,0xf3,0xf1,0xf6,0xf4,0xfb,0xf9,0xfe,0xfc,0xe6,0xe4,0xe3,0xe1,0xee,0xec,0xeb,0xe9,0x152,0x150,0x157,0x155,0x15a,0x158,0x15f,0x15d,0x147,0x145,0x142,0x140,0x14f,0x14d,0x14a,0x148,0x177,0x175,0x172,0x170,0x17f,0x17d,0x17a,0x178,0x162,0x160,0x167,0x165,0x16a,0x168,0x16f,0x16d,0x109,0x10b,0x10c,0x10e,0x101,0x103,0x104,0x106,0x11c,0x11e,0x119,0x11b,0x114,0x116,0x111,0x113,0x12c,0x12e,0x129,0x12b,0x124,0x126,0x121,0x123,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x1df,0x1dd,0x1da,0x1d8,0x1d7,0x1d5,0x1d2,0x1d0,0x1ca,0x1c8,0x1cf,0x1cd,0x1c2,0x1c0,0x1c7,0x1c5,0x1fa,0x1f8,0x1ff,0x1fd,0x1f2,0x1f0,0x1f7,0x1f5,0x1ef,0x1ed,0x1ea,0x1e8,0x1e7,0x1e5,0x1e2,0x1e0,0x184,0x186,0x181,0x183,0x18c,0x18e,0x189,0x18b,0x191,0x193,0x194,0x196,0x199,0x19b,0x19c,0x19e,0x1a1,0x1a3,0x1a4,0x1a6,0x1a9,0x1ab,0x1ac,0x1ae,0x1b4,0x1b6,0x1b1,0x1b3,0x1bc,0x1be,0x1b9,0x1bb,
0x0,0x251,0x5bc,0x7ed,0x880,0xad1,0xd3c,0xf6d,0x15c7,0x1796,0x107b,0x122a,0x1d47,0x1f16,0x18fb,0x1aaa,0x25b9,0x27e8,0x2005,0x2254,0x2d39,0x2f68,0x2885,0x2ad4,0x307e,0x322f,0x35c2,0x3793,0x38fe,0x3aaf,0x3d42,0x3f13,0x5bdd,0x598c,0x5e61,0x5c30,0x535d,0x510c,0x56e1,0x54b0,0x4e1a,0x4c4b,0x4ba6,0x49f7,0x469a,0x44cb,0x4326,0x4177,0x7e64,0x7c35,0x7bd8,0x7989,0x76e4,0x74b5,0x7358,0x7109,0x6ba3,0x69f2,0x6e1f,0x6c4e,0x6323,0x6172,0x669f,0x64ce,0x8d5c,0x8f0d,0x88e0,0x8ab1,0x85dc,0x878d,0x8060,0x8231,0x989b,0x9aca,0x9d27,0x9f76,0x901b,0x924a,0x95a7,0x97f6,0xa8e5,0xaab4,0xad59,0xaf08,0xa065,0xa234,0xa5d9,0xa788,0xbd22,0xbf73,0xb89e,0xbacf,0xb5a2,0xb7f3,0xb01e,0xb24f,0xd681,0xd4d0,0xd33d,0xd16c,0xde01,0xdc50,0xdbbd,0xd9ec,0xc346,0xc117,0xc6fa,0xc4ab,0xcbc6,0xc997,0xce7a,0xcc2b,0xf338,0xf169,0xf684,0xf4d5,0xfbb8,0xf9e9,0xfe04,0xfc55,0xe6ff,0xe4ae,0xe343,0xe112,0xee7f,0xec2e,0xebc3,0xe992,0x15202,0x15053,0x157be,0x155ef,0x15a82,0x158d3,0x15f3e,0x15d6f,0x147c5,0x14594,0x14279,0x14028,0x14f45,0x14d14,0x14af9,0x148a8,0x177bb,0x175ea,0x17207,0x17056,0x17f3b,0x17d6a,0x17a87,0x178d6,0x1627c,0x1602d,0x167c0,0x16591,0x16afc,0x168ad,0x16f40,0x16d11,0x109df,0x10b8e,0x10c63,0x10e32,0x1015f,0x1030e,0x104e3,0x106b2,0x11c18,0x11e49,0x119a4,0x11bf5,0x11498,0x116c9,0x11124,0x11375,0x12c66,0x12e37,0x129da,0x12b8b,0x124e6,0x126b7,0x1215a,0x1230b,0x139a1,0x13bf0,0x13c1d,0x13e4c,0x13121,0x13370,0x1349d,0x136cc,0x1df5e,0x1dd0f,0x1dae2,0x1d8b3,0x1d7de,0x1d58f,0x1d262,0x1d033,0x1ca99,0x1c8c8,0x1cf25,0x1cd74,0x1c219,0x1c048,0x1c7a5,0x1c5f4,0x1fae7,0x1f8b6,0x1ff5b,0x1fd0a,0x1f267,0x1f036,0x1f7db,0x1f58a,0x1ef20,0x1ed71,0x1ea9c,0x1e8cd,0x1e7a0,0x1e5f1,0x1e21c,0x1e04d,0x18483,0x186d2,0x1813f,0x1836e,0x18c03,0x18e52,0x189bf,0x18bee,0x19144,0x19315,0x194f8,0x196a9,0x199c4,0x19b95,0x19c78,0x19e29,0x1a13a,0x1a36b,0x1a486,0x1a6d7,0x1a9ba,0x1abeb,0x1ac06,0x1ae57,0x1b4fd,0x1b6ac,0x1b141,0x1b310,0x1bc7d,0x1be2c,0x1b9c1,0x1bb90,
0x0,0x251d6,0x5bcae,0x7ed78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x16,0x14,0x13,0x11,0x1c,0x1e,0x19,0x1b,0x2b,0x29,0x2e,0x2c,0x21,0x23,0x24,0x26,0x3d,0x3f,0x38,0x3a,0x37,0x35,0x32,0x30,0x59,0x5b,0x5c,0x5e,0x53,0x51,0x56,0x54,0x4f,0x4d,0x4a,0x48,0x45,0x47,0x40,0x42,0x72,0x70,0x77,0x75,0x78,0x7a,0x7d,0x7f,0x64,0x66,0x61,0x63,0x6e,0x6c,0x6b,0x69,0xae,0xac,0xab,0xa9,0xa4,0xa6,0xa1,0xa3,0xb8,0xba,0xbd,0xbf,0xb2,0xb0,0xb7,0xb5,0x85,0x87,0x80,0x82,0x8f,0x8d,0x8a,0x88,0x93,0x91,0x96,0x94,0x99,0x9b,0x9c,0x9e,0xf7,0xf5,0xf2,0xf0,0xfd,0xff,0xf8,0xfa,0xe1,0xe3,0xe4,0xe6,0xeb,0xe9,0xee,0xec,0xdc,0xde,0xd9,0xdb,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc0,0xc2,0xc5,0xc7,0x16f,0x16d,0x16a,0x168,0x165,0x167,0x160,0x162,0x179,0x17b,0x17c,0x17e,0x173,0x171,0x176,0x174,0x144,0x146,0x141,0x143,0x14e,0x14c,0x14b,0x149,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x136,0x134,0x133,0x131,0x13c,0x13e,0x139,0x13b,0x120,0x122,0x125,0x127,0x12a,0x128,0x12f,0x12d,0x11d,0x11f,0x118,0x11a,0x117,0x115,0x112,0x110,0x10b,0x109,0x10e,0x10c,0x101,0x103,0x104,0x106,0x1c1,0x1c3,0x1c4,0x1c6,0x1cb,0x1c9,0x1ce,0x1cc,0x1d7,0x1d5,0x1d2,0x1d0,0x1dd,0x1df,0x1d8,0x1da,0x1ea,0x1e8,0x1ef,0x1ed,0x1e0,0x1e2,0x1e5,0x1e7,0x1fc,0x1fe,0x1f9,0x1fb,0x1f6,0x1f4,0x1f3,0x1f1,0x198,0x19a,0x19d,0x19f,0x192,0x190,0x197,0x195,0x18e,0x18c,0x18b,0x189,0x184,0x186,0x181,0x183,0x1b3,0x1b1,0x1b6,0x1b4,0x1b9,0x1bb,0x1bc,0x1be,0x1a5,0x1a7,0x1a0,0x1a2,0x1af,0x1ad,0x1aa,0x1a8,
0x0,0x2b5,0x5be,0x70b,0xad7,0x862,0xf69,0xddc,0x164c,0x14f9,0x13f2,0x1147,0x1c9b,0x1e2e,0x1925,0x1b90,0x2b84,0x2931,0x2e3a,0x2c8f,0x2153,0x23e6,0x24ed,0x2658,0x3dc8,0x3f7d,0x3876,0x3ac3,0x371f,0x35aa,0x32a1,0x3014,0x5972,0x5bc7,0x5ccc,0x5e79,0x53a5,0x5110,0x561b,0x54ae,0x4f3e,0x4d8b,0x4a80,0x4835,0x45e9,0x475c,0x4057,0x42e2,0x72f6,0x7043,0x7748,0x75fd,0x7821,0x7a94,0x7d9f,0x7f2a,0x64ba,0x660f,0x6104,0x63b1,0x6e6d,0x6cd8,0x6bd3,0x6966,0xae93,0xac26,0xab2d,0xa998,0xa444,0xa6f1,0xa1fa,0xa34f,0xb8df,0xba6a,0xbd61,0xbfd4,0xb208,0xb0bd,0xb7b6,0xb503,0x8517,0x87a2,0x80a9,0x821c,0x8fc0,0x8d75,0x8a7e,0x88cb,0x935b,0x91ee,0x96e5,0x9450,0x998c,0x9b39,0x9c32,0x9e87,0xf7e1,0xf554,0xf25f,0xf0ea,0xfd36,0xff83,0xf888,0xfa3d,0xe1ad,0xe318,0xe413,0xe6a6,0xeb7a,0xe9cf,0xeec4,0xec71,0xdc65,0xded0,0xd9db,0xdb6e,0xd6b2,0xd407,0xd30c,0xd1b9,0xca29,0xc89c,0xcf97,0xcd22,0xc0fe,0xc24b,0xc540,0xc7f5,0x16f20,0x16d95,0x16a9e,0x1682b,0x165f7,0x16742,0x16049,0x162fc,0x1796c,0x17bd9,0x17cd2,0x17e67,0x173bb,0x1710e,0x17605,0x174b0,0x144a4,0x14611,0x1411a,0x143af,0x14e73,0x14cc6,0x14bcd,0x14978,0x152e8,0x1505d,0x15756,0x155e3,0x1583f,0x15a8a,0x15d81,0x15f34,0x13652,0x134e7,0x133ec,0x13159,0x13c85,0x13e30,0x1393b,0x13b8e,0x1201e,0x122ab,0x125a0,0x12715,0x12ac9,0x1287c,0x12f77,0x12dc2,0x11dd6,0x11f63,0x11868,0x11add,0x11701,0x115b4,0x112bf,0x1100a,0x10b9a,0x1092f,0x10e24,0x10c91,0x1014d,0x103f8,0x104f3,0x10646,0x1c1b3,0x1c306,0x1c40d,0x1c6b8,0x1cb64,0x1c9d1,0x1ceda,0x1cc6f,0x1d7ff,0x1d54a,0x1d241,0x1d0f4,0x1dd28,0x1df9d,0x1d896,0x1da23,0x1ea37,0x1e882,0x1ef89,0x1ed3c,0x1e0e0,0x1e255,0x1e55e,0x1e7eb,0x1fc7b,0x1fece,0x1f9c5,0x1fb70,0x1f6ac,0x1f419,0x1f312,0x1f1a7,0x198c1,0x19a74,0x19d7f,0x19fca,0x19216,0x190a3,0x197a8,0x1951d,0x18e8d,0x18c38,0x18b33,0x18986,0x1845a,0x186ef,0x181e4,0x18351,0x1b345,0x1b1f0,0x1b6fb,0x1b44e,0x1b992,0x1bb27,0x1bc2c,0x1be99,0x1a509,0x1a7bc,0x1a0b7,0x1a202,0x1afde,0x1ad6b,0x1aa60,0x1a8d5,
0x0,0x2b530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
}};
static unsigned s15_22[8][256*2] __attribute__((aligned(32))) = {
{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x10,0x12,0x14,0x16,0x1b,0x19,0x1f,0x1d,0x2a,0x28,0x2e,0x2c,0x21,0x23,0x25,0x27,0x3a,0x38,0x3e,0x3c,0x31,0x33,0x35,0x37,0x4c,0x4e,0x48,0x4a,0x47,0x45,0x43,0x41,0x5c,0x5e,0x58,0x5a,0x57,0x55,0x53,0x51,0x66,0x64,0x62,0x60,0x6d,0x6f,0x69,0x6b,0x76,0x74,0x72,0x70,0x7d,0x7f,0x79,0x7b,0xb5,0xb7,0xb1,0xb3,0xbe,0xbc,0xba,0xb8,0xa5,0xa7,0xa1,0xa3,0xae,0xac,0xaa,0xa8,0x9f,0x9d,0x9b,0x99,0x94,0x96,0x90,0x92,0x8f,0x8d,0x8b,0x89,0x84,0x86,0x80,0x82,0xf9,0xfb,0xfd,0xff,0xf2,0xf0,0xf6,0xf4,0xe9,0xeb,0xed,0xef,0xe2,0xe0,0xe6,0xe4,0xd3,0xd1,0xd7,0xd5,0xd8,0xda,0xdc,0xde,0xc3,0xc1,0xc7,0xc5,0xc8,0xca,0xcc,0xce,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x110,0x112,0x114,0x116,0x11b,0x119,0x11f,0x11d,0x12a,0x128,0x12e,0x12c,0x121,0x123,0x125,0x127,0x13a,0x138,0x13e,0x13c,0x131,0x133,0x135,0x137,0x14c,0x14e,0x148,0x14a,0x147,0x145,0x143,0x141,0x15c,0x15e,0x158,0x15a,0x157,0x155,0x153,0x151,0x166,0x164,0x162,0x160,0x16d,0x16f,0x169,0x16b,0x176,0x174,0x172,0x170,0x17d,0x17f,0x179,0x17b,0x1b5,0x1b7,0x1b1,0x1b3,0x1be,0x1bc,0x1ba,0x1b8,0x1a5,0x1a7,0x1a1,0x1a3,0x1ae,0x1ac,0x1aa,0x1a8,0x19f,0x19d,0x19b,0x199,0x194,0x196,0x190,0x192,0x18f,0x18d,0x18b,0x189,0x184,0x186,0x180,0x182,0x1f9,0x1fb,0x1fd,0x1ff,0x1f2,0x1f0,0x1f6,0x1f4,0x1e9,0x1eb,0x1ed,0x1ef,0x1e2,0x1e0,0x1e6,0x1e4,0x1d3,0x1d1,0x1d7,0x1d5,0x1d8,0x1da,0x1dc,0x1de,0x1c3,0x1c1,0x1c7,0x1c5,0x1c8,0x1ca,0x1cc,0x1ce,
0x0,0x2b4,0x4d2,0x666,0xb4d,0x9f9,0xf9f,0xd2b,0x1087,0x1233,0x1455,0x16e1,0x1bca,0x197e,0x1f18,0x1dac,0x2a88,0x283c,0x2e5a,0x2cee,0x21c5,0x2371,0x2517,0x27a3,0x3a0f,0x38bb,0x3edd,0x3c69,0x3142,0x33f6,0x3590,0x3724,0x4c36,0x4e82,0x48e4,0x4a50,0x477b,0x45cf,0x43a9,0x411d,0x5cb1,0x5e05,0x5863,0x5ad7,0x57fc,0x5548,0x532e,0x519a,0x66be,0x640a,0x626c,0x60d8,0x6df3,0x6f47,0x6921,0x6b95,0x7639,0x748d,0x72eb,0x705f,0x7d74,0x7fc0,0x79a6,0x7b12,0xb530,0xb784,0xb1e2,0xb356,0xbe7d,0xbcc9,0xbaaf,0xb81b,0xa5b7,0xa703,0xa165,0xa3d1,0xaefa,0xac4e,0xaa28,0xa89c,0x9fb8,0x9d0c,0x9b6a,0x99de,0x94f5,0x9641,0x9027,0x9293,0x8f3f,0x8d8b,0x8bed,0x8959,0x8472,0x86c6,0x80a0,0x8214,0xf906,0xfbb2,0xfdd4,0xff60,0xf24b,0xf0ff,0xf699,0xf42d,0xe981,0xeb35,0xed53,0xefe7,0xe2cc,0xe078,0xe61e,0xe4aa,0xd38e,0xd13a,0xd75c,0xd5e8,0xd8c3,0xda77,0xdc11,0xdea5,0xc309,0xc1bd,0xc7db,0xc56f,0xc844,0xcaf0,0xcc96,0xce22,0x10000,0x102b4,0x104d2,0x10666,0x10b4d,0x109f9,0x10f9f,0x10d2b,0x11087,0x11233,0x11455,0x116e1,0x11bca,0x1197e,0x11f18,0x11dac,0x12a88,0x1283c,0x12e5a,0x12cee,0x121c5,0x12371,0x12517,0x127a3,0x13a0f,0x138bb,0x13edd,0x13c69,0x13142,0x133f6,0x13590,0x13724,0x14c36,0x14e82,0x148e4,0x14a50,0x1477b,0x145cf,0x143a9,0x1411d,0x15cb1,0x15e05,0x15863,0x15ad7,0x157fc,0x15548,0x1532e,0x1519a,0x166be,0x1640a,0x1626c,0x160d8,0x16df3,0x16f47,0x16921,0x16b95,0x17639,0x1748d,0x172eb,0x1705f,0x17d74,0x17fc0,0x179a6,0x17b12,0x1b530,0x1b784,0x1b1e2,0x1b356,0x1be7d,0x1bcc9,0x1baaf,0x1b81b,0x1a5b7,0x1a703,0x1a165,0x1a3d1,0x1aefa,0x1ac4e,0x1aa28,0x1a89c,0x19fb8,0x19d0c,0x19b6a,0x199de,0x194f5,0x19641,0x19027,0x19293,0x18f3f,0x18d8b,0x18bed,0x18959,0x18472,0x186c6,0x180a0,0x18214,0x1f906,0x1fbb2,0x1fdd4,0x1ff60,0x1f24b,0x1f0ff,0x1f699,0x1f42d,0x1e981,0x1eb35,0x1ed53,0x1efe7,0x1e2cc,0x1e078,0x1e61e,0x1e4aa,0x1d38e,0x1d13a,0x1d75c,0x1d5e8,0x1d8c3,0x1da77,0x1dc11,0x1dea5,0x1c309,0x1c1bd,0x1c7db,0x1c56f,0x1c844,0x1caf0,0x1cc96,0x1ce22,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,0x100,0x102,0x104,0x106,0x108,0x10a,0x10c,0x10e,0x110,0x112,0x114,0x116,0x118,0x11a,0x11c,0x11e,0x120,0x122,0x124,0x126,0x128,0x12a,0x12c,0x12e,0x130,0x132,0x134,0x136,0x138,0x13a,0x13c,0x13e,0x140,0x142,0x144,0x146,0x148,0x14a,0x14c,0x14e,0x150,0x152,0x154,0x156,0x158,0x15a,0x15c,0x15e,0x160,0x162,0x164,0x166,0x168,0x16a,0x16c,0x16e,0x170,0x172,0x174,0x176,0x178,0x17a,0x17c,0x17e,0x180,0x182,0x184,0x186,0x188,0x18a,0x18c,0x18e,0x190,0x192,0x194,0x196,0x198,0x19a,0x19c,0x19e,0x1a0,0x1a2,0x1a4,0x1a6,0x1a8,0x1aa,0x1ac,0x1ae,0x1b0,0x1b2,0x1b4,0x1b6,0x1b8,0x1ba,0x1bc,0x1be,0x1c0,0x1c2,0x1c4,0x1c6,0x1c8,0x1ca,0x1cc,0x1ce,0x1d0,0x1d2,0x1d4,0x1d6,0x1d8,0x1da,0x1dc,0x1de,0x1e0,0x1e2,0x1e4,0x1e6,0x1e8,0x1ea,0x1ec,0x1ee,0x1f0,0x1f2,0x1f4,0x1f6,0x1f8,0x1fa,0x1fc,0x1fe,
0x0,0x200,0x400,0x600,0x800,0xa00,0xc00,0xe00,0x1000,0x1200,0x1400,0x1600,0x1800,0x1a00,0x1c00,0x1e00,0x2000,0x2200,0x2400,0x2600,0x2800,0x2a00,0x2c00,0x2e00,0x3000,0x3200,0x3400,0x3600,0x3800,0x3a00,0x3c00,0x3e00,0x4000,0x4200,0x4400,0x4600,0x4800,0x4a00,0x4c00,0x4e00,0x5000,0x5200,0x5400,0x5600,0x5800,0x5a00,0x5c00,0x5e00,0x6000,0x6200,0x6400,0x6600,0x6800,0x6a00,0x6c00,0x6e00,0x7000,0x7200,0x7400,0x7600,0x7800,0x7a00,0x7c00,0x7e00,0x8000,0x8200,0x8400,0x8600,0x8800,0x8a00,0x8c00,0x8e00,0x9000,0x9200,0x9400,0x9600,0x9800,0x9a00,0x9c00,0x9e00,0xa000,0xa200,0xa400,0xa600,0xa800,0xaa00,0xac00,0xae00,0xb000,0xb200,0xb400,0xb600,0xb800,0xba00,0xbc00,0xbe00,0xc000,0xc200,0xc400,0xc600,0xc800,0xca00,0xcc00,0xce00,0xd000,0xd200,0xd400,0xd600,0xd800,0xda00,0xdc00,0xde00,0xe000,0xe200,0xe400,0xe600,0xe800,0xea00,0xec00,0xee00,0xf000,0xf200,0xf400,0xf600,0xf800,0xfa00,0xfc00,0xfe00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x14,0x16,0x11,0x13,0x1c,0x1e,0x19,0x1b,0x27,0x25,0x22,0x20,0x2f,0x2d,0x2a,0x28,0x33,0x31,0x36,0x34,0x3b,0x39,0x3e,0x3c,0x5e,0x5c,0x5b,0x59,0x56,0x54,0x53,0x51,0x4a,0x48,0x4f,0x4d,0x42,0x40,0x47,0x45,0x79,0x7b,0x7c,0x7e,0x71,0x73,0x74,0x76,0x6d,0x6f,0x68,0x6a,0x65,0x67,0x60,0x62,0x80,0x82,0x85,0x87,0x88,0x8a,0x8d,0x8f,0x94,0x96,0x91,0x93,0x9c,0x9e,0x99,0x9b,0xa7,0xa5,0xa2,0xa0,0xaf,0xad,0xaa,0xa8,0xb3,0xb1,0xb6,0xb4,0xbb,0xb9,0xbe,0xbc,0xde,0xdc,0xdb,0xd9,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc2,0xc0,0xc7,0xc5,0xf9,0xfb,0xfc,0xfe,0xf1,0xf3,0xf4,0xf6,0xed,0xef,0xe8,0xea,0xe5,0xe7,0xe0,0xe2,0x140,0x142,0x145,0x147,0x148,0x14a,0x14d,0x14f,0x154,0x156,0x151,0x153,0x15c,0x15e,0x159,0x15b,0x167,0x165,0x162,0x160,0x16f,0x16d,0x16a,0x168,0x173,0x171,0x176,0x174,0x17b,0x179,0x17e,0x17c,0x11e,0x11c,0x11b,0x119,0x116,0x114,0x113,0x111,0x10a,0x108,0x10f,0x10d,0x102,0x100,0x107,0x105,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x12d,0x12f,0x128,0x12a,0x125,0x127,0x120,0x122,0x1c0,0x1c2,0x1c5,0x1c7,0x1c8,0x1ca,0x1cd,0x1cf,0x1d4,0x1d6,0x1d1,0x1d3,0x1dc,0x1de,0x1d9,0x1db,0x1e7,0x1e5,0x1e2,0x1e0,0x1ef,0x1ed,0x1ea,0x1e8,0x1f3,0x1f1,0x1f6,0x1f4,0x1fb,0x1f9,0x1fe,0x1fc,0x19e,0x19c,0x19b,0x199,0x196,0x194,0x193,0x191,0x18a,0x188,0x18f,0x18d,0x182,0x180,0x187,0x185,0x1b9,0x1bb,0x1bc,0x1be,0x1b1,0x1b3,0x1b4,0x1b6,0x1ad,0x1af,0x1a8,0x1aa,0x1a5,0x1a7,0x1a0,0x1a2,
0x0,0x270,0x5e0,0x790,0x85d,0xa2d,0xdbd,0xfcd,0x14fb,0x168b,0x111b,0x136b,0x1ca6,0x1ed6,0x1946,0x1b36,0x278f,0x25ff,0x226f,0x201f,0x2fd2,0x2da2,0x2a32,0x2842,0x3374,0x3104,0x3694,0x34e4,0x3b29,0x3959,0x3ec9,0x3cb9,0x5e4a,0x5c3a,0x5baa,0x59da,0x5617,0x5467,0x53f7,0x5187,0x4ab1,0x48c1,0x4f51,0x4d21,0x42ec,0x409c,0x470c,0x457c,0x79c5,0x7bb5,0x7c25,0x7e55,0x7198,0x73e8,0x7478,0x7608,0x6d3e,0x6f4e,0x68de,0x6aae,0x6563,0x6713,0x6083,0x62f3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x17,0x15,0x12,0x10,0x1d,0x1f,0x18,0x1a,0x29,0x2b,0x2c,0x2e,0x23,0x21,0x26,0x24,0x3e,0x3c,0x3b,0x39,0x34,0x36,0x31,0x33,0x5e,0x5c,0x5b,0x59,0x54,0x56,0x51,0x53,0x49,0x4b,0x4c,0x4e,0x43,0x41,0x46,0x44,0x77,0x75,0x72,0x70,0x7d,0x7f,0x78,0x7a,0x60,0x62,0x65,0x67,0x6a,0x68,0x6f,0x6d,0xa7,0xa5,0xa2,0xa0,0xad,0xaf,0xa8,0xaa,0xb0,0xb2,0xb5,0xb7,0xba,0xb8,0xbf,0xbd,0x8e,0x8c,0x8b,0x89,0x84,0x86,0x81,0x83,0x99,0x9b,0x9c,0x9e,0x93,0x91,0x96,0x94,0xf9,0xfb,0xfc,0xfe,0xf3,0xf1,0xf6,0xf4,0xee,0xec,0xeb,0xe9,0xe4,0xe6,0xe1,0xe3,0xd0,0xd2,0xd5,0xd7,0xda,0xd8,0xdf,0xdd,0xc7,0xc5,0xc2,0xc0,0xcd,0xcf,0xc8,0xca,0x17b,0x179,0x17e,0x17c,0x171,0x173,0x174,0x176,0x16c,0x16e,0x169,0x16b,0x166,0x164,0x163,0x161,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x145,0x147,0x140,0x142,0x14f,0x14d,0x14a,0x148,0x125,0x127,0x120,0x122,0x12f,0x12d,0x12a,0x128,0x132,0x130,0x137,0x135,0x138,0x13a,0x13d,0x13f,0x10c,0x10e,0x109,0x10b,0x106,0x104,0x103,0x101,0x11b,0x119,0x11e,0x11c,0x111,0x113,0x114,0x116,0x1dc,0x1de,0x1d9,0x1db,0x1d6,0x1d4,0x1d3,0x1d1,0x1cb,0x1c9,0x1ce,0x1cc,0x1c1,0x1c3,0x1c4,0x1c6,0x1f5,0x1f7,0x1f0,0x1f2,0x1ff,0x1fd,0x1fa,0x1f8,0x1e2,0x1e0,0x1e7,0x1e5,0x1e8,0x1ea,0x1ed,0x1ef,0x182,0x180,0x187,0x185,0x188,0x18a,0x18d,0x18f,0x195,0x197,0x190,0x192,0x19f,0x19d,0x19a,0x198,0x1ab,0x1a9,0x1ae,0x1ac,0x1a1,0x1a3,0x1a4,0x1a6,0x1bc,0x1be,0x1b9,0x1bb,0x1b6,0x1b4,0x1b3,0x1b1,
0x0,0x29d,0x5c8,0x755,0xa4c,0x8d1,0xf84,0xd19,0x1713,0x158e,0x12db,0x1046,0x1d5f,0x1fc2,0x1897,0x1a0a,0x2921,0x2bbc,0x2ce9,0x2e74,0x236d,0x21f0,0x26a5,0x2438,0x3e32,0x3caf,0x3bfa,0x3967,0x347e,0x36e3,0x31b6,0x332b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x11,0x13,0x15,0x17,0x1a,0x18,0x1e,0x1c,0x29,0x2b,0x2d,0x2f,0x22,0x20,0x26,0x24,0x38,0x3a,0x3c,0x3e,0x33,0x31,0x37,0x35,0x49,0x4b,0x4d,0x4f,0x42,0x40,0x46,0x44,0x58,0x5a,0x5c,0x5e,0x53,0x51,0x57,0x55,0x60,0x62,0x64,0x66,0x6b,0x69,0x6f,0x6d,0x71,0x73,0x75,0x77,0x7a,0x78,0x7e,0x7c,0xbf,0xbd,0xbb,0xb9,0xb4,0xb6,0xb0,0xb2,0xae,0xac,0xaa,0xa8,0xa5,0xa7,0xa1,0xa3,0x96,0x94,0x92,0x90,0x9d,0x9f,0x99,0x9b,0x87,0x85,0x83,0x81,0x8c,0x8e,0x88,0x8a,0xf6,0xf4,0xf2,0xf0,0xfd,0xff,0xf9,0xfb,0xe7,0xe5,0xe3,0xe1,0xec,0xee,0xe8,0xea,0xdf,0xdd,0xdb,0xd9,0xd4,0xd6,0xd0,0xd2,0xce,0xcc,0xca,0xc8,0xc5,0xc7,0xc1,0xc3,0x111,0x113,0x115,0x117,0x11a,0x118,0x11e,0x11c,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x138,0x13a,0x13c,0x13e,0x133,0x131,0x137,0x135,0x129,0x12b,0x12d,0x12f,0x122,0x120,0x126,0x124,0x158,0x15a,0x15c,0x15e,0x153,0x151,0x157,0x155,0x149,0x14b,0x14d,0x14f,0x142,0x140,0x146,0x144,0x171,0x173,0x175,0x177,0x17a,0x178,0x17e,0x17c,0x160,0x162,0x164,0x166,0x16b,0x169,0x16f,0x16d,0x1ae,0x1ac,0x1aa,0x1a8,0x1a5,0x1a7,0x1a1,0x1a3,0x1bf,0x1bd,0x1bb,0x1b9,0x1b4,0x1b6,0x1b0,0x1b2,0x187,0x185,0x183,0x181,0x18c,0x18e,0x188,0x18a,0x196,0x194,0x192,0x190,0x19d,0x19f,0x199,0x19b,0x1e7,0x1e5,0x1e3,0x1e1,0x1ec,0x1ee,0x1e8,0x1ea,0x1f6,0x1f4,0x1f2,0x1f0,0x1fd,0x1ff,0x1f9,0x1fb,0x1ce,0x1cc,0x1ca,0x1c8,0x1c5,0x1c7,0x1c1,0x1c3,0x1df,0x1dd,0x1db,0x1d9,0x1d4,0x1d6,0x1d0,0x1d2,
0x0,0x28c,0x480,0x60c,0xbe4,0x968,0xf64,0xde8,0x118f,0x1303,0x150f,0x1783,0x1a6b,0x18e7,0x1eeb,0x1c67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x11,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x22,0x20,0x26,0x24,0x2a,0x28,0x2e,0x2c,0x33,0x31,0x37,0x35,0x3b,0x39,0x3f,0x3d,0x44,0x46,0x40,0x42,0x4c,0x4e,0x48,0x4a,0x55,0x57,0x51,0x53,0x5d,0x5f,0x59,0x5b,0x66,0x64,0x62,0x60,0x6e,0x6c,0x6a,0x68,0x77,0x75,0x73,0x71,0x7f,0x7d,0x7b,0x79,0x88,0x8a,0x8c,0x8e,0x80,0x82,0x84,0x86,0x99,0x9b,0x9d,0x9f,0x91,0x93,0x95,0x97,0xaa,0xa8,0xae,0xac,0xa2,0xa0,0xa6,0xa4,0xbb,0xb9,0xbf,0xbd,0xb3,0xb1,0xb7,0xb5,0xcc,0xce,0xc8,0xca,0xc4,0xc6,0xc0,0xc2,0xdd,0xdf,0xd9,0xdb,0xd5,0xd7,0xd1,0xd3,0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xff,0xfd,0xfb,0xf9,0xf7,0xf5,0xf3,0xf1,0x119,0x11b,0x11d,0x11f,0x111,0x113,0x115,0x117,0x108,0x10a,0x10c,0x10e,0x100,0x102,0x104,0x106,0x13b,0x139,0x13f,0x13d,0x133,0x131,0x137,0x135,0x12a,0x128,0x12e,0x12c,0x122,0x120,0x126,0x124,0x15d,0x15f,0x159,0x15b,0x155,0x157,0x151,0x153,0x14c,0x14e,0x148,0x14a,0x144,0x146,0x140,0x142,0x17f,0x17d,0x17b,0x179,0x177,0x175,0x173,0x171,0x16e,0x16c,0x16a,0x168,0x166,0x164,0x162,0x160,0x191,0x193,0x195,0x197,0x199,0x19b,0x19d,0x19f,0x180,0x182,0x184,0x186,0x188,0x18a,0x18c,0x18e,0x1b3,0x1b1,0x1b7,0x1b5,0x1bb,0x1b9,0x1bf,0x1bd,0x1a2,0x1a0,0x1a6,0x1a4,0x1aa,0x1a8,0x1ae,0x1ac,0x1d5,0x1d7,0x1d1,0x1d3,0x1dd,0x1df,0x1d9,0x1db,0x1c4,0x1c6,0x1c0,0x1c2,0x1cc,0x1ce,0x1c8,0x1ca,0x1f7,0x1f5,0x1f3,0x1f1,0x1ff,0x1fd,0x1fb,0x1f9,0x1e6,0x1e4,0x1e2,0x1e0,0x1ee,0x1ec,0x1ea,0x1e8,
0x0,0x22e,0x44f,0x661,0x885,0xaab,0xcca,0xee4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x15,0x17,0x10,0x12,0x1d,0x1f,0x18,0x1a,0x25,0x27,0x20,0x22,0x2d,0x2f,0x28,0x2a,0x30,0x32,0x35,0x37,0x38,0x3a,0x3d,0x3f,0x5b,0x59,0x5e,0x5c,0x53,0x51,0x56,0x54,0x4e,0x4c,0x4b,0x49,0x46,0x44,0x43,0x41,0x7e,0x7c,0x7b,0x79,0x76,0x74,0x73,0x71,0x6b,0x69,0x6e,0x6c,0x63,0x61,0x66,0x64,0x8d,0x8f,0x88,0x8a,0x85,0x87,0x80,0x82,0x98,0x9a,0x9d,0x9f,0x90,0x92,0x95,0x97,0xa8,0xaa,0xad,0xaf,0xa0,0xa2,0xa5,0xa7,0xbd,0xbf,0xb8,0xba,0xb5,0xb7,0xb0,0xb2,0xd6,0xd4,0xd3,0xd1,0xde,0xdc,0xdb,0xd9,0xc3,0xc1,0xc6,0xc4,0xcb,0xc9,0xce,0xcc,0xf3,0xf1,0xf6,0xf4,0xfb,0xf9,0xfe,0xfc,0xe6,0xe4,0xe3,0xe1,0xee,0xec,0xeb,0xe9,0x152,0x150,0x157,0x155,0x15a,0x158,0x15f,0x15d,0x147,0x145,0x142,0x140,0x14f,0x14d,0x14a,0x148,0x177,0x175,0x172,0x170,0x17f,0x17d,0x17a,0x178,0x162,0x160,0x167,0x165,0x16a,0x168,0x16f,0x16d,0x109,0x10b,0x10c,0x10e,0x101,0x103,0x104,0x106,0x11c,0x11e,0x119,0x11b,0x114,0x116,0x111,0x113,0x12c,0x12e,0x129,0x12b,0x124,0x126,0x121,0x123,0x139,0x13b,0x13c,0x13e,0x131,0x133,0x134,0x136,0x1df,0x1dd,0x1da,0x1d8,0x1d7,0x1d5,0x1d2,0x1d0,0x1ca,0x1c8,0x1cf,0x1cd,0x1c2,0x1c0,0x1c7,0x1c5,0x1fa,0x1f8,0x1ff,0x1fd,0x1f2,0x1f0,0x1f7,0x1f5,0x1ef,0x1ed,0x1ea,0x1e8,0x1e7,0x1e5,0x1e2,0x1e0,0x184,0x186,0x181,0x183,0x18c,0x18e,0x189,0x18b,0x191,0x193,0x194,0x196,0x199,0x19b,0x19c,0x19e,0x1a1,0x1a3,0x1a4,0x1a6,0x1a9,0x1ab,0x1ac,0x1ae,0x1b4,0x1b6,0x1b1,0x1b3,0x1bc,0x1be,0x1b9,0x1bb,
0x0,0x251,0x5bc,0x7ed,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x16,0x14,0x13,0x11,0x1c,0x1e,0x19,0x1b,0x2b,0x29,0x2e,0x2c,0x21,0x23,0x24,0x26,0x3d,0x3f,0x38,0x3a,0x37,0x35,0x32,0x30,0x59,0x5b,0x5c,0x5e,0x53,0x51,0x56,0x54,0x4f,0x4d,0x4a,0x48,0x45,0x47,0x40,0x42,0x72,0x70,0x77,0x75,0x78,0x7a,0x7d,0x7f,0x64,0x66,0x61,0x63,0x6e,0x6c,0x6b,0x69,0xae,0xac,0xab,0xa9,0xa4,0xa6,0xa1,0xa3,0xb8,0xba,0xbd,0xbf,0xb2,0xb0,0xb7,0xb5,0x85,0x87,0x80,0x82,0x8f,0x8d,0x8a,0x88,0x93,0x91,0x96,0x94,0x99,0x9b,0x9c,0x9e,0xf7,0xf5,0xf2,0xf0,0xfd,0xff,0xf8,0xfa,0xe1,0xe3,0xe4,0xe6,0xeb,0xe9,0xee,0xec,0xdc,0xde,0xd9,0xdb,0xd6,0xd4,0xd3,0xd1,0xca,0xc8,0xcf,0xcd,0xc0,0xc2,0xc5,0xc7,0x16f,0x16d,0x16a,0x168,0x165,0x167,0x160,0x162,0x179,0x17b,0x17c,0x17e,0x173,0x171,0x176,0x174,0x144,0x146,0x141,0x143,0x14e,0x14c,0x14b,0x149,0x152,0x150,0x157,0x155,0x158,0x15a,0x15d,0x15f,0x136,0x134,0x133,0x131,0x13c,0x13e,0x139,0x13b,0x120,0x122,0x125,0x127,0x12a,0x128,0x12f,0x12d,0x11d,0x11f,0x118,0x11a,0x117,0x115,0x112,0x110,0x10b,0x109,0x10e,0x10c,0x101,0x103,0x104,0x106,0x1c1,0x1c3,0x1c4,0x1c6,0x1cb,0x1c9,0x1ce,0x1cc,0x1d7,0x1d5,0x1d2,0x1d0,0x1dd,0x1df,0x1d8,0x1da,0x1ea,0x1e8,0x1ef,0x1ed,0x1e0,0x1e2,0x1e5,0x1e7,0x1fc,0x1fe,0x1f9,0x1fb,0x1f6,0x1f4,0x1f3,0x1f1,0x198,0x19a,0x19d,0x19f,0x192,0x190,0x197,0x195,0x18e,0x18c,0x18b,0x189,0x184,0x186,0x181,0x183,0x1b3,0x1b1,0x1b6,0x1b4,0x1b9,0x1bb,0x1bc,0x1be,0x1a5,0x1a7,0x1a0,0x1a2,0x1af,0x1ad,0x1aa,0x1a8,
0x0,0x2b5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
}};
static unsigned s23_30[8][256] __attribute__((aligned(32))) = {
{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x10,0x12,0x14,0x16,0x1b,0x19,0x1f,0x1d,0x2a,0x28,0x2e,0x2c,0x21,0x23,0x25,0x27,0x3a,0x38,0x3e,0x3c,0x31,0x33,0x35,0x37,0x4c,0x4e,0x48,0x4a,0x47,0x45,0x43,0x41,0x5c,0x5e,0x58,0x5a,0x57,0x55,0x53,0x51,0x66,0x64,0x62,0x60,0x6d,0x6f,0x69,0x6b,0x76,0x74,0x72,0x70,0x7d,0x7f,0x79,0x7b,0xb5,0xb7,0xb1,0xb3,0xbe,0xbc,0xba,0xb8,0xa5,0xa7,0xa1,0xa3,0xae,0xac,0xaa,0xa8,0x9f,0x9d,0x9b,0x99,0x94,0x96,0x90,0x92,0x8f,0x8d,0x8b,0x89,0x84,0x86,0x80,0x82,0xf9,0xfb,0xfd,0xff,0xf2,0xf0,0xf6,0xf4,0xe9,0xeb,0xed,0xef,0xe2,0xe0,0xe6,0xe4,0xd3,0xd1,0xd7,0xd5,0xd8,0xda,0xdc,0xde,0xc3,0xc1,0xc7,0xc5,0xc8,0xca,0xcc,0xce,0x100,0x102,0x104,0x106,0x10b,0x109,0x10f,0x10d,0x110,0x112,0x114,0x116,0x11b,0x119,0x11f,0x11d,0x12a,0x128,0x12e,0x12c,0x121,0x123,0x125,0x127,0x13a,0x138,0x13e,0x13c,0x131,0x133,0x135,0x137,0x14c,0x14e,0x148,0x14a,0x147,0x145,0x143,0x141,0x15c,0x15e,0x158,0x15a,0x157,0x155,0x153,0x151,0x166,0x164,0x162,0x160,0x16d,0x16f,0x169,0x16b,0x176,0x174,0x172,0x170,0x17d,0x17f,0x179,0x17b,0x1b5,0x1b7,0x1b1,0x1b3,0x1be,0x1bc,0x1ba,0x1b8,0x1a5,0x1a7,0x1a1,0x1a3,0x1ae,0x1ac,0x1aa,0x1a8,0x19f,0x19d,0x19b,0x199,0x194,0x196,0x190,0x192,0x18f,0x18d,0x18b,0x189,0x184,0x186,0x180,0x182,0x1f9,0x1fb,0x1fd,0x1ff,0x1f2,0x1f0,0x1f6,0x1f4,0x1e9,0x1eb,0x1ed,0x1ef,0x1e2,0x1e0,0x1e6,0x1e4,0x1d3,0x1d1,0x1d7,0x1d5,0x1d8,0x1da,0x1dc,0x1de,0x1c3,0x1c1,0x1c7,0x1c5,0x1c8,0x1ca,0x1cc,0x1ce,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0x8,0xa,0xd,0xf,0x14,0x16,0x11,0x13,0x1c,0x1e,0x19,0x1b,0x27,0x25,0x22,0x20,0x2f,0x2d,0x2a,0x28,0x33,0x31,0x36,0x34,0x3b,0x39,0x3e,0x3c,0x5e,0x5c,0x5b,0x59,0x56,0x54,0x53,0x51,0x4a,0x48,0x4f,0x4d,0x42,0x40,0x47,0x45,0x79,0x7b,0x7c,0x7e,0x71,0x73,0x74,0x76,0x6d,0x6f,0x68,0x6a,0x65,0x67,0x60,0x62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0xa,0x8,0xf,0xd,0x17,0x15,0x12,0x10,0x1d,0x1f,0x18,0x1a,0x29,0x2b,0x2c,0x2e,0x23,0x21,0x26,0x24,0x3e,0x3c,0x3b,0x39,0x34,0x36,0x31,0x33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0xb,0x9,0xf,0xd,0x11,0x13,0x15,0x17,0x1a,0x18,0x1e,0x1c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x4,0x6,0x8,0xa,0xc,0xe,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0x5,0x7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
},{
0x0,0x2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
}};
unsigned get_s_k_a( unsigned k , unsigned a )
{
//return calc_s_k_a( k , a );
if( 0 == k ) return a*2;
unsigned * s_k_a = NULL;
if( 7 > k ) s_k_a = s1_6[k-1];
else if( 15 > k ) s_k_a = s7_14[k-7];
else if( 23 > k ) s_k_a = s15_22[k-15];
else s_k_a = s23_30[k-23];
unsigned r = 0;
while( a ) {
r ^= s_k_a[ a&0xff ];
a >>= 8;
s_k_a += 256;
}
return r;
}