-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathshuffle_table.go
261 lines (260 loc) · 20.9 KB
/
shuffle_table.go
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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
package svb
// https://github.com/lemire/streamvbyte/blob/master/src/streamvbyte_shuffle_tables_decode.h#L25
var ShuffleTable = [256][16]byte{
{0, 128, 128, 128, 1, 128, 128, 128, 2, 128, 128, 128, 3, 128, 128, 128}, // 0000
{0, 1, 128, 128, 2, 128, 128, 128, 3, 128, 128, 128, 4, 128, 128, 128}, // 1000
{0, 1, 2, 128, 3, 128, 128, 128, 4, 128, 128, 128, 5, 128, 128, 128}, // 2000
{0, 1, 2, 3, 4, 128, 128, 128, 5, 128, 128, 128, 6, 128, 128, 128}, // 3000
{0, 128, 128, 128, 1, 2, 128, 128, 3, 128, 128, 128, 4, 128, 128, 128}, // 0100
{0, 1, 128, 128, 2, 3, 128, 128, 4, 128, 128, 128, 5, 128, 128, 128}, // 1100
{0, 1, 2, 128, 3, 4, 128, 128, 5, 128, 128, 128, 6, 128, 128, 128}, // 2100
{0, 1, 2, 3, 4, 5, 128, 128, 6, 128, 128, 128, 7, 128, 128, 128}, // 3100
{0, 128, 128, 128, 1, 2, 3, 128, 4, 128, 128, 128, 5, 128, 128, 128}, // 0200
{0, 1, 128, 128, 2, 3, 4, 128, 5, 128, 128, 128, 6, 128, 128, 128}, // 1200
{0, 1, 2, 128, 3, 4, 5, 128, 6, 128, 128, 128, 7, 128, 128, 128}, // 2200
{0, 1, 2, 3, 4, 5, 6, 128, 7, 128, 128, 128, 8, 128, 128, 128}, // 3200
{0, 128, 128, 128, 1, 2, 3, 4, 5, 128, 128, 128, 6, 128, 128, 128}, // 0300
{0, 1, 128, 128, 2, 3, 4, 5, 6, 128, 128, 128, 7, 128, 128, 128}, // 1300
{0, 1, 2, 128, 3, 4, 5, 6, 7, 128, 128, 128, 8, 128, 128, 128}, // 2300
{0, 1, 2, 3, 4, 5, 6, 7, 8, 128, 128, 128, 9, 128, 128, 128}, // 3300
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 128, 128, 4, 128, 128, 128}, // 0010
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 128, 128, 5, 128, 128, 128}, // 1010
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 128, 128, 6, 128, 128, 128}, // 2010
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 128, 128, 7, 128, 128, 128}, // 3010
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 128, 128, 5, 128, 128, 128}, // 0110
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 128, 128, 6, 128, 128, 128}, // 1110
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 128, 128, 7, 128, 128, 128}, // 2110
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 128, 128, 8, 128, 128, 128}, // 3110
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 128, 128, 6, 128, 128, 128}, // 0210
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 128, 128, 7, 128, 128, 128}, // 1210
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 128, 128, 8, 128, 128, 128}, // 2210
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 128, 128, 9, 128, 128, 128}, // 3210
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 128, 128, 7, 128, 128, 128}, // 0310
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 128, 128, 8, 128, 128, 128}, // 1310
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 128, 128, 9, 128, 128, 128}, // 2310
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128, 128, 10, 128, 128, 128}, // 3310
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 128, 5, 128, 128, 128}, // 0020
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 128, 6, 128, 128, 128}, // 1020
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 128, 7, 128, 128, 128}, // 2020
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 128, 8, 128, 128, 128}, // 3020
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 128, 6, 128, 128, 128}, // 0120
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 128, 7, 128, 128, 128}, // 1120
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 128, 8, 128, 128, 128}, // 2120
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 128, 9, 128, 128, 128}, // 3120
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 128, 7, 128, 128, 128}, // 0220
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 128, 8, 128, 128, 128}, // 1220
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 128, 9, 128, 128, 128}, // 2220
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 128, 10, 128, 128, 128}, // 3220
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 128, 8, 128, 128, 128}, // 0320
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 128, 9, 128, 128, 128}, // 1320
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 128, 10, 128, 128, 128}, // 2320
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 11, 128, 128, 128}, // 3320
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 5, 6, 128, 128, 128}, // 0030
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 6, 7, 128, 128, 128}, // 1030
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 7, 8, 128, 128, 128}, // 2030
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 8, 9, 128, 128, 128}, // 3030
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 6, 7, 128, 128, 128}, // 0130
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 7, 8, 128, 128, 128}, // 1130
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 8, 9, 128, 128, 128}, // 2130
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 9, 10, 128, 128, 128}, // 3130
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 7, 8, 128, 128, 128}, // 0230
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 8, 9, 128, 128, 128}, // 1230
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 9, 10, 128, 128, 128}, // 2230
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 10, 11, 128, 128, 128}, // 3230
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128, 128, 128}, // 0330
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 128, 128}, // 1330
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 10, 11, 128, 128, 128}, // 2330
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 128, 128, 128}, // 3330
{0, 128, 128, 128, 1, 128, 128, 128, 2, 128, 128, 128, 3, 4, 128, 128}, // 0001
{0, 1, 128, 128, 2, 128, 128, 128, 3, 128, 128, 128, 4, 5, 128, 128}, // 1001
{0, 1, 2, 128, 3, 128, 128, 128, 4, 128, 128, 128, 5, 6, 128, 128}, // 2001
{0, 1, 2, 3, 4, 128, 128, 128, 5, 128, 128, 128, 6, 7, 128, 128}, // 3001
{0, 128, 128, 128, 1, 2, 128, 128, 3, 128, 128, 128, 4, 5, 128, 128}, // 0101
{0, 1, 128, 128, 2, 3, 128, 128, 4, 128, 128, 128, 5, 6, 128, 128}, // 1101
{0, 1, 2, 128, 3, 4, 128, 128, 5, 128, 128, 128, 6, 7, 128, 128}, // 2101
{0, 1, 2, 3, 4, 5, 128, 128, 6, 128, 128, 128, 7, 8, 128, 128}, // 3101
{0, 128, 128, 128, 1, 2, 3, 128, 4, 128, 128, 128, 5, 6, 128, 128}, // 0201
{0, 1, 128, 128, 2, 3, 4, 128, 5, 128, 128, 128, 6, 7, 128, 128}, // 1201
{0, 1, 2, 128, 3, 4, 5, 128, 6, 128, 128, 128, 7, 8, 128, 128}, // 2201
{0, 1, 2, 3, 4, 5, 6, 128, 7, 128, 128, 128, 8, 9, 128, 128}, // 3201
{0, 128, 128, 128, 1, 2, 3, 4, 5, 128, 128, 128, 6, 7, 128, 128}, // 0301
{0, 1, 128, 128, 2, 3, 4, 5, 6, 128, 128, 128, 7, 8, 128, 128}, // 1301
{0, 1, 2, 128, 3, 4, 5, 6, 7, 128, 128, 128, 8, 9, 128, 128}, // 2301
{0, 1, 2, 3, 4, 5, 6, 7, 8, 128, 128, 128, 9, 10, 128, 128}, // 3301
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 128, 128, 4, 5, 128, 128}, // 0011
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 128, 128, 5, 6, 128, 128}, // 1011
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 128, 128, 6, 7, 128, 128}, // 2011
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 128, 128, 7, 8, 128, 128}, // 3011
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 128, 128, 5, 6, 128, 128}, // 0111
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 128, 128, 6, 7, 128, 128}, // 1111
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 128, 128, 7, 8, 128, 128}, // 2111
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 128, 128, 8, 9, 128, 128}, // 3111
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 128, 128, 6, 7, 128, 128}, // 0211
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 128, 128, 7, 8, 128, 128}, // 1211
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 128, 128, 8, 9, 128, 128}, // 2211
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 128, 128, 9, 10, 128, 128}, // 3211
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 128, 128, 7, 8, 128, 128}, // 0311
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 128, 128, 8, 9, 128, 128}, // 1311
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 128, 128, 9, 10, 128, 128}, // 2311
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128, 128, 10, 11, 128, 128}, // 3311
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 128, 5, 6, 128, 128}, // 0021
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 128, 6, 7, 128, 128}, // 1021
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 128, 7, 8, 128, 128}, // 2021
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 128, 8, 9, 128, 128}, // 3021
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 128, 6, 7, 128, 128}, // 0121
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 128, 7, 8, 128, 128}, // 1121
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 128, 8, 9, 128, 128}, // 2121
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 128, 9, 10, 128, 128}, // 3121
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 128, 7, 8, 128, 128}, // 0221
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 128, 8, 9, 128, 128}, // 1221
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 128, 9, 10, 128, 128}, // 2221
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 128, 10, 11, 128, 128}, // 3221
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 128, 8, 9, 128, 128}, // 0321
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 128, 9, 10, 128, 128}, // 1321
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 128, 10, 11, 128, 128}, // 2321
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 11, 12, 128, 128}, // 3321
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 5, 6, 7, 128, 128}, // 0031
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 6, 7, 8, 128, 128}, // 1031
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 7, 8, 9, 128, 128}, // 2031
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 8, 9, 10, 128, 128}, // 3031
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 6, 7, 8, 128, 128}, // 0131
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 7, 8, 9, 128, 128}, // 1131
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 8, 9, 10, 128, 128}, // 2131
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 9, 10, 11, 128, 128}, // 3131
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 7, 8, 9, 128, 128}, // 0231
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 8, 9, 10, 128, 128}, // 1231
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 9, 10, 11, 128, 128}, // 2231
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 10, 11, 12, 128, 128}, // 3231
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 128}, // 0331
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 128, 128}, // 1331
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 128, 128}, // 2331
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 128, 128}, // 3331
{0, 128, 128, 128, 1, 128, 128, 128, 2, 128, 128, 128, 3, 4, 5, 128}, // 0002
{0, 1, 128, 128, 2, 128, 128, 128, 3, 128, 128, 128, 4, 5, 6, 128}, // 1002
{0, 1, 2, 128, 3, 128, 128, 128, 4, 128, 128, 128, 5, 6, 7, 128}, // 2002
{0, 1, 2, 3, 4, 128, 128, 128, 5, 128, 128, 128, 6, 7, 8, 128}, // 3002
{0, 128, 128, 128, 1, 2, 128, 128, 3, 128, 128, 128, 4, 5, 6, 128}, // 0102
{0, 1, 128, 128, 2, 3, 128, 128, 4, 128, 128, 128, 5, 6, 7, 128}, // 1102
{0, 1, 2, 128, 3, 4, 128, 128, 5, 128, 128, 128, 6, 7, 8, 128}, // 2102
{0, 1, 2, 3, 4, 5, 128, 128, 6, 128, 128, 128, 7, 8, 9, 128}, // 3102
{0, 128, 128, 128, 1, 2, 3, 128, 4, 128, 128, 128, 5, 6, 7, 128}, // 0202
{0, 1, 128, 128, 2, 3, 4, 128, 5, 128, 128, 128, 6, 7, 8, 128}, // 1202
{0, 1, 2, 128, 3, 4, 5, 128, 6, 128, 128, 128, 7, 8, 9, 128}, // 2202
{0, 1, 2, 3, 4, 5, 6, 128, 7, 128, 128, 128, 8, 9, 10, 128}, // 3202
{0, 128, 128, 128, 1, 2, 3, 4, 5, 128, 128, 128, 6, 7, 8, 128}, // 0302
{0, 1, 128, 128, 2, 3, 4, 5, 6, 128, 128, 128, 7, 8, 9, 128}, // 1302
{0, 1, 2, 128, 3, 4, 5, 6, 7, 128, 128, 128, 8, 9, 10, 128}, // 2302
{0, 1, 2, 3, 4, 5, 6, 7, 8, 128, 128, 128, 9, 10, 11, 128}, // 3302
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 128, 128, 4, 5, 6, 128}, // 0012
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 128, 128, 5, 6, 7, 128}, // 1012
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 128, 128, 6, 7, 8, 128}, // 2012
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 128, 128, 7, 8, 9, 128}, // 3012
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 128, 128, 5, 6, 7, 128}, // 0112
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 128, 128, 6, 7, 8, 128}, // 1112
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 128, 128, 7, 8, 9, 128}, // 2112
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 128, 128, 8, 9, 10, 128}, // 3112
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 128, 128, 6, 7, 8, 128}, // 0212
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 128, 128, 7, 8, 9, 128}, // 1212
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 128, 128, 8, 9, 10, 128}, // 2212
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 128, 128, 9, 10, 11, 128}, // 3212
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 128, 128, 7, 8, 9, 128}, // 0312
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 128, 128, 8, 9, 10, 128}, // 1312
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 128, 128, 9, 10, 11, 128}, // 2312
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128, 128, 10, 11, 12, 128}, // 3312
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 128, 5, 6, 7, 128}, // 0022
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 128, 6, 7, 8, 128}, // 1022
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 128, 7, 8, 9, 128}, // 2022
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 128, 8, 9, 10, 128}, // 3022
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 128, 6, 7, 8, 128}, // 0122
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 128, 7, 8, 9, 128}, // 1122
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 128, 8, 9, 10, 128}, // 2122
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 128, 9, 10, 11, 128}, // 3122
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 128, 7, 8, 9, 128}, // 0222
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 128, 8, 9, 10, 128}, // 1222
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 128, 9, 10, 11, 128}, // 2222
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 128, 10, 11, 12, 128}, // 3222
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 128, 8, 9, 10, 128}, // 0322
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 128, 9, 10, 11, 128}, // 1322
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 128, 10, 11, 12, 128}, // 2322
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 11, 12, 13, 128}, // 3322
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 5, 6, 7, 8, 128}, // 0032
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 6, 7, 8, 9, 128}, // 1032
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 7, 8, 9, 10, 128}, // 2032
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 8, 9, 10, 11, 128}, // 3032
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 6, 7, 8, 9, 128}, // 0132
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 7, 8, 9, 10, 128}, // 1132
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 8, 9, 10, 11, 128}, // 2132
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 9, 10, 11, 12, 128}, // 3132
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 7, 8, 9, 10, 128}, // 0232
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 8, 9, 10, 11, 128}, // 1232
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 9, 10, 11, 12, 128}, // 2232
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 10, 11, 12, 13, 128}, // 3232
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 128}, // 0332
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 128}, // 1332
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 128}, // 2332
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 128}, // 3332
{0, 128, 128, 128, 1, 128, 128, 128, 2, 128, 128, 128, 3, 4, 5, 6}, // 0003
{0, 1, 128, 128, 2, 128, 128, 128, 3, 128, 128, 128, 4, 5, 6, 7}, // 1003
{0, 1, 2, 128, 3, 128, 128, 128, 4, 128, 128, 128, 5, 6, 7, 8}, // 2003
{0, 1, 2, 3, 4, 128, 128, 128, 5, 128, 128, 128, 6, 7, 8, 9}, // 3003
{0, 128, 128, 128, 1, 2, 128, 128, 3, 128, 128, 128, 4, 5, 6, 7}, // 0103
{0, 1, 128, 128, 2, 3, 128, 128, 4, 128, 128, 128, 5, 6, 7, 8}, // 1103
{0, 1, 2, 128, 3, 4, 128, 128, 5, 128, 128, 128, 6, 7, 8, 9}, // 2103
{0, 1, 2, 3, 4, 5, 128, 128, 6, 128, 128, 128, 7, 8, 9, 10}, // 3103
{0, 128, 128, 128, 1, 2, 3, 128, 4, 128, 128, 128, 5, 6, 7, 8}, // 0203
{0, 1, 128, 128, 2, 3, 4, 128, 5, 128, 128, 128, 6, 7, 8, 9}, // 1203
{0, 1, 2, 128, 3, 4, 5, 128, 6, 128, 128, 128, 7, 8, 9, 10}, // 2203
{0, 1, 2, 3, 4, 5, 6, 128, 7, 128, 128, 128, 8, 9, 10, 11}, // 3203
{0, 128, 128, 128, 1, 2, 3, 4, 5, 128, 128, 128, 6, 7, 8, 9}, // 0303
{0, 1, 128, 128, 2, 3, 4, 5, 6, 128, 128, 128, 7, 8, 9, 10}, // 1303
{0, 1, 2, 128, 3, 4, 5, 6, 7, 128, 128, 128, 8, 9, 10, 11}, // 2303
{0, 1, 2, 3, 4, 5, 6, 7, 8, 128, 128, 128, 9, 10, 11, 12}, // 3303
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 128, 128, 4, 5, 6, 7}, // 0013
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 128, 128, 5, 6, 7, 8}, // 1013
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 128, 128, 6, 7, 8, 9}, // 2013
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 128, 128, 7, 8, 9, 10}, // 3013
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 128, 128, 5, 6, 7, 8}, // 0113
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 128, 128, 6, 7, 8, 9}, // 1113
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 128, 128, 7, 8, 9, 10}, // 2113
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 128, 128, 8, 9, 10, 11}, // 3113
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 128, 128, 6, 7, 8, 9}, // 0213
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 128, 128, 7, 8, 9, 10}, // 1213
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 128, 128, 8, 9, 10, 11}, // 2213
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 128, 128, 9, 10, 11, 12}, // 3213
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 128, 128, 7, 8, 9, 10}, // 0313
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 128, 128, 8, 9, 10, 11}, // 1313
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 128, 128, 9, 10, 11, 12}, // 2313
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128, 128, 10, 11, 12, 13}, // 3313
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 128, 5, 6, 7, 8}, // 0023
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 128, 6, 7, 8, 9}, // 1023
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 128, 7, 8, 9, 10}, // 2023
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 128, 8, 9, 10, 11}, // 3023
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 128, 6, 7, 8, 9}, // 0123
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 128, 7, 8, 9, 10}, // 1123
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 128, 8, 9, 10, 11}, // 2123
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 128, 9, 10, 11, 12}, // 3123
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 128, 7, 8, 9, 10}, // 0223
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 128, 8, 9, 10, 11}, // 1223
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 128, 9, 10, 11, 12}, // 2223
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 128, 10, 11, 12, 13}, // 3223
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 128, 8, 9, 10, 11}, // 0323
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 128, 9, 10, 11, 12}, // 1323
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 128, 10, 11, 12, 13}, // 2323
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 128, 11, 12, 13, 14}, // 3323
{0, 128, 128, 128, 1, 128, 128, 128, 2, 3, 4, 5, 6, 7, 8, 9}, // 0033
{0, 1, 128, 128, 2, 128, 128, 128, 3, 4, 5, 6, 7, 8, 9, 10}, // 1033
{0, 1, 2, 128, 3, 128, 128, 128, 4, 5, 6, 7, 8, 9, 10, 11}, // 2033
{0, 1, 2, 3, 4, 128, 128, 128, 5, 6, 7, 8, 9, 10, 11, 12}, // 3033
{0, 128, 128, 128, 1, 2, 128, 128, 3, 4, 5, 6, 7, 8, 9, 10}, // 0133
{0, 1, 128, 128, 2, 3, 128, 128, 4, 5, 6, 7, 8, 9, 10, 11}, // 1133
{0, 1, 2, 128, 3, 4, 128, 128, 5, 6, 7, 8, 9, 10, 11, 12}, // 2133
{0, 1, 2, 3, 4, 5, 128, 128, 6, 7, 8, 9, 10, 11, 12, 13}, // 3133
{0, 128, 128, 128, 1, 2, 3, 128, 4, 5, 6, 7, 8, 9, 10, 11}, // 0233
{0, 1, 128, 128, 2, 3, 4, 128, 5, 6, 7, 8, 9, 10, 11, 12}, // 1233
{0, 1, 2, 128, 3, 4, 5, 128, 6, 7, 8, 9, 10, 11, 12, 13}, // 2233
{0, 1, 2, 3, 4, 5, 6, 128, 7, 8, 9, 10, 11, 12, 13, 14}, // 3233
{0, 128, 128, 128, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, // 0333
{0, 1, 128, 128, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, // 1333
{0, 1, 2, 128, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, // 2333
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, // 3333
}