Browse code

DCA decoder

Originally committed as revision 8141 to svn://svn.ffmpeg.org/ffmpeg/trunk

Kostya Shishkov authored on 2007/02/27 15:30:40
Showing 8 changed files
... ...
@@ -72,6 +72,7 @@ version <next>
72 72
 - BMP encoder
73 73
 - WMA encoder
74 74
 - GSM-MS encoder and decoder
75
+- DCA decoder
75 76
 
76 77
 version 0.4.9-pre1:
77 78
 
... ...
@@ -1082,6 +1082,7 @@ following image formats are supported:
1082 1082
 @item Intel Music Coder      @tab      @tab X
1083 1083
 @item Musepack               @tab      @tab X
1084 1084
 @tab Only SV7 is supported
1085
+@item DT$ Coherent Audio     @tab      @tab X
1085 1086
 @end multitable
1086 1087
 
1087 1088
 @code{X} means that encoding (resp. decoding) is supported.
... ...
@@ -63,6 +63,7 @@ OBJS-$(CONFIG_CLJR_ENCODER)            += cljr.o
63 63
 OBJS-$(CONFIG_COOK_DECODER)            += cook.o
64 64
 OBJS-$(CONFIG_CSCD_DECODER)            += cscd.o
65 65
 OBJS-$(CONFIG_CYUV_DECODER)            += cyuv.o
66
+OBJS-$(CONFIG_DCA_DECODER)             += dca.o
66 67
 OBJS-$(CONFIG_DSICINVIDEO_DECODER)     += dsicinav.o
67 68
 OBJS-$(CONFIG_DSICINAUDIO_DECODER)     += dsicinav.o
68 69
 OBJS-$(CONFIG_DVBSUB_DECODER)          += dvbsubdec.o
... ...
@@ -64,6 +64,7 @@ void avcodec_register_all(void)
64 64
     REGISTER_DECODER(CLJR, cljr);
65 65
     REGISTER_DECODER(CSCD, cscd);
66 66
     REGISTER_DECODER(CYUV, cyuv);
67
+    REGISTER_DECODER(DCA, dca);
67 68
     REGISTER_DECODER(DSICINVIDEO, dsicinvideo);
68 69
     REGISTER_ENCDEC (DVVIDEO, dvvideo);
69 70
     REGISTER_DECODER(EIGHTBPS, eightbps);
... ...
@@ -249,6 +250,7 @@ void avcodec_register_all(void)
249 249
     REGISTER_PARSER (AAC, aac);
250 250
     REGISTER_PARSER (AC3, ac3);
251 251
     REGISTER_PARSER (CAVSVIDEO, cavsvideo);
252
+    REGISTER_PARSER (DCA, dca);
252 253
     REGISTER_PARSER (DVBSUB, dvbsub);
253 254
     REGISTER_PARSER (DVDSUB, dvdsub);
254 255
     REGISTER_PARSER (H261, h261);
... ...
@@ -37,8 +37,8 @@ extern "C" {
37 37
 #define AV_STRINGIFY(s)         AV_TOSTRING(s)
38 38
 #define AV_TOSTRING(s) #s
39 39
 
40
-#define LIBAVCODEC_VERSION_INT  ((51<<16)+(34<<8)+0)
41
-#define LIBAVCODEC_VERSION      51.34.0
40
+#define LIBAVCODEC_VERSION_INT  ((51<<16)+(35<<8)+0)
41
+#define LIBAVCODEC_VERSION      51.35.0
42 42
 #define LIBAVCODEC_BUILD        LIBAVCODEC_VERSION_INT
43 43
 
44 44
 #define LIBAVCODEC_IDENT        "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
... ...
@@ -2219,6 +2219,7 @@ extern AVCodec cljr_decoder;
2219 2219
 extern AVCodec cook_decoder;
2220 2220
 extern AVCodec cscd_decoder;
2221 2221
 extern AVCodec cyuv_decoder;
2222
+extern AVCodec dca_decoder;
2222 2223
 extern AVCodec dsicinaudio_decoder;
2223 2224
 extern AVCodec dsicinvideo_decoder;
2224 2225
 extern AVCodec dvvideo_decoder;
... ...
@@ -2883,6 +2884,7 @@ void av_parser_close(AVCodecParserContext *s);
2883 2883
 extern AVCodecParser aac_parser;
2884 2884
 extern AVCodecParser ac3_parser;
2885 2885
 extern AVCodecParser cavsvideo_parser;
2886
+extern AVCodecParser dca_parser;
2886 2887
 extern AVCodecParser dvbsub_parser;
2887 2888
 extern AVCodecParser dvdsub_parser;
2888 2889
 extern AVCodecParser h261_parser;
2889 2890
new file mode 100644
... ...
@@ -0,0 +1,1322 @@
0
+/*
1
+ * DCA compatible decoder
2
+ * Copyright (C) 2004 Gildas Bazin
3
+ * Copyright (C) 2004 Benjamin Zores
4
+ * Copyright (C) 2006 Benjamin Larsson
5
+ * Copyright (C) 2007 Konstantin Shishkov
6
+ *
7
+ * This file is part of FFmpeg.
8
+ *
9
+ * FFmpeg is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU Lesser General Public
11
+ * License as published by the Free Software Foundation; either
12
+ * version 2.1 of the License, or (at your option) any later version.
13
+ *
14
+ * FFmpeg is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17
+ * Lesser General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Lesser General Public
20
+ * License along with FFmpeg; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+ */
23
+
24
+/**
25
+ * @file dca.c
26
+ */
27
+
28
+#include <math.h>
29
+#include <stddef.h>
30
+#include <stdio.h>
31
+
32
+#include "avcodec.h"
33
+#include "dsputil.h"
34
+#include "bitstream.h"
35
+#include "dcadata.h"
36
+#include "dcahuff.h"
37
+#include "parser.h"
38
+
39
+/** DCA syncwords, also used for bitstream type detection */
40
+//@{
41
+#define DCA_MARKER_RAW_BE 0x7FFE8001
42
+#define DCA_MARKER_RAW_LE 0xFE7F0180
43
+#define DCA_MARKER_14B_BE 0x1FFFE800
44
+#define DCA_MARKER_14B_LE 0xFF1F00E8
45
+//@}
46
+
47
+//#define TRACE
48
+
49
+#define DCA_PRIM_CHANNELS_MAX (5)
50
+#define DCA_SUBBANDS (32)
51
+#define DCA_ABITS_MAX (32)      /* Should be 28 */
52
+#define DCA_SUBSUBFAMES_MAX (4)
53
+#define DCA_LFE_MAX (3)
54
+
55
+enum DCAMode {
56
+    DCA_MONO = 0,
57
+    DCA_CHANNEL,
58
+    DCA_STEREO,
59
+    DCA_STEREO_SUMDIFF,
60
+    DCA_STEREO_TOTAL,
61
+    DCA_3F,
62
+    DCA_2F1R,
63
+    DCA_3F1R,
64
+    DCA_2F2R,
65
+    DCA_3F2R,
66
+    DCA_4F2R
67
+};
68
+
69
+#define DCA_DOLBY 101           /* FIXME */
70
+
71
+#define DCA_CHANNEL_BITS 6
72
+#define DCA_CHANNEL_MASK 0x3F
73
+
74
+#define DCA_LFE 0x80
75
+
76
+#define HEADER_SIZE 14
77
+#define CONVERT_BIAS 384
78
+
79
+#define DCA_MAX_FRAME_SIZE 16383
80
+
81
+/** Bit allocation */
82
+typedef struct {
83
+    int offset;                 ///< code values offset
84
+    int maxbits[8];             ///< max bits in VLC
85
+    int wrap;                   ///< wrap for get_vlc2()
86
+    VLC vlc[8];                 ///< actual codes
87
+} BitAlloc;
88
+
89
+static BitAlloc dca_bitalloc_index;    ///< indexes for samples VLC select
90
+static BitAlloc dca_tmode;             ///< transition mode VLCs
91
+static BitAlloc dca_scalefactor;       ///< scalefactor VLCs
92
+static BitAlloc dca_smpl_bitalloc[11]; ///< samples VLCs
93
+
94
+/** Pre-calculated cosine modulation coefs for the QMF */
95
+static float cos_mod[544];
96
+
97
+static int av_always_inline get_bitalloc(GetBitContext *gb, BitAlloc *ba, int idx)
98
+{
99
+    return get_vlc2(gb, ba->vlc[idx].table, ba->vlc[idx].bits, ba->wrap) + ba->offset;
100
+}
101
+
102
+typedef struct {
103
+    AVCodecContext *avctx;
104
+    /* Frame header */
105
+    int frame_type;             ///< type of the current frame
106
+    int samples_deficit;        ///< deficit sample count
107
+    int crc_present;            ///< crc is present in the bitstream
108
+    int sample_blocks;          ///< number of PCM sample blocks
109
+    int frame_size;             ///< primary frame byte size
110
+    int amode;                  ///< audio channels arrangement
111
+    int sample_rate;            ///< audio sampling rate
112
+    int bit_rate;               ///< transmission bit rate
113
+
114
+    int downmix;                ///< embedded downmix enabled
115
+    int dynrange;               ///< embedded dynamic range flag
116
+    int timestamp;              ///< embedded time stamp flag
117
+    int aux_data;               ///< auxiliary data flag
118
+    int hdcd;                   ///< source material is mastered in HDCD
119
+    int ext_descr;              ///< extension audio descriptor flag
120
+    int ext_coding;             ///< extended coding flag
121
+    int aspf;                   ///< audio sync word insertion flag
122
+    int lfe;                    ///< low frequency effects flag
123
+    int predictor_history;      ///< predictor history flag
124
+    int header_crc;             ///< header crc check bytes
125
+    int multirate_inter;        ///< multirate interpolator switch
126
+    int version;                ///< encoder software revision
127
+    int copy_history;           ///< copy history
128
+    int source_pcm_res;         ///< source pcm resolution
129
+    int front_sum;              ///< front sum/difference flag
130
+    int surround_sum;           ///< surround sum/difference flag
131
+    int dialog_norm;            ///< dialog normalisation parameter
132
+
133
+    /* Primary audio coding header */
134
+    int subframes;              ///< number of subframes
135
+    int prim_channels;          ///< number of primary audio channels
136
+    int subband_activity[DCA_PRIM_CHANNELS_MAX];    ///< subband activity count
137
+    int vq_start_subband[DCA_PRIM_CHANNELS_MAX];    ///< high frequency vq start subband
138
+    int joint_intensity[DCA_PRIM_CHANNELS_MAX];     ///< joint intensity coding index
139
+    int transient_huffman[DCA_PRIM_CHANNELS_MAX];   ///< transient mode code book
140
+    int scalefactor_huffman[DCA_PRIM_CHANNELS_MAX]; ///< scale factor code book
141
+    int bitalloc_huffman[DCA_PRIM_CHANNELS_MAX];    ///< bit allocation quantizer select
142
+    int quant_index_huffman[DCA_PRIM_CHANNELS_MAX][DCA_ABITS_MAX]; ///< quantization index codebook select
143
+    float scalefactor_adj[DCA_PRIM_CHANNELS_MAX][DCA_ABITS_MAX];   ///< scale factor adjustment
144
+
145
+    /* Primary audio coding side information */
146
+    int subsubframes;           ///< number of subsubframes
147
+    int partial_samples;        ///< partial subsubframe samples count
148
+    int prediction_mode[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS];    ///< prediction mode (ADPCM used or not)
149
+    int prediction_vq[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS];      ///< prediction VQ coefs
150
+    int bitalloc[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS];           ///< bit allocation index
151
+    int transition_mode[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS];    ///< transition mode (transients)
152
+    int scale_factor[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][2];    ///< scale factors (2 if transient)
153
+    int joint_huff[DCA_PRIM_CHANNELS_MAX];                       ///< joint subband scale factors codebook
154
+    int joint_scale_factor[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]; ///< joint subband scale factors
155
+    int downmix_coef[DCA_PRIM_CHANNELS_MAX][2];                  ///< stereo downmix coefficients
156
+    int dynrange_coef;                                           ///< dynamic range coefficient
157
+
158
+    int high_freq_vq[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS];       ///< VQ encoded high frequency subbands
159
+
160
+    float lfe_data[2 * DCA_SUBSUBFAMES_MAX * DCA_LFE_MAX *
161
+                   2 /*history */ ];    ///< Low frequency effect data
162
+    int lfe_scale_factor;
163
+
164
+    /* Subband samples history (for ADPCM) */
165
+    float subband_samples_hist[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][4];
166
+    float subband_fir_hist[DCA_PRIM_CHANNELS_MAX][512];
167
+    float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][64];
168
+
169
+    int output;                 ///< type of output
170
+    int bias;                   ///< output bias
171
+
172
+    DECLARE_ALIGNED_16(float, samples[1536]);  /* 6 * 256 = 1536, might only need 5 */
173
+    DECLARE_ALIGNED_16(int16_t, tsamples[1536]);
174
+
175
+    uint8_t dca_buffer[DCA_MAX_FRAME_SIZE];
176
+    int dca_buffer_size;        ///< how much data is in the dca_buffer
177
+
178
+    GetBitContext gb;
179
+    /* Current position in DCA frame */
180
+    int current_subframe;
181
+    int current_subsubframe;
182
+
183
+    int debug_flag;             ///< used for suppressing repeated error messages output
184
+    DSPContext dsp;
185
+} DCAContext;
186
+
187
+static void dca_init_vlcs()
188
+{
189
+    static int vlcs_inited = 0;
190
+    int i, j;
191
+
192
+    if (vlcs_inited)
193
+        return;
194
+
195
+    dca_bitalloc_index.offset = 1;
196
+    dca_bitalloc_index.wrap = 1;
197
+    for (i = 0; i < 5; i++)
198
+        init_vlc(&dca_bitalloc_index.vlc[i], bitalloc_12_vlc_bits[i], 12,
199
+                 bitalloc_12_bits[i], 1, 1,
200
+                 bitalloc_12_codes[i], 2, 2, 1);
201
+    dca_scalefactor.offset = -64;
202
+    dca_scalefactor.wrap = 2;
203
+    for (i = 0; i < 5; i++)
204
+        init_vlc(&dca_scalefactor.vlc[i], SCALES_VLC_BITS, 129,
205
+                 scales_bits[i], 1, 1,
206
+                 scales_codes[i], 2, 2, 1);
207
+    dca_tmode.offset = 0;
208
+    dca_tmode.wrap = 1;
209
+    for (i = 0; i < 4; i++)
210
+        init_vlc(&dca_tmode.vlc[i], tmode_vlc_bits[i], 4,
211
+                 tmode_bits[i], 1, 1,
212
+                 tmode_codes[i], 2, 2, 1);
213
+
214
+    for(i = 0; i < 10; i++)
215
+        for(j = 0; j < 7; j++){
216
+            if(!bitalloc_codes[i][j]) break;
217
+            dca_smpl_bitalloc[i+1].offset = bitalloc_offsets[i];
218
+            dca_smpl_bitalloc[i+1].wrap = 1 + (j > 4);
219
+            init_vlc(&dca_smpl_bitalloc[i+1].vlc[j], bitalloc_maxbits[i][j],
220
+                     bitalloc_sizes[i],
221
+                     bitalloc_bits[i][j], 1, 1,
222
+                     bitalloc_codes[i][j], 2, 2, 1);
223
+        }
224
+    vlcs_inited = 1;
225
+}
226
+
227
+static inline void get_array(GetBitContext *gb, int *dst, int len, int bits)
228
+{
229
+    while(len--)
230
+        *dst++ = get_bits(gb, bits);
231
+}
232
+
233
+static int dca_parse_frame_header(DCAContext * s)
234
+{
235
+    int i, j;
236
+    static const float adj_table[4] = { 1.0, 1.1250, 1.2500, 1.4375 };
237
+    static const int bitlen[11] = { 0, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3 };
238
+    static const int thr[11] = { 0, 1, 3, 3, 3, 3, 7, 7, 7, 7, 7 };
239
+
240
+    s->bias = CONVERT_BIAS;
241
+
242
+    init_get_bits(&s->gb, s->dca_buffer, s->dca_buffer_size * 8);
243
+
244
+    /* Sync code */
245
+    get_bits(&s->gb, 32);
246
+
247
+    /* Frame header */
248
+    s->frame_type        = get_bits(&s->gb, 1);
249
+    s->samples_deficit   = get_bits(&s->gb, 5) + 1;
250
+    s->crc_present       = get_bits(&s->gb, 1);
251
+    s->sample_blocks     = get_bits(&s->gb, 7) + 1;
252
+    s->frame_size        = get_bits(&s->gb, 14) + 1;
253
+    if (s->frame_size < 95)
254
+        return -1;
255
+    s->amode             = get_bits(&s->gb, 6);
256
+    s->sample_rate       = dca_sample_rates[get_bits(&s->gb, 4)];
257
+    if (!s->sample_rate)
258
+        return -1;
259
+    s->bit_rate          = dca_bit_rates[get_bits(&s->gb, 5)];
260
+    if (!s->bit_rate)
261
+        return -1;
262
+
263
+    s->downmix           = get_bits(&s->gb, 1);
264
+    s->dynrange          = get_bits(&s->gb, 1);
265
+    s->timestamp         = get_bits(&s->gb, 1);
266
+    s->aux_data          = get_bits(&s->gb, 1);
267
+    s->hdcd              = get_bits(&s->gb, 1);
268
+    s->ext_descr         = get_bits(&s->gb, 3);
269
+    s->ext_coding        = get_bits(&s->gb, 1);
270
+    s->aspf              = get_bits(&s->gb, 1);
271
+    s->lfe               = get_bits(&s->gb, 2);
272
+    s->predictor_history = get_bits(&s->gb, 1);
273
+
274
+    /* TODO: check CRC */
275
+    if (s->crc_present)
276
+        s->header_crc    = get_bits(&s->gb, 16);
277
+
278
+    s->multirate_inter   = get_bits(&s->gb, 1);
279
+    s->version           = get_bits(&s->gb, 4);
280
+    s->copy_history      = get_bits(&s->gb, 2);
281
+    s->source_pcm_res    = get_bits(&s->gb, 3);
282
+    s->front_sum         = get_bits(&s->gb, 1);
283
+    s->surround_sum      = get_bits(&s->gb, 1);
284
+    s->dialog_norm       = get_bits(&s->gb, 4);
285
+
286
+    /* FIXME: channels mixing levels */
287
+    s->output = DCA_STEREO;
288
+
289
+#ifdef TRACE
290
+    av_log(s->avctx, AV_LOG_DEBUG, "frame type: %i\n", s->frame_type);
291
+    av_log(s->avctx, AV_LOG_DEBUG, "samples deficit: %i\n", s->samples_deficit);
292
+    av_log(s->avctx, AV_LOG_DEBUG, "crc present: %i\n", s->crc_present);
293
+    av_log(s->avctx, AV_LOG_DEBUG, "sample blocks: %i (%i samples)\n",
294
+           s->sample_blocks, s->sample_blocks * 32);
295
+    av_log(s->avctx, AV_LOG_DEBUG, "frame size: %i bytes\n", s->frame_size);
296
+    av_log(s->avctx, AV_LOG_DEBUG, "amode: %i (%i channels)\n",
297
+           s->amode, dca_channels[s->amode]);
298
+    av_log(s->avctx, AV_LOG_DEBUG, "sample rate: %i (%i Hz)\n",
299
+           s->sample_rate, dca_sample_rates[s->sample_rate]);
300
+    av_log(s->avctx, AV_LOG_DEBUG, "bit rate: %i (%i bits/s)\n",
301
+           s->bit_rate, dca_bit_rates[s->bit_rate]);
302
+    av_log(s->avctx, AV_LOG_DEBUG, "downmix: %i\n", s->downmix);
303
+    av_log(s->avctx, AV_LOG_DEBUG, "dynrange: %i\n", s->dynrange);
304
+    av_log(s->avctx, AV_LOG_DEBUG, "timestamp: %i\n", s->timestamp);
305
+    av_log(s->avctx, AV_LOG_DEBUG, "aux_data: %i\n", s->aux_data);
306
+    av_log(s->avctx, AV_LOG_DEBUG, "hdcd: %i\n", s->hdcd);
307
+    av_log(s->avctx, AV_LOG_DEBUG, "ext descr: %i\n", s->ext_descr);
308
+    av_log(s->avctx, AV_LOG_DEBUG, "ext coding: %i\n", s->ext_coding);
309
+    av_log(s->avctx, AV_LOG_DEBUG, "aspf: %i\n", s->aspf);
310
+    av_log(s->avctx, AV_LOG_DEBUG, "lfe: %i\n", s->lfe);
311
+    av_log(s->avctx, AV_LOG_DEBUG, "predictor history: %i\n",
312
+           s->predictor_history);
313
+    av_log(s->avctx, AV_LOG_DEBUG, "header crc: %i\n", s->header_crc);
314
+    av_log(s->avctx, AV_LOG_DEBUG, "multirate inter: %i\n",
315
+           s->multirate_inter);
316
+    av_log(s->avctx, AV_LOG_DEBUG, "version number: %i\n", s->version);
317
+    av_log(s->avctx, AV_LOG_DEBUG, "copy history: %i\n", s->copy_history);
318
+    av_log(s->avctx, AV_LOG_DEBUG,
319
+           "source pcm resolution: %i (%i bits/sample)\n",
320
+           s->source_pcm_res, dca_bits_per_sample[s->source_pcm_res]);
321
+    av_log(s->avctx, AV_LOG_DEBUG, "front sum: %i\n", s->front_sum);
322
+    av_log(s->avctx, AV_LOG_DEBUG, "surround sum: %i\n", s->surround_sum);
323
+    av_log(s->avctx, AV_LOG_DEBUG, "dialog norm: %i\n", s->dialog_norm);
324
+    av_log(s->avctx, AV_LOG_DEBUG, "\n");
325
+#endif
326
+
327
+    /* Primary audio coding header */
328
+    s->subframes         = get_bits(&s->gb, 4) + 1;
329
+    s->prim_channels     = get_bits(&s->gb, 3) + 1;
330
+
331
+
332
+    for (i = 0; i < s->prim_channels; i++) {
333
+        s->subband_activity[i] = get_bits(&s->gb, 5) + 2;
334
+        if (s->subband_activity[i] > DCA_SUBBANDS)
335
+            s->subband_activity[i] = DCA_SUBBANDS;
336
+    }
337
+    for (i = 0; i < s->prim_channels; i++) {
338
+        s->vq_start_subband[i] = get_bits(&s->gb, 5) + 1;
339
+        if (s->vq_start_subband[i] > DCA_SUBBANDS)
340
+            s->vq_start_subband[i] = DCA_SUBBANDS;
341
+    }
342
+    get_array(&s->gb, s->joint_intensity,     s->prim_channels, 3);
343
+    get_array(&s->gb, s->transient_huffman,   s->prim_channels, 2);
344
+    get_array(&s->gb, s->scalefactor_huffman, s->prim_channels, 3);
345
+    get_array(&s->gb, s->bitalloc_huffman,    s->prim_channels, 3);
346
+
347
+    /* Get codebooks quantization indexes */
348
+    memset(s->quant_index_huffman, 0, sizeof(s->quant_index_huffman));
349
+    for (j = 1; j < 11; j++)
350
+        for (i = 0; i < s->prim_channels; i++)
351
+            s->quant_index_huffman[i][j] = get_bits(&s->gb, bitlen[j]);
352
+
353
+    /* Get scale factor adjustment */
354
+    for (j = 0; j < 11; j++)
355
+        for (i = 0; i < s->prim_channels; i++)
356
+            s->scalefactor_adj[i][j] = 1;
357
+
358
+    for (j = 1; j < 11; j++)
359
+        for (i = 0; i < s->prim_channels; i++)
360
+            if (s->quant_index_huffman[i][j] < thr[j])
361
+                s->scalefactor_adj[i][j] = adj_table[get_bits(&s->gb, 2)];
362
+
363
+    if (s->crc_present) {
364
+        /* Audio header CRC check */
365
+        get_bits(&s->gb, 16);
366
+    }
367
+
368
+    s->current_subframe = 0;
369
+    s->current_subsubframe = 0;
370
+
371
+#ifdef TRACE
372
+    av_log(s->avctx, AV_LOG_DEBUG, "subframes: %i\n", s->subframes);
373
+    av_log(s->avctx, AV_LOG_DEBUG, "prim channels: %i\n", s->prim_channels);
374
+    for(i = 0; i < s->prim_channels; i++){
375
+        av_log(s->avctx, AV_LOG_DEBUG, "subband activity: %i\n", s->subband_activity[i]);
376
+        av_log(s->avctx, AV_LOG_DEBUG, "vq start subband: %i\n", s->vq_start_subband[i]);
377
+        av_log(s->avctx, AV_LOG_DEBUG, "joint intensity: %i\n", s->joint_intensity[i]);
378
+        av_log(s->avctx, AV_LOG_DEBUG, "transient mode codebook: %i\n", s->transient_huffman[i]);
379
+        av_log(s->avctx, AV_LOG_DEBUG, "scale factor codebook: %i\n", s->scalefactor_huffman[i]);
380
+        av_log(s->avctx, AV_LOG_DEBUG, "bit allocation quantizer: %i\n", s->bitalloc_huffman[i]);
381
+        av_log(s->avctx, AV_LOG_DEBUG, "quant index huff:");
382
+        for (j = 0; j < 11; j++)
383
+            av_log(s->avctx, AV_LOG_DEBUG, " %i",
384
+                   s->quant_index_huffman[i][j]);
385
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
386
+        av_log(s->avctx, AV_LOG_DEBUG, "scalefac adj:");
387
+        for (j = 0; j < 11; j++)
388
+            av_log(s->avctx, AV_LOG_DEBUG, " %1.3f", s->scalefactor_adj[i][j]);
389
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
390
+    }
391
+#endif
392
+
393
+    return 0;
394
+}
395
+
396
+
397
+static inline int get_scale(GetBitContext *gb, int level, int index, int value)
398
+{
399
+   if (level < 5) {
400
+       /* huffman encoded */
401
+       value += get_bitalloc(gb, &dca_scalefactor, index);
402
+   } else if(level < 8)
403
+       value = get_bits(gb, level + 1);
404
+   return value;
405
+}
406
+
407
+static int dca_subframe_header(DCAContext * s)
408
+{
409
+    /* Primary audio coding side information */
410
+    int j, k;
411
+
412
+    s->subsubframes = get_bits(&s->gb, 2) + 1;
413
+    s->partial_samples = get_bits(&s->gb, 3);
414
+    for (j = 0; j < s->prim_channels; j++) {
415
+        for (k = 0; k < s->subband_activity[j]; k++)
416
+            s->prediction_mode[j][k] = get_bits(&s->gb, 1);
417
+    }
418
+
419
+    /* Get prediction codebook */
420
+    for (j = 0; j < s->prim_channels; j++) {
421
+        for (k = 0; k < s->subband_activity[j]; k++) {
422
+            if (s->prediction_mode[j][k] > 0) {
423
+                /* (Prediction coefficient VQ address) */
424
+                s->prediction_vq[j][k] = get_bits(&s->gb, 12);
425
+            }
426
+        }
427
+    }
428
+
429
+    /* Bit allocation index */
430
+    for (j = 0; j < s->prim_channels; j++) {
431
+        for (k = 0; k < s->vq_start_subband[j]; k++) {
432
+            if (s->bitalloc_huffman[j] == 6)
433
+                s->bitalloc[j][k] = get_bits(&s->gb, 5);
434
+            else if (s->bitalloc_huffman[j] == 5)
435
+                s->bitalloc[j][k] = get_bits(&s->gb, 4);
436
+            else {
437
+                s->bitalloc[j][k] =
438
+                    get_bitalloc(&s->gb, &dca_bitalloc_index, j);
439
+            }
440
+
441
+            if (s->bitalloc[j][k] > 26) {
442
+//                 av_log(s->avctx,AV_LOG_DEBUG,"bitalloc index [%i][%i] too big (%i)\n",
443
+//                          j, k, s->bitalloc[j][k]);
444
+                return -1;
445
+            }
446
+        }
447
+    }
448
+
449
+    /* Transition mode */
450
+    for (j = 0; j < s->prim_channels; j++) {
451
+        for (k = 0; k < s->subband_activity[j]; k++) {
452
+            s->transition_mode[j][k] = 0;
453
+            if (s->subsubframes > 1 &&
454
+                k < s->vq_start_subband[j] && s->bitalloc[j][k] > 0) {
455
+                s->transition_mode[j][k] =
456
+                    get_bitalloc(&s->gb, &dca_tmode, s->transient_huffman[j]);
457
+            }
458
+        }
459
+    }
460
+
461
+    for (j = 0; j < s->prim_channels; j++) {
462
+        uint32_t *scale_table;
463
+        int scale_sum;
464
+
465
+        memset(s->scale_factor[j], 0, s->subband_activity[j] * sizeof(s->scale_factor[0][0][0]) * 2);
466
+
467
+        if (s->scalefactor_huffman[j] == 6)
468
+            scale_table = (uint32_t *) scale_factor_quant7;
469
+        else
470
+            scale_table = (uint32_t *) scale_factor_quant6;
471
+
472
+        /* When huffman coded, only the difference is encoded */
473
+        scale_sum = 0;
474
+
475
+        for (k = 0; k < s->subband_activity[j]; k++) {
476
+            if (k >= s->vq_start_subband[j] || s->bitalloc[j][k] > 0) {
477
+                scale_sum = get_scale(&s->gb, s->scalefactor_huffman[j], j, scale_sum);
478
+                s->scale_factor[j][k][0] = scale_table[scale_sum];
479
+            }
480
+
481
+            if (k < s->vq_start_subband[j] && s->transition_mode[j][k]) {
482
+                /* Get second scale factor */
483
+                scale_sum = get_scale(&s->gb, s->scalefactor_huffman[j], j, scale_sum);
484
+                s->scale_factor[j][k][1] = scale_table[scale_sum];
485
+            }
486
+        }
487
+    }
488
+
489
+    /* Joint subband scale factor codebook select */
490
+    for (j = 0; j < s->prim_channels; j++) {
491
+        /* Transmitted only if joint subband coding enabled */
492
+        if (s->joint_intensity[j] > 0)
493
+            s->joint_huff[j] = get_bits(&s->gb, 3);
494
+    }
495
+
496
+    /* Scale factors for joint subband coding */
497
+    for (j = 0; j < s->prim_channels; j++) {
498
+        int source_channel;
499
+
500
+        /* Transmitted only if joint subband coding enabled */
501
+        if (s->joint_intensity[j] > 0) {
502
+            int scale = 0;
503
+            source_channel = s->joint_intensity[j] - 1;
504
+
505
+            /* When huffman coded, only the difference is encoded
506
+             * (is this valid as well for joint scales ???) */
507
+
508
+            for (k = s->subband_activity[j]; k < s->subband_activity[source_channel]; k++) {
509
+                scale = get_scale(&s->gb, s->joint_huff[j], j, 0);
510
+                scale += 64;    /* bias */
511
+                s->joint_scale_factor[j][k] = scale;    /*joint_scale_table[scale]; */
512
+            }
513
+
514
+            if (!s->debug_flag & 0x02) {
515
+                av_log(s->avctx, AV_LOG_DEBUG,
516
+                       "Joint stereo coding not supported\n");
517
+                s->debug_flag |= 0x02;
518
+            }
519
+        }
520
+    }
521
+
522
+    /* Stereo downmix coefficients */
523
+    if (s->prim_channels > 2 && s->downmix) {
524
+        for (j = 0; j < s->prim_channels; j++) {
525
+            s->downmix_coef[j][0] = get_bits(&s->gb, 7);
526
+            s->downmix_coef[j][1] = get_bits(&s->gb, 7);
527
+        }
528
+    }
529
+
530
+    /* Dynamic range coefficient */
531
+    if (s->dynrange)
532
+        s->dynrange_coef = get_bits(&s->gb, 8);
533
+
534
+    /* Side information CRC check word */
535
+    if (s->crc_present) {
536
+        get_bits(&s->gb, 16);
537
+    }
538
+
539
+    /*
540
+     * Primary audio data arrays
541
+     */
542
+
543
+    /* VQ encoded high frequency subbands */
544
+    for (j = 0; j < s->prim_channels; j++)
545
+        for (k = s->vq_start_subband[j]; k < s->subband_activity[j]; k++)
546
+            /* 1 vector -> 32 samples */
547
+            s->high_freq_vq[j][k] = get_bits(&s->gb, 10);
548
+
549
+    /* Low frequency effect data */
550
+    if (s->lfe) {
551
+        /* LFE samples */
552
+        int lfe_samples = 2 * s->lfe * s->subsubframes;
553
+        float lfe_scale;
554
+
555
+        for (j = lfe_samples; j < lfe_samples * 2; j++) {
556
+            /* Signed 8 bits int */
557
+            s->lfe_data[j] = get_sbits(&s->gb, 8);
558
+        }
559
+
560
+        /* Scale factor index */
561
+        s->lfe_scale_factor = scale_factor_quant7[get_bits(&s->gb, 8)];
562
+
563
+        /* Quantization step size * scale factor */
564
+        lfe_scale = 0.035 * s->lfe_scale_factor;
565
+
566
+        for (j = lfe_samples; j < lfe_samples * 2; j++)
567
+            s->lfe_data[j] *= lfe_scale;
568
+    }
569
+
570
+#ifdef TRACE
571
+    av_log(s->avctx, AV_LOG_DEBUG, "subsubframes: %i\n", s->subsubframes);
572
+    av_log(s->avctx, AV_LOG_DEBUG, "partial samples: %i\n",
573
+           s->partial_samples);
574
+    for (j = 0; j < s->prim_channels; j++) {
575
+        av_log(s->avctx, AV_LOG_DEBUG, "prediction mode:");
576
+        for (k = 0; k < s->subband_activity[j]; k++)
577
+            av_log(s->avctx, AV_LOG_DEBUG, " %i", s->prediction_mode[j][k]);
578
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
579
+    }
580
+    for (j = 0; j < s->prim_channels; j++) {
581
+        for (k = 0; k < s->subband_activity[j]; k++)
582
+                av_log(s->avctx, AV_LOG_DEBUG,
583
+                       "prediction coefs: %f, %f, %f, %f\n",
584
+                       (float) adpcm_vb[s->prediction_vq[j][k]][0] / 8192,
585
+                       (float) adpcm_vb[s->prediction_vq[j][k]][1] / 8192,
586
+                       (float) adpcm_vb[s->prediction_vq[j][k]][2] / 8192,
587
+                       (float) adpcm_vb[s->prediction_vq[j][k]][3] / 8192);
588
+    }
589
+    for (j = 0; j < s->prim_channels; j++) {
590
+        av_log(s->avctx, AV_LOG_DEBUG, "bitalloc index: ");
591
+        for (k = 0; k < s->vq_start_subband[j]; k++)
592
+            av_log(s->avctx, AV_LOG_DEBUG, "%2.2i ", s->bitalloc[j][k]);
593
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
594
+    }
595
+    for (j = 0; j < s->prim_channels; j++) {
596
+        av_log(s->avctx, AV_LOG_DEBUG, "Transition mode:");
597
+        for (k = 0; k < s->subband_activity[j]; k++)
598
+            av_log(s->avctx, AV_LOG_DEBUG, " %i", s->transition_mode[j][k]);
599
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
600
+    }
601
+    for (j = 0; j < s->prim_channels; j++) {
602
+        av_log(s->avctx, AV_LOG_DEBUG, "Scale factor:");
603
+        for (k = 0; k < s->subband_activity[j]; k++) {
604
+            if (k >= s->vq_start_subband[j] || s->bitalloc[j][k] > 0)
605
+                av_log(s->avctx, AV_LOG_DEBUG, " %i", s->scale_factor[j][k][0]);
606
+            if (k < s->vq_start_subband[j] && s->transition_mode[j][k])
607
+                av_log(s->avctx, AV_LOG_DEBUG, " %i(t)", s->scale_factor[j][k][1]);
608
+        }
609
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
610
+    }
611
+    for (j = 0; j < s->prim_channels; j++) {
612
+        if (s->joint_intensity[j] > 0) {
613
+            av_log(s->avctx, AV_LOG_DEBUG, "Joint scale factor index:\n");
614
+            for (k = s->subband_activity[j]; k < s->subband_activity[source_channel]; k++)
615
+                av_log(s->avctx, AV_LOG_DEBUG, " %i", s->joint_scale_factor[j][k]);
616
+            av_log(s->avctx, AV_LOG_DEBUG, "\n");
617
+        }
618
+    }
619
+    if (s->prim_channels > 2 && s->downmix) {
620
+        av_log(s->avctx, AV_LOG_DEBUG, "Downmix coeffs:\n");
621
+        for (j = 0; j < s->prim_channels; j++) {
622
+            av_log(s->avctx, AV_LOG_DEBUG, "Channel 0,%d = %f\n", j, dca_downmix_coeffs[s->downmix_coef[j][0]]);
623
+            av_log(s->avctx, AV_LOG_DEBUG, "Channel 1,%d = %f\n", j, dca_downmix_coeffs[s->downmix_coef[j][1]]);
624
+        }
625
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
626
+    }
627
+    for (j = 0; j < s->prim_channels; j++)
628
+        for (k = s->vq_start_subband[j]; k < s->subband_activity[j]; k++)
629
+            av_log(s->avctx, AV_LOG_DEBUG, "VQ index: %i\n", s->high_freq_vq[j][k]);
630
+    if(s->lfe){
631
+        av_log(s->avctx, AV_LOG_DEBUG, "LFE samples:\n");
632
+        for (j = lfe_samples; j < lfe_samples * 2; j++)
633
+            av_log(s->avctx, AV_LOG_DEBUG, " %f", s->lfe_data[j]);
634
+        av_log(s->avctx, AV_LOG_DEBUG, "\n");
635
+    }
636
+#endif
637
+
638
+    return 0;
639
+}
640
+
641
+static void qmf_32_subbands(DCAContext * s, int chans,
642
+                            float samples_in[32][8], float *samples_out,
643
+                            float scale, float bias)
644
+{
645
+    float *prCoeff;
646
+    int i, j, k;
647
+    float praXin[33], *raXin = &praXin[1];
648
+
649
+    float *subband_fir_hist = s->subband_fir_hist[chans];
650
+    float *subband_fir_hist2 = s->subband_fir_noidea[chans];
651
+
652
+    int chindex = 0, subindex;
653
+
654
+    praXin[0] = 0.0;
655
+
656
+    /* Select filter */
657
+    if (!s->multirate_inter)    /* Non-perfect reconstruction */
658
+        prCoeff = (float *) fir_32bands_nonperfect;
659
+    else                        /* Perfect reconstruction */
660
+        prCoeff = (float *) fir_32bands_perfect;
661
+
662
+    /* Reconstructed channel sample index */
663
+    for (subindex = 0; subindex < 8; subindex++) {
664
+        float t1, t2, sum[16], diff[16];
665
+
666
+        /* Load in one sample from each subband and clear inactive subbands */
667
+        for (i = 0; i < s->subband_activity[chans]; i++)
668
+            raXin[i] = samples_in[i][subindex];
669
+        for (; i < 32; i++)
670
+            raXin[i] = 0.0;
671
+
672
+        /* Multiply by cosine modulation coefficients and
673
+         * create temporary arrays SUM and DIFF */
674
+        for (j = 0, k = 0; k < 16; k++) {
675
+            t1 = 0.0;
676
+            t2 = 0.0;
677
+            for (i = 0; i < 16; i++, j++){
678
+                t1 += (raXin[2 * i] + raXin[2 * i + 1]) * cos_mod[j];
679
+                t2 += (raXin[2 * i] + raXin[2 * i - 1]) * cos_mod[j + 256];
680
+            }
681
+            sum[k] = t1 + t2;
682
+            diff[k] = t1 - t2;
683
+        }
684
+
685
+        j = 512;
686
+        /* Store history */
687
+        for (k = 0; k < 16; k++)
688
+            subband_fir_hist[k] = cos_mod[j++] * sum[k];
689
+        for (k = 0; k < 16; k++)
690
+            subband_fir_hist[32-k-1] = cos_mod[j++] * diff[k];
691
+
692
+        /* Multiply by filter coefficients */
693
+        for (k = 31, i = 0; i < 32; i++, k--)
694
+            for (j = 0; j < 512; j += 64){
695
+                subband_fir_hist2[i]    += prCoeff[i+j]  * ( subband_fir_hist[i+j] - subband_fir_hist[j+k]);
696
+                subband_fir_hist2[i+32] += prCoeff[i+j+32]*(-subband_fir_hist[i+j] - subband_fir_hist[j+k]);
697
+            }
698
+
699
+        /* Create 32 PCM output samples */
700
+        for (i = 0; i < 32; i++)
701
+            samples_out[chindex++] = subband_fir_hist2[i] * scale + bias;
702
+
703
+        /* Update working arrays */
704
+        memmove(&subband_fir_hist[32], &subband_fir_hist[0], (512 - 32) * sizeof(float));
705
+        memmove(&subband_fir_hist2[0], &subband_fir_hist2[32], 32 * sizeof(float));
706
+        memset(&subband_fir_hist2[32], 0, 32 * sizeof(float));
707
+    }
708
+}
709
+
710
+static void lfe_interpolation_fir(int decimation_select,
711
+                                  int num_deci_sample, float *samples_in,
712
+                                  float *samples_out, float scale,
713
+                                  float bias)
714
+{
715
+    /* samples_in: An array holding decimated samples.
716
+     *   Samples in current subframe starts from samples_in[0],
717
+     *   while samples_in[-1], samples_in[-2], ..., stores samples
718
+     *   from last subframe as history.
719
+     *
720
+     * samples_out: An array holding interpolated samples
721
+     */
722
+
723
+    int decifactor, k, j;
724
+    const float *prCoeff;
725
+
726
+    int interp_index = 0;       /* Index to the interpolated samples */
727
+    int deciindex;
728
+
729
+    /* Select decimation filter */
730
+    if (decimation_select == 1) {
731
+        decifactor = 128;
732
+        prCoeff = lfe_fir_128;
733
+    } else {
734
+        decifactor = 64;
735
+        prCoeff = lfe_fir_64;
736
+    }
737
+    /* Interpolation */
738
+    for (deciindex = 0; deciindex < num_deci_sample; deciindex++) {
739
+        /* One decimated sample generates decifactor interpolated ones */
740
+        for (k = 0; k < decifactor; k++) {
741
+            float rTmp = 0.0;
742
+            //FIXME the coeffs are symetric, fix that
743
+            for (j = 0; j < 512 / decifactor; j++)
744
+                rTmp += samples_in[deciindex - j] * prCoeff[k + j * decifactor];
745
+            samples_out[interp_index++] = rTmp / scale + bias;
746
+        }
747
+    }
748
+}
749
+
750
+/* downmixing routines */
751
+#define MIX_REAR1(samples, si1) \
752
+     samples[i] += samples[si1]; \
753
+     samples[i+256] += samples[si1];
754
+
755
+#define MIX_REAR2(samples, si1, si2) \
756
+     samples[i] += samples[si1]; \
757
+     samples[i+256] += samples[si2];
758
+
759
+#define MIX_FRONT3(samples) \
760
+    t = samples[i]; \
761
+    samples[i] += samples[i+256]; \
762
+    samples[i+256] = samples[i+512] + t;
763
+
764
+#define DOWNMIX_TO_STEREO(op1, op2) \
765
+    for(i = 0; i < 256; i++){ \
766
+        op1 \
767
+        op2 \
768
+    }
769
+
770
+static void dca_downmix(float *samples, int srcfmt)
771
+{
772
+    int i;
773
+    float t;
774
+
775
+    switch (srcfmt) {
776
+    case DCA_MONO:
777
+    case DCA_CHANNEL:
778
+    case DCA_STEREO_TOTAL:
779
+    case DCA_STEREO_SUMDIFF:
780
+    case DCA_4F2R:
781
+        av_log(NULL, 0, "Not implemented!\n");
782
+        break;
783
+    case DCA_STEREO:
784
+        break;
785
+    case DCA_3F:
786
+        DOWNMIX_TO_STEREO(MIX_FRONT3(samples),);
787
+        break;
788
+    case DCA_2F1R:
789
+        DOWNMIX_TO_STEREO(MIX_REAR1(samples, i + 512),);
790
+        break;
791
+    case DCA_3F1R:
792
+        DOWNMIX_TO_STEREO(MIX_FRONT3(samples),
793
+                          MIX_REAR1(samples, i + 768));
794
+        break;
795
+    case DCA_2F2R:
796
+        DOWNMIX_TO_STEREO(MIX_REAR2(samples, i + 512, i + 768),);
797
+        break;
798
+    case DCA_3F2R:
799
+        DOWNMIX_TO_STEREO(MIX_FRONT3(samples),
800
+                          MIX_REAR2(samples, i + 768, i + 1024));
801
+        break;
802
+    }
803
+}
804
+
805
+
806
+/* Very compact version of the block code decoder that does not use table
807
+ * look-up but is slightly slower */
808
+static int decode_blockcode(int code, int levels, int *values)
809
+{
810
+    int i;
811
+    int offset = (levels - 1) >> 1;
812
+
813
+    for (i = 0; i < 4; i++) {
814
+        values[i] = (code % levels) - offset;
815
+        code /= levels;
816
+    }
817
+
818
+    if (code == 0)
819
+        return 0;
820
+    else {
821
+        av_log(NULL, AV_LOG_ERROR, "ERROR: block code look-up failed\n");
822
+        return -1;
823
+    }
824
+}
825
+
826
+static const uint8_t abits_sizes[7] = { 7, 10, 12, 13, 15, 17, 19 };
827
+static const uint8_t abits_levels[7] = { 3, 5, 7, 9, 13, 17, 25 };
828
+
829
+static int dca_subsubframe(DCAContext * s)
830
+{
831
+    int k, l;
832
+    int subsubframe = s->current_subsubframe;
833
+
834
+    float *quant_step_table;
835
+
836
+    /* FIXME */
837
+    float subband_samples[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][8];
838
+
839
+    /*
840
+     * Audio data
841
+     */
842
+
843
+    /* Select quantization step size table */
844
+    if (s->bit_rate == 0x1f)
845
+        quant_step_table = (float *) lossless_quant_d;
846
+    else
847
+        quant_step_table = (float *) lossy_quant_d;
848
+
849
+    for (k = 0; k < s->prim_channels; k++) {
850
+        for (l = 0; l < s->vq_start_subband[k]; l++) {
851
+            int m;
852
+
853
+            /* Select the mid-tread linear quantizer */
854
+            int abits = s->bitalloc[k][l];
855
+
856
+            float quant_step_size = quant_step_table[abits];
857
+            float rscale;
858
+
859
+            /*
860
+             * Determine quantization index code book and its type
861
+             */
862
+
863
+            /* Select quantization index code book */
864
+            int sel = s->quant_index_huffman[k][abits];
865
+
866
+            /*
867
+             * Extract bits from the bit stream
868
+             */
869
+            if(!abits){
870
+                memset(subband_samples[k][l], 0, 8 * sizeof(subband_samples[0][0][0]));
871
+            }else if(abits >= 11 || !dca_smpl_bitalloc[abits].vlc[sel].table){
872
+                if(abits <= 7){
873
+                    /* Block code */
874
+                    int block_code1, block_code2, size, levels;
875
+                    int block[8];
876
+
877
+                    size = abits_sizes[abits-1];
878
+                    levels = abits_levels[abits-1];
879
+
880
+                    block_code1 = get_bits(&s->gb, size);
881
+                    /* FIXME Should test return value */
882
+                    decode_blockcode(block_code1, levels, block);
883
+                    block_code2 = get_bits(&s->gb, size);
884
+                    decode_blockcode(block_code2, levels, &block[4]);
885
+                    for (m = 0; m < 8; m++)
886
+                        subband_samples[k][l][m] = block[m];
887
+                }else{
888
+                    /* no coding */
889
+                    for (m = 0; m < 8; m++)
890
+                        subband_samples[k][l][m] = get_sbits(&s->gb, abits - 3);
891
+                }
892
+            }else{
893
+                /* Huffman coded */
894
+                for (m = 0; m < 8; m++)
895
+                    subband_samples[k][l][m] = get_bitalloc(&s->gb, &dca_smpl_bitalloc[abits], sel);
896
+            }
897
+
898
+            /* Deal with transients */
899
+            if (s->transition_mode[k][l] &&
900
+                subsubframe >= s->transition_mode[k][l])
901
+                rscale = quant_step_size * s->scale_factor[k][l][1];
902
+            else
903
+                rscale = quant_step_size * s->scale_factor[k][l][0];
904
+
905
+            rscale *= s->scalefactor_adj[k][sel];
906
+
907
+            for (m = 0; m < 8; m++)
908
+                subband_samples[k][l][m] *= rscale;
909
+
910
+            /*
911
+             * Inverse ADPCM if in prediction mode
912
+             */
913
+            if (s->prediction_mode[k][l]) {
914
+                int n;
915
+                for (m = 0; m < 8; m++) {
916
+                    for (n = 1; n <= 4; n++)
917
+                        if (m >= n)
918
+                            subband_samples[k][l][m] +=
919
+                                (adpcm_vb[s->prediction_vq[k][l]][n - 1] *
920
+                                 subband_samples[k][l][m - n] / 8192);
921
+                        else if (s->predictor_history)
922
+                            subband_samples[k][l][m] +=
923
+                                (adpcm_vb[s->prediction_vq[k][l]][n - 1] *
924
+                                 s->subband_samples_hist[k][l][m - n +
925
+                                                               4] / 8192);
926
+                }
927
+            }
928
+        }
929
+
930
+        /*
931
+         * Decode VQ encoded high frequencies
932
+         */
933
+        for (l = s->vq_start_subband[k]; l < s->subband_activity[k]; l++) {
934
+            /* 1 vector -> 32 samples but we only need the 8 samples
935
+             * for this subsubframe. */
936
+            int m;
937
+
938
+            if (!s->debug_flag & 0x01) {
939
+                av_log(s->avctx, AV_LOG_DEBUG, "Stream with high frequencies VQ coding\n");
940
+                s->debug_flag |= 0x01;
941
+            }
942
+
943
+            for (m = 0; m < 8; m++) {
944
+                subband_samples[k][l][m] =
945
+                    high_freq_vq[s->high_freq_vq[k][l]][subsubframe * 8 +
946
+                                                        m]
947
+                    * (float) s->scale_factor[k][l][0] / 16.0;
948
+            }
949
+        }
950
+    }
951
+
952
+    /* Check for DSYNC after subsubframe */
953
+    if (s->aspf || subsubframe == s->subsubframes - 1) {
954
+        if (0xFFFF == get_bits(&s->gb, 16)) {   /* 0xFFFF */
955
+#ifdef TRACE
956
+            av_log(s->avctx, AV_LOG_DEBUG, "Got subframe DSYNC\n");
957
+#endif
958
+        } else {
959
+            av_log(s->avctx, AV_LOG_ERROR, "Didn't get subframe DSYNC\n");
960
+        }
961
+    }
962
+
963
+    /* Backup predictor history for adpcm */
964
+    for (k = 0; k < s->prim_channels; k++)
965
+        for (l = 0; l < s->vq_start_subband[k]; l++)
966
+            memcpy(s->subband_samples_hist[k][l], &subband_samples[k][l][4],
967
+                        4 * sizeof(subband_samples[0][0][0]));
968
+
969
+    /* 32 subbands QMF */
970
+    for (k = 0; k < s->prim_channels; k++) {
971
+/*        static float pcm_to_double[8] =
972
+            {32768.0, 32768.0, 524288.0, 524288.0, 0, 8388608.0, 8388608.0};*/
973
+         qmf_32_subbands(s, k, subband_samples[k], &s->samples[256 * k],
974
+                            2.0 / 3 /*pcm_to_double[s->source_pcm_res] */ ,
975
+                            0 /*s->bias */ );
976
+    }
977
+
978
+    /* Down mixing */
979
+
980
+    if (s->prim_channels > dca_channels[s->output & DCA_CHANNEL_MASK]) {
981
+        dca_downmix(s->samples, s->amode);
982
+    }
983
+
984
+    /* Generate LFE samples for this subsubframe FIXME!!! */
985
+    if (s->output & DCA_LFE) {
986
+        int lfe_samples = 2 * s->lfe * s->subsubframes;
987
+        int i_channels = dca_channels[s->output & DCA_CHANNEL_MASK];
988
+
989
+        lfe_interpolation_fir(s->lfe, 2 * s->lfe,
990
+                              s->lfe_data + lfe_samples +
991
+                              2 * s->lfe * subsubframe,
992
+                              &s->samples[256 * i_channels],
993
+                              8388608.0, s->bias);
994
+        /* Outputs 20bits pcm samples */
995
+    }
996
+
997
+    return 0;
998
+}
999
+
1000
+
1001
+static int dca_subframe_footer(DCAContext * s)
1002
+{
1003
+    int aux_data_count = 0, i;
1004
+    int lfe_samples;
1005
+
1006
+    /*
1007
+     * Unpack optional information
1008
+     */
1009
+
1010
+    if (s->timestamp)
1011
+        get_bits(&s->gb, 32);
1012
+
1013
+    if (s->aux_data)
1014
+        aux_data_count = get_bits(&s->gb, 6);
1015
+
1016
+    for (i = 0; i < aux_data_count; i++)
1017
+        get_bits(&s->gb, 8);
1018
+
1019
+    if (s->crc_present && (s->downmix || s->dynrange))
1020
+        get_bits(&s->gb, 16);
1021
+
1022
+    lfe_samples = 2 * s->lfe * s->subsubframes;
1023
+    for (i = 0; i < lfe_samples; i++) {
1024
+        s->lfe_data[i] = s->lfe_data[i + lfe_samples];
1025
+    }
1026
+
1027
+    return 0;
1028
+}
1029
+
1030
+/**
1031
+ * Decode a dca frame block
1032
+ *
1033
+ * @param s     pointer to the DCAContext
1034
+ */
1035
+
1036
+static int dca_decode_block(DCAContext * s)
1037
+{
1038
+
1039
+    /* Sanity check */
1040
+    if (s->current_subframe >= s->subframes) {
1041
+        av_log(s->avctx, AV_LOG_DEBUG, "check failed: %i>%i",
1042
+               s->current_subframe, s->subframes);
1043
+        return -1;
1044
+    }
1045
+
1046
+    if (!s->current_subsubframe) {
1047
+#ifdef TRACE
1048
+        av_log(s->avctx, AV_LOG_DEBUG, "DSYNC dca_subframe_header\n");
1049
+#endif
1050
+        /* Read subframe header */
1051
+        if (dca_subframe_header(s))
1052
+            return -1;
1053
+    }
1054
+
1055
+    /* Read subsubframe */
1056
+#ifdef TRACE
1057
+    av_log(s->avctx, AV_LOG_DEBUG, "DSYNC dca_subsubframe\n");
1058
+#endif
1059
+    if (dca_subsubframe(s))
1060
+        return -1;
1061
+
1062
+    /* Update state */
1063
+    s->current_subsubframe++;
1064
+    if (s->current_subsubframe >= s->subsubframes) {
1065
+        s->current_subsubframe = 0;
1066
+        s->current_subframe++;
1067
+    }
1068
+    if (s->current_subframe >= s->subframes) {
1069
+#ifdef TRACE
1070
+        av_log(s->avctx, AV_LOG_DEBUG, "DSYNC dca_subframe_footer\n");
1071
+#endif
1072
+        /* Read subframe footer */
1073
+        if (dca_subframe_footer(s))
1074
+            return -1;
1075
+    }
1076
+
1077
+    return 0;
1078
+}
1079
+
1080
+/**
1081
+ * Convert bitstream to one representation based on sync marker
1082
+ */
1083
+static int dca_convert_bitstream(uint8_t * src, int src_size, uint8_t * dst,
1084
+                          int max_size)
1085
+{
1086
+    uint32_t mrk;
1087
+    int i, tmp;
1088
+    uint16_t *ssrc = (uint16_t *) src, *sdst = (uint16_t *) dst;
1089
+    PutBitContext pb;
1090
+
1091
+    mrk = AV_RB32(src);
1092
+    switch (mrk) {
1093
+    case DCA_MARKER_RAW_BE:
1094
+        memcpy(dst, src, FFMIN(src_size, max_size));
1095
+        return FFMIN(src_size, max_size);
1096
+    case DCA_MARKER_RAW_LE:
1097
+        for (i = 0; i < (FFMIN(src_size, max_size) + 1) >> 1; i++)
1098
+            *sdst++ = bswap_16(*ssrc++);
1099
+        return FFMIN(src_size, max_size);
1100
+    case DCA_MARKER_14B_BE:
1101
+    case DCA_MARKER_14B_LE:
1102
+        init_put_bits(&pb, dst, max_size);
1103
+        for (i = 0; i < (src_size + 1) >> 1; i++, src += 2) {
1104
+            tmp = ((mrk == DCA_MARKER_14B_BE) ? AV_RB16(src) : AV_RL16(src)) & 0x3FFF;
1105
+            put_bits(&pb, 14, tmp);
1106
+        }
1107
+        flush_put_bits(&pb);
1108
+        return (put_bits_count(&pb) + 7) >> 3;
1109
+    default:
1110
+        return -1;
1111
+    }
1112
+}
1113
+
1114
+/**
1115
+ * Main frame decoding function
1116
+ * FIXME add arguments
1117
+ */
1118
+static int dca_decode_frame(AVCodecContext * avctx,
1119
+                            void *data, int *data_size,
1120
+                            uint8_t * buf, int buf_size)
1121
+{
1122
+
1123
+    int i, j, k;
1124
+    int16_t *samples = data;
1125
+    DCAContext *s = avctx->priv_data;
1126
+    int channels;
1127
+
1128
+
1129
+    s->dca_buffer_size = dca_convert_bitstream(buf, buf_size, s->dca_buffer, DCA_MAX_FRAME_SIZE);
1130
+    if (s->dca_buffer_size == -1) {
1131
+        av_log(avctx, AV_LOG_ERROR, "Not a DCA frame\n");
1132
+        return -1;
1133
+    }
1134
+
1135
+    init_get_bits(&s->gb, s->dca_buffer, s->dca_buffer_size * 8);
1136
+    if (dca_parse_frame_header(s) < 0) {
1137
+        //seems like the frame is corrupt, try with the next one
1138
+        return buf_size;
1139
+    }
1140
+    //set AVCodec values with parsed data
1141
+    avctx->sample_rate = s->sample_rate;
1142
+    avctx->channels = 2; //FIXME
1143
+    avctx->bit_rate = s->bit_rate;
1144
+
1145
+    channels = dca_channels[s->output];
1146
+    if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels)
1147
+        return -1;
1148
+    *data_size = 0;
1149
+    for (i = 0; i < (s->sample_blocks / 8); i++) {
1150
+        dca_decode_block(s);
1151
+        s->dsp.float_to_int16(s->tsamples, s->samples, 256 * channels);
1152
+        /* interleave samples */
1153
+        for (j = 0; j < 256; j++) {
1154
+            for (k = 0; k < channels; k++)
1155
+                samples[k] = s->tsamples[j + k * 256];
1156
+            samples += channels;
1157
+        }
1158
+        *data_size += 256 * sizeof(int16_t) * channels;
1159
+    }
1160
+
1161
+    return buf_size;
1162
+}
1163
+
1164
+
1165
+
1166
+/**
1167
+ * Build the cosine modulation tables for the QMF
1168
+ *
1169
+ * @param s     pointer to the DCAContext
1170
+ */
1171
+
1172
+static void pre_calc_cosmod(DCAContext * s)
1173
+{
1174
+    int i, j, k;
1175
+    static int cosmod_inited = 0;
1176
+
1177
+    if(cosmod_inited) return;
1178
+    for (j = 0, k = 0; k < 16; k++)
1179
+        for (i = 0; i < 16; i++)
1180
+            cos_mod[j++] = cos((2 * i + 1) * (2 * k + 1) * M_PI / 64);
1181
+
1182
+    for (k = 0; k < 16; k++)
1183
+        for (i = 0; i < 16; i++)
1184
+            cos_mod[j++] = cos((i) * (2 * k + 1) * M_PI / 32);
1185
+
1186
+    for (k = 0; k < 16; k++)
1187
+        cos_mod[j++] = 0.25 / (2 * cos((2 * k + 1) * M_PI / 128));
1188
+
1189
+    for (k = 0; k < 16; k++)
1190
+        cos_mod[j++] = -0.25 / (2.0 * sin((2 * k + 1) * M_PI / 128));
1191
+
1192
+    cosmod_inited = 1;
1193
+}
1194
+
1195
+
1196
+/**
1197
+ * DCA initialization
1198
+ *
1199
+ * @param avctx     pointer to the AVCodecContext
1200
+ */
1201
+
1202
+static int dca_decode_init(AVCodecContext * avctx)
1203
+{
1204
+    DCAContext *s = avctx->priv_data;
1205
+
1206
+    s->avctx = avctx;
1207
+    dca_init_vlcs();
1208
+    pre_calc_cosmod(s);
1209
+
1210
+    dsputil_init(&s->dsp, avctx);
1211
+    return 0;
1212
+}
1213
+
1214
+
1215
+AVCodec dca_decoder = {
1216
+    .name = "dca",
1217
+    .type = CODEC_TYPE_AUDIO,
1218
+    .id = CODEC_ID_DTS,
1219
+    .priv_data_size = sizeof(DCAContext),
1220
+    .init = dca_decode_init,
1221
+    .decode = dca_decode_frame,
1222
+};
1223
+
1224
+#ifdef CONFIG_DCA_PARSER
1225
+
1226
+typedef struct DCAParseContext {
1227
+    ParseContext pc;
1228
+    uint32_t lastmarker;
1229
+} DCAParseContext;
1230
+
1231
+#define IS_MARKER(state, i, buf, buf_size) \
1232
+ ((state == DCA_MARKER_14B_LE && (i < buf_size-2) && (buf[i+1] & 0xF0) == 0xF0 && buf[i+2] == 0x07) \
1233
+ || (state == DCA_MARKER_14B_BE && (i < buf_size-2) && buf[i+1] == 0x07 && (buf[i+2] & 0xF0) == 0xF0) \
1234
+ || state == DCA_MARKER_RAW_LE || state == DCA_MARKER_RAW_BE)
1235
+
1236
+/**
1237
+ * finds the end of the current frame in the bitstream.
1238
+ * @return the position of the first byte of the next frame, or -1
1239
+ */
1240
+static int dca_find_frame_end(DCAParseContext * pc1, const uint8_t * buf,
1241
+                              int buf_size)
1242
+{
1243
+    int start_found, i;
1244
+    uint32_t state;
1245
+    ParseContext *pc = &pc1->pc;
1246
+
1247
+    start_found = pc->frame_start_found;
1248
+    state = pc->state;
1249
+
1250
+    i = 0;
1251
+    if (!start_found) {
1252
+        for (i = 0; i < buf_size; i++) {
1253
+            state = (state << 8) | buf[i];
1254
+            if (IS_MARKER(state, i, buf, buf_size)) {
1255
+                if (pc1->lastmarker && state == pc1->lastmarker) {
1256
+                    start_found = 1;
1257
+                    break;
1258
+                } else if (!pc1->lastmarker) {
1259
+                    start_found = 1;
1260
+                    pc1->lastmarker = state;
1261
+                    break;
1262
+                }
1263
+            }
1264
+        }
1265
+    }
1266
+    if (start_found) {
1267
+        for (; i < buf_size; i++) {
1268
+            state = (state << 8) | buf[i];
1269
+            if (state == pc1->lastmarker && IS_MARKER(state, i, buf, buf_size)) {
1270
+                pc->frame_start_found = 0;
1271
+                pc->state = -1;
1272
+                return i - 3;
1273
+            }
1274
+        }
1275
+    }
1276
+    pc->frame_start_found = start_found;
1277
+    pc->state = state;
1278
+    return END_NOT_FOUND;
1279
+}
1280
+
1281
+static int dca_parse_init(AVCodecParserContext * s)
1282
+{
1283
+    DCAParseContext *pc1 = s->priv_data;
1284
+
1285
+    pc1->lastmarker = 0;
1286
+    return 0;
1287
+}
1288
+
1289
+static int dca_parse(AVCodecParserContext * s,
1290
+                     AVCodecContext * avctx,
1291
+                     uint8_t ** poutbuf, int *poutbuf_size,
1292
+                     const uint8_t * buf, int buf_size)
1293
+{
1294
+    DCAParseContext *pc1 = s->priv_data;
1295
+    ParseContext *pc = &pc1->pc;
1296
+    int next;
1297
+
1298
+    if (s->flags & PARSER_FLAG_COMPLETE_FRAMES) {
1299
+        next = buf_size;
1300
+    } else {
1301
+        next = dca_find_frame_end(pc1, buf, buf_size);
1302
+
1303
+        if (ff_combine_frame(pc, next, (uint8_t **) & buf, &buf_size) < 0) {
1304
+            *poutbuf = NULL;
1305
+            *poutbuf_size = 0;
1306
+            return buf_size;
1307
+        }
1308
+    }
1309
+    *poutbuf = (uint8_t *) buf;
1310
+    *poutbuf_size = buf_size;
1311
+    return next;
1312
+}
1313
+
1314
+AVCodecParser dca_parser = {
1315
+    {CODEC_ID_DTS},
1316
+    sizeof(DCAParseContext),
1317
+    dca_parse_init,
1318
+    dca_parse,
1319
+    ff_parse_close,
1320
+};
1321
+#endif /* CONFIG_DCA_PARSER */
0 1322
new file mode 100644
... ...
@@ -0,0 +1,8453 @@
0
+/*
1
+ * DCA compatible decoder data
2
+ * Copyright (C) 2004 Gildas Bazin
3
+ * Copyright (c) 2006 Benjamin Larsson
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ *
19
+ */
20
+
21
+/**
22
+ * @file dcadata.c
23
+ */
24
+
25
+/* Generic tables */
26
+
27
+static const uint32_t dca_sample_rates[16] =
28
+{
29
+    0, 8000, 16000, 32000, 0, 0, 11025, 22050, 44100, 0, 0,
30
+    12000, 24000, 48000, 96000, 192000
31
+};
32
+
33
+static const uint32_t dca_bit_rates[32] =
34
+{
35
+    32000, 56000, 64000, 96000, 112000, 128000,
36
+    192000, 224000, 256000, 320000, 384000,
37
+    448000, 512000, 576000, 640000, 768000,
38
+    896000, 1024000, 1152000, 1280000, 1344000,
39
+    1408000, 1411200, 1472000, 1536000, 1920000,
40
+    2048000, 3072000, 3840000, 1/*open*/, 2/*variable*/, 3/*lossless*/
41
+};
42
+
43
+static const uint8_t dca_channels[16] =
44
+{
45
+    1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 8
46
+};
47
+
48
+static const uint8_t dca_bits_per_sample[7] =
49
+{
50
+    16, 16, 20, 20, 0, 24, 24
51
+};
52
+
53
+
54
+/* Adpcm data */
55
+
56
+/* 16bits signed fractional Q13 binary codes */
57
+static const int16_t adpcm_vb[4096][4] =
58
+{
59
+  { 9928, -2618, -1093, -1263 },
60
+  { 11077, -2876, -1747, -308 },
61
+  { 10503, -1082, -1426, -1167 },
62
+  { 9337, -2403, -1495, 274 },
63
+  { 10698, -2529, -532, -1122 },
64
+  { 10368, -3974, -1264, -750 },
65
+  { 10070, -3667, 346, 863 },
66
+  { 10278, -3093, 311, -576 },
67
+  { 9894, -1330, -1428, -860 },
68
+  { 10544, -1923, -1058, -971 },
69
+  { 10996, -1632, -841, -1404 },
70
+  { 11832, -3465, 1658, -1990 },
71
+  { 10852, -688, -2658, -499 },
72
+  { 10546, -1749, -147, -1733 },
73
+  { 10801, -1004, -708, -1453 },
74
+  { 10588, -441, -2113, -952 },
75
+  { 10141, -3331, -582, -1432 },
76
+  { 9608, -2590, 383, 258 },
77
+  { 11422, -3265, 229, -1544 },
78
+  { 10460, -1338, -713, -1568 },
79
+  { 10306, -1721, -1660, -603 },
80
+  { 9580, -1812, -1235, -1061 },
81
+  { 11471, -2285, -1617, -607 },
82
+  { 10081, -2225, -1408, -868 },
83
+  { 10715, -2624, -1367, -704 },
84
+  { 10616, -1871, -2770, -35 },
85
+  { 9352, -2340, -1024, -1566 },
86
+  { 11065, -1458, -1926, -735 },
87
+  { 11334, -2056, -1041, -1144 },
88
+  { 9825, -2048, -794, -1536 },
89
+  { 11850, -2695, -1123, -867 },
90
+  { 10654, -2226, -1891, -373 },
91
+  { 10024, -1557, -808, -1069 },
92
+  { 11142, -1266, -3238, 128 },
93
+  { 11729, -3282, -514, -1011 },
94
+  { 11402, -2094, -2335, -189 },
95
+  { 10195, -3658, 181, -1875 },
96
+  { 11431, -2626, -404, -1377 },
97
+  { 11001, -3868, -619, -1077 },
98
+  { 10894, -2559, 274, -1758 },
99
+  { 9633, -1482, -2253, -773 },
100
+  { 11245, -3321, 830, -1972 },
101
+  { 9768, -2701, -199, -1859 },
102
+  { 10500, -2042, 525, -2043 },
103
+  { 11669, -4069, 293, -1468 },
104
+  { 9192, -1991, -583, -61 },
105
+  { 10057, -3220, -2015, -473 },
106
+  { 9497, -2315, -2490, -467 },
107
+  { 10455, -3069, -1194, -1007 },
108
+  { 9994, -1936, -60, -1225 },
109
+  { 9295, -2156, -1761, -1134 },
110
+  { 10085, -3748, -1026, 197 },
111
+  { 9334, -2360, 804, -351 },
112
+  { 11561, -2553, 1352, -2313 },
113
+  { 12837, -3998, 1195, -1958 },
114
+  { 10114, -1100, -2414, -394 },
115
+  { 9341, -2530, 315, 755 },
116
+  { 10131, -3164, 1411, -674 },
117
+  { 9535, -905, -1551, 579 },
118
+  { 11717, -1519, -3051, 91 },
119
+  { 9824, -2911, -2775, 192 },
120
+  { 9662, -2934, -561, 1450 },
121
+  { 11085, -3392, -1298, -659 },
122
+  { 8955, -2102, -1899, 703 },
123
+  { 8607, -1742, -4348, 814 },
124
+  { 7640, -2063, -3617, 52 },
125
+  { 7074, -826, -4325, 4375 },
126
+  { 7714, 584, -4238, 1927 },
127
+  { 6355, -952, -4912, 3127 },
128
+  { 7069, -660, -6413, 4087 },
129
+  { 8313, -132, -2964, -876 },
130
+  { 6952, -1422, -3962, -24 },
131
+  { 9299, -734, -3088, -263 },
132
+  { 9484, -574, -4513, 466 },
133
+  { 7246, -91, -3735, -704 },
134
+  { 8325, -1417, -3090, -530 },
135
+  { 6469, -1226, -4757, 829 },
136
+  { 6652, -368, -5682, 1393 },
137
+  { 7971, -1278, -2284, 1205 },
138
+  { 7229, -699, -3556, 1840 },
139
+  { 7994, 1284, -2729, 732 },
140
+  { 9005, -698, -4522, 2189 },
141
+  { 6963, 197, -2727, 380 },
142
+  { 8527, 135, -3991, -213 },
143
+  { 8840, 934, -3014, -567 },
144
+  { 10125, 418, -3284, -371 },
145
+  { 6367, 361, -2318, 2554 },
146
+  { 7892, 172, -5247, 4673 },
147
+  { 6674, 387, -5424, 4398 },
148
+  { 6240, 684, -4047, 1219 },
149
+  { 11170, -794, -5081, 1195 },
150
+  { 11765, -648, -6265, 2052 },
151
+  { 10845, -775, -3837, 366 },
152
+  { 12496, -689, -8260, 3562 },
153
+  { 7893, -1166, -4972, 988 },
154
+  { 8592, 1052, -5986, 3087 },
155
+  { 7277, 1874, -5685, 3579 },
156
+  { 6900, 2016, -4809, 3491 },
157
+  { 8530, -2405, -3250, 1986 },
158
+  { 9426, 494, -7067, 5038 },
159
+  { 10285, 564, -8210, 5370 },
160
+  { 8749, -2207, -3980, 2852 },
161
+  { 9653, -2686, -4300, 1400 },
162
+  { 9770, -2286, -5663, 4233 },
163
+  { 8490, -4, -7048, 4496 },
164
+  { 7697, -1209, -5328, 3183 },
165
+  { 6451, 801, -4324, -554 },
166
+  { 7387, 1806, -5265, 545 },
167
+  { 7450, -2302, -4445, 1418 },
168
+  { 8817, -1370, -5827, 2168 },
169
+  { 10324, -2406, -5629, 2579 },
170
+  { 8863, -2578, -3537, 467 },
171
+  { 6901, -1624, -3169, 3392 },
172
+  { 7846, 156, -6948, 3381 },
173
+  { 7928, -1115, -5972, 4816 },
174
+  { 6089, -599, -4368, -320 },
175
+  { 7833, 1246, -3960, -621 },
176
+  { 8931, 2521, -6768, 2052 },
177
+  { 8900, 1944, -4126, 40 },
178
+  { 7661, -34, -2855, 2480 },
179
+  { 5873, 474, -3262, 3712 },
180
+  { 7535, -234, -4699, 216 },
181
+  { 5856, 143, -5142, 73 },
182
+  { 8944, -106, -5874, 3663 },
183
+  { 7134, 426, -5879, 2895 },
184
+  { 10199, 1011, -4762, 369 },
185
+  { 8454, 264, -5971, 1291 },
186
+  { 7822, -2449, -4333, 4540 },
187
+  { 6200, -2758, -2632, 1497 },
188
+  { 6070, -4315, -2699, 414 },
189
+  { 7047, -3739, -3210, 1060 },
190
+  { 5675, -3801, -2717, -407 },
191
+  { 4789, -4063, -2628, -744 },
192
+  { 4023, -3366, -3133, -726 },
193
+  { 4296, -2407, -3381, -513 },
194
+  { 4388, -2931, -2820, 1512 },
195
+  { 4559, -4233, -1941, 1976 },
196
+  { 6702, -3208, -1755, 1680 },
197
+  { 4416, -3521, -1052, 2984 },
198
+  { 7154, -4266, -1203, 3732 },
199
+  { 3625, -4242, -3244, 1395 },
200
+  { 6518, -2856, -1304, 2887 },
201
+  { 6170, -1949, -3014, 3973 },
202
+  { 5189, -2451, -4020, 3477 },
203
+  { 6218, -2988, -1921, 3844 },
204
+  { 4827, -3688, -1928, 3343 },
205
+  { 6668, -3991, -2805, 3095 },
206
+  { 5297, -3115, -3684, 2390 },
207
+  { 5354, -4614, -2662, 1504 },
208
+  { 4196, -3091, -4147, 1135 },
209
+  { 3540, -2893, -4007, 100 },
210
+  { 5569, -1602, -4007, 1909 },
211
+  { 4341, -2091, -4272, 252 },
212
+  { 5559, -2878, -3832, 498 },
213
+  { 4548, -4479, -2898, -27 },
214
+  { 5176, -2494, -4635, 1476 },
215
+  { 3294, -3485, -3738, 716 },
216
+  { 4920, -1229, -4195, -365 },
217
+  { 3257, -3518, -3349, 2862 },
218
+  { 5286, -1948, -3485, -778 },
219
+  { 6502, -3051, -152, 2854 },
220
+  { 5864, -4192, -1076, 3451 },
221
+  { 4656, -3122, -3448, 179 },
222
+  { 5907, -754, -1596, 3116 },
223
+  { 7229, -3680, -1590, 2892 },
224
+  { 5107, -3888, -3364, 806 },
225
+  { 6764, -2635, -3450, 134 },
226
+  { 5258, -2827, -2844, -1052 },
227
+  { 5798, -1725, -4305, 205 },
228
+  { 5404, -1213, -3362, 449 },
229
+  { 6224, -2738, -3046, -581 },
230
+  { 4223, -2438, -2725, 3745 },
231
+  { 4751, -3411, -2123, 116 },
232
+  { 3868, -3000, -3954, 2297 },
233
+  { 6819, -2899, -4277, 2825 },
234
+  { 4207, -4754, -2808, 865 },
235
+  { 4804, -1494, -1997, 4688 },
236
+  { 5282, -2213, -548, 3559 },
237
+  { 5580, -1912, -566, 4370 },
238
+  { 6168, -2857, -672, 4053 },
239
+  { 6583, -4515, -2850, 1670 },
240
+  { 6511, -3093, -3988, 1421 },
241
+  { 4646, -1790, -1443, 3650 },
242
+  { 5915, -924, -2020, 896 },
243
+  { 7814, -4181, -3152, 2007 },
244
+  { 6190, -2238, -4817, 2279 },
245
+  { 4737, -4034, -3288, 1835 },
246
+  { 8161, -3633, -3423, 3137 },
247
+  { 7415, -2351, -2088, 4290 },
248
+  { 4106, -2517, -62, 2905 },
249
+  { 4909, -3145, -614, 4112 },
250
+  { 4938, -3281, -397, 1100 },
251
+  { -173, 919, 1589, -5363 },
252
+  { -13, 796, -295, -6655 },
253
+  { -1860, -829, 1141, -4555 },
254
+  { 2298, -838, -664, -5005 },
255
+  { -884, -1097, 2074, -4613 },
256
+  { -101, 281, 2846, -4535 },
257
+  { 1166, 453, 2429, -5910 },
258
+  { 879, -664, 2370, -5452 },
259
+  { 1415, -370, -1699, -4727 },
260
+  { -1413, 1277, -669, -6649 },
261
+  { 2133, 304, -968, -4624 },
262
+  { 380, 586, -2087, -4892 },
263
+  { 1336, 275, -82, -5789 },
264
+  { -2459, 1057, -34, -5416 },
265
+  { 2278, -1758, 866, -5653 },
266
+  { 1945, -2295, -149, -5302 },
267
+  { 1287, -3525, 996, -5255 },
268
+  { 2297, 803, 1177, -6067 },
269
+  { 187, -180, -619, -6202 },
270
+  { -793, -2537, 1554, -5057 },
271
+  { -2703, -204, -629, -5853 },
272
+  { -1007, -146, 313, -5582 },
273
+  { 830, 357, 869, -6363 },
274
+  { -228, -575, -3177, -4433 },
275
+  { -1001, -1553, -142, -5708 },
276
+  { -1644, 1683, 1721, -4533 },
277
+  { 893, 1924, -15, -5791 },
278
+  { 2195, 2061, -262, -5471 },
279
+  { 3031, 270, 311, -5096 },
280
+  { 1912, 1638, -1523, -4677 },
281
+  { -3142, -55, 253, -4914 },
282
+  { 356, -1680, 343, -6123 },
283
+  { -2241, -1734, -976, -5939 },
284
+  { -2196, -2893, 547, -4938 },
285
+  { -1245, 126, -1916, -5419 },
286
+  { -249, -3755, -1422, -5594 },
287
+  { 575, -2683, -1926, -4566 },
288
+  { -762, 1885, 192, -5880 },
289
+  { -811, -2562, -1068, -6013 },
290
+  { -2264, -3086, -976, -4775 },
291
+  { 70, -1215, 2880, -4410 },
292
+  { 714, -3760, 2916, -4691 },
293
+  { -244, -3404, 1740, -4493 },
294
+  { 684, -5137, -328, -5608 },
295
+  { -529, -3825, -1786, -4535 },
296
+  { -713, -4743, -1118, -5546 },
297
+  { 2718, -3788, 1798, -5708 },
298
+  { -1639, -3679, -1564, -6095 },
299
+  { 1693, -2642, -1389, -4539 },
300
+  { 505, -1573, -1651, -4878 },
301
+  { -835, -2256, -1941, -5352 },
302
+  { 1464, -411, 1993, -6441 },
303
+  { 493, -3184, -145, -6148 },
304
+  { -1413, 499, -1617, -6479 },
305
+  { -294, 1722, -1419, -5725 },
306
+  { -2937, -1528, -175, -4624 },
307
+  { -594, -5911, -56, -6146 },
308
+  { -300, -4275, 1156, -5947 },
309
+  { 552, -2643, 2669, -3959 },
310
+  { 905, -4158, 1789, -5809 },
311
+  { 1336, -2009, 2108, -5903 },
312
+  { 1555, -3600, 1110, -6759 },
313
+  { -1294, -3464, 77, -6084 },
314
+  { -1139, -4006, -1270, -4181 },
315
+  { -5094, -3296, 1092, -2847 },
316
+  { -5503, -2883, 1984, -2067 },
317
+  { -4671, -4218, -1417, -4132 },
318
+  { -3763, -3818, 1262, -3082 },
319
+  { -5132, -3430, 2928, -728 },
320
+  { -5957, -2877, 1251, -2446 },
321
+  { -4425, -2319, -212, -4276 },
322
+  { -6201, -1993, 1774, -2182 },
323
+  { -5500, -3836, 2201, -1396 },
324
+  { -6934, -2334, 2366, -1293 },
325
+  { -6124, -4140, 1337, -1977 },
326
+  { -6553, -4186, 1756, -1325 },
327
+  { -5126, -1258, 744, -3656 },
328
+  { -5167, -1390, 1581, -2895 },
329
+  { -4525, -3398, 2429, -1865 },
330
+  { -4076, -3183, 2027, -2510 },
331
+  { -6191, -3274, 1838, -1814 },
332
+  { -4454, -2753, 2723, -1185 },
333
+  { -6655, -4797, 251, -2595 },
334
+  { -6332, -2232, 1832, 217 },
335
+  { -5869, -1698, 134, 340 },
336
+  { -6614, -1045, 2126, -1932 },
337
+  { -4859, -2107, 2010, -2435 },
338
+  { -6274, -1622, 2808, -1374 },
339
+  { -3119, -3209, 521, -3988 },
340
+  { -5676, -2082, -420, -2711 },
341
+  { -7073, -3623, 696, -2343 },
342
+  { -5986, -4224, 572, -2454 },
343
+  { -4340, -4521, 882, -2771 },
344
+  { -6178, -1933, 535, -1444 },
345
+  { -4923, -4163, 1744, -2066 },
346
+  { -6410, -1519, 1058, -2683 },
347
+  { -5077, -1185, 856, -2216 },
348
+  { -7091, -2444, 687, -2597 },
349
+  { -5284, -2165, 3239, -993 },
350
+  { -4763, -1497, 197, -3179 },
351
+  { -4128, -4958, -396, -3578 },
352
+  { -5054, -3878, -647, -2672 },
353
+  { -7005, -3348, 1679, -1579 },
354
+  { -5767, -1017, 2582, -1915 },
355
+  { -7069, -2787, 1331, -2070 },
356
+  { -5532, -2296, 706, -2950 },
357
+  { -5059, -3543, -821, -3637 },
358
+  { -6639, -1835, 1016, -696 },
359
+  { -5611, -5220, -694, -3371 },
360
+  { -5994, -2803, 2933, -729 },
361
+  { -5948, -619, 1596, -2676 },
362
+  { -5486, -4419, 153, -3265 },
363
+  { -4329, -3440, 1646, -1439 },
364
+  { -4083, -3978, 177, -3569 },
365
+  { -4289, -2599, 1224, -3075 },
366
+  { -5707, -3253, 1912, -759 },
367
+  { -6606, -3437, 2562, -571 },
368
+  { -5254, -2444, 769, -352 },
369
+  { -6545, -3154, 582, -1103 },
370
+  { -5328, -2241, 2566, -1775 },
371
+  { -7216, -1936, 1538, -1983 },
372
+  { -3730, -2451, 426, -3869 },
373
+  { -5110, -1385, 2031, -1169 },
374
+  { -6470, -2715, 269, -3123 },
375
+  { -5806, -2480, -97, -3832 },
376
+  { -3683, -4916, -490, -4330 },
377
+  { -6341, -2083, -669, -115 },
378
+  { -4913, -4079, -837, -4673 },
379
+  { -3274, -2497, 2334, -2652 },
380
+  { -1286, -1731, 2550, -3756 },
381
+  { -3375, -877, 926, -3977 },
382
+  { -2525, -2079, 2879, -2625 },
383
+  { -5308, -504, 3111, -1607 },
384
+  { -4904, 460, 4093, -1232 },
385
+  { -1993, 1616, 4656, -1913 },
386
+  { -3481, -1176, 3119, -2236 },
387
+  { -4132, -1502, 2339, -2545 },
388
+  { -2542, 1151, 3569, -2550 },
389
+  { -4381, 430, 3147, -2082 },
390
+  { -3888, 867, 3899, -1657 },
391
+  { -2861, 1290, 4202, -1979 },
392
+  { -3893, -253, 2363, -2764 },
393
+  { -1705, 688, 3827, -2923 },
394
+  { -2223, 2312, 3700, -3148 },
395
+  { -1986, -720, 5021, -795 },
396
+  { -3177, 242, 1952, -3352 },
397
+  { -1854, 1509, 2528, -3815 },
398
+  { -3173, 97, 5019, -706 },
399
+  { -2689, -145, 1375, -3915 },
400
+  { -4838, -385, 2488, -2427 },
401
+  { -4557, -355, 1603, -3060 },
402
+  { -3522, 1832, 3292, -2674 },
403
+  { -3769, 780, 2378, -2704 },
404
+  { -4323, -1932, 3414, -1169 },
405
+  { -2740, 1158, 2729, -3273 },
406
+  { -3647, 210, 1464, -2892 },
407
+  { -2342, -2097, 1513, -3727 },
408
+  { -4422, -1242, 3130, -1833 },
409
+  { -1308, -1039, 4290, -1875 },
410
+  { -1754, -2535, 3298, -2314 },
411
+  { -4102, -186, 4037, -1094 },
412
+  { -1008, 1570, 3290, 171 },
413
+  { -3322, -2621, 2791, -1536 },
414
+  { -2539, -2597, 3442, -1672 },
415
+  { -3411, -2015, 3670, -1174 },
416
+  { -2097, 730, 5581, -1399 },
417
+  { -1510, -74, 4820, -2004 },
418
+  { -4086, -868, 4425, -771 },
419
+  { -956, -986, 3640, -2925 },
420
+  { -2087, -1250, 3464, -2458 },
421
+  { -3308, -2411, 1334, -3667 },
422
+  { -2264, -389, 4004, -1854 },
423
+  { -680, 239, 4058, -3388 },
424
+  { -1357, 30, 2993, -3658 },
425
+  { -3601, -552, 1177, -1136 },
426
+  { -2641, 442, 4374, -1625 },
427
+  { -2525, 770, 1640, -3895 },
428
+  { -3172, -891, 3893, -1608 },
429
+  { -2996, 13, 3277, -2414 },
430
+  { -899, 1055, 4470, -2501 },
431
+  { -422, -584, 3475, -3787 },
432
+  { -1978, -593, 2566, -3415 },
433
+  { -3150, -1280, 2362, -3047 },
434
+  { -3592, 224, 1026, -3932 },
435
+  { -4840, -1189, 3633, -879 },
436
+  { -3952, -2255, 2916, -1826 },
437
+  { -1695, 28, 1810, -349 },
438
+  { -745, -2484, 3308, -3293 },
439
+  { -1016, 1563, 5365, -1823 },
440
+  { -2172, -1787, 4266, -1287 },
441
+  { -1241, -1951, 3982, -2413 },
442
+  { -2009, -2639, 2330, -3480 },
443
+  { 5105, -1618, -2588, -2015 },
444
+  { 6497, -1523, -3218, -910 },
445
+  { 6526, -2305, -2029, -1790 },
446
+  { 5289, -99, -3436, -400 },
447
+  { 5781, -1623, -1577, -2617 },
448
+  { 5259, -670, -3125, -1700 },
449
+  { 6343, -1256, -331, -3222 },
450
+  { 7967, -678, -2195, -1462 },
451
+  { 6119, -695, -2988, -1538 },
452
+  { 6108, 494, -3359, -1548 },
453
+  { 5067, 969, -2328, -2707 },
454
+  { 7595, -435, -1497, -2056 },
455
+  { 6929, -719, -2420, -1665 },
456
+  { 5190, 584, -2982, -2103 },
457
+  { 6106, -444, -1411, -2739 },
458
+  { 5584, 289, -1804, -2803 },
459
+  { 5276, 227, -1180, -3361 },
460
+  { 7544, -1525, -1834, -1725 },
461
+  { 5986, -1470, -2606, -1701 },
462
+  { 5096, -765, -1712, -3006 },
463
+  { 5423, -149, -3933, -1157 },
464
+  { 7651, 26, -2445, -1507 },
465
+  { 4745, -464, -1735, -2362 },
466
+  { 5352, -1011, -1094, -1999 },
467
+  { 6300, -672, -542, -1950 },
468
+  { 6675, -1020, -1318, -1059 },
469
+  { 7218, -2036, -603, -2462 },
470
+  { 7755, -1514, -2430, -1229 },
471
+  { 5041, 449, -1056, -2405 },
472
+  { 6710, -2277, -1344, -2284 },
473
+  { 6824, -1347, -2254, 251 },
474
+  { 6068, -1857, -983, -1316 },
475
+  { 5603, -2177, -2730, -1477 },
476
+  { 5838, -1059, -3604, -970 },
477
+  { 5076, -789, -335, -2413 },
478
+  { 6191, -1634, -2000, -2129 },
479
+  { 5092, -1292, -2543, -1034 },
480
+  { 5305, 435, -1710, -1850 },
481
+  { 6140, 561, -2176, -2380 },
482
+  { 6752, 348, -2496, -1890 },
483
+  { 6405, 273, -1098, -2778 },
484
+  { 6942, -1340, -496, -1381 },
485
+  { 5238, -687, -2454, -2349 },
486
+  { 6959, -882, -1833, -2061 },
487
+  { 6292, -253, -2125, -2199 },
488
+  { 5838, -574, -759, -3215 },
489
+  { 6954, -1484, -640, -2771 },
490
+  { 7498, -1706, -1210, -2154 },
491
+  { 6772, -1003, -1235, -2532 },
492
+  { 6014, 228, -2154, -1108 },
493
+  { 6943, -2178, -2644, -1122 },
494
+  { 7262, -763, -3056, -1090 },
495
+  { 6273, -1478, -1072, 177 },
496
+  { 4734, 425, -2912, 357 },
497
+  { 7129, 168, -1537, -2327 },
498
+  { 7204, -434, -746, -2660 },
499
+  { 6879, 57, -3087, -1310 },
500
+  { 4623, -610, -718, -3459 },
501
+  { 6565, -543, -1998, -339 },
502
+  { 4752, -277, -2066, -1405 },
503
+  { 7435, -1416, -1904, -505 },
504
+  { 4076, 150, -1222, -3556 },
505
+  { 7082, -28, -1456, -1174 },
506
+  { 5941, -446, -1326, -1158 },
507
+  { 3870, -1648, -2474, -2589 },
508
+  { 858, 37, -3387, -3721 },
509
+  { 3557, -1503, -1664, -3383 },
510
+  { 3336, -1972, -3079, -2216 },
511
+  { 3186, 60, -4185, -863 },
512
+  { 3456, -773, -3066, -2457 },
513
+  { 4131, -913, -2060, -2601 },
514
+  { 4431, -691, -4114, -972 },
515
+  { 3461, -334, -3680, -1751 },
516
+  { 2006, -459, -2214, -3827 },
517
+  { 1322, 32, -2816, -3203 },
518
+  { 4425, -1897, -2791, -1946 },
519
+  { 4504, 23, -3421, -1909 },
520
+  { 3090, -885, -2366, -3264 },
521
+  { 3209, -2363, -3730, -834 },
522
+  { 3312, -1471, -3641, -1579 },
523
+  { 4184, -1669, -3323, -1248 },
524
+  { 2190, -931, -3302, -2944 },
525
+  { 2947, -229, -4791, -1195 },
526
+  { 2020, -1626, -2700, -3125 },
527
+  { 2214, -326, -4352, -1683 },
528
+  { 3286, -2619, -2412, -2458 },
529
+  { 1000, -2571, -4129, -2158 },
530
+  { 2496, -2627, -3611, -1433 },
531
+  { 2043, -2191, -2167, -3827 },
532
+  { 2571, -2544, -1915, -3222 },
533
+  { 2022, -1501, -3856, -2165 },
534
+  { 2685, -1180, -1461, -4038 },
535
+  { 1610, -2313, -4391, -1173 },
536
+  { 2340, -2490, -4215, -516 },
537
+  { 1742, -2615, -3632, -2146 },
538
+  { 523, -1293, -4246, -2442 },
539
+  { 3725, -2723, -3014, -1576 },
540
+  { 3554, -1381, -4200, -824 },
541
+  { 1291, -1594, -4777, -1430 },
542
+  { 1452, 515, -2960, -3830 },
543
+  { 4264, -894, -3305, -1826 },
544
+  { 2606, -1452, -4522, -966 },
545
+  { 1196, -830, -4807, -1816 },
546
+  { 1054, -775, -2616, -4071 },
547
+  { 4206, 415, -4344, -1132 },
548
+  { 3044, 491, -4126, -1934 },
549
+  { 988, -901, -3353, -3443 },
550
+  { 1729, -3063, -2267, -3370 },
551
+  { 3915, 912, -2989, -2387 },
552
+  { 3781, 300, -2457, -3050 },
553
+  { 2712, 924, -1350, -1206 },
554
+  { 4230, 405, -2343, 665 },
555
+  { 1878, -873, -225, -29 },
556
+  { 3510, 56, -1334, -3420 },
557
+  { 2850, 1447, -2651, -3150 },
558
+  { 1510, -706, -4125, -2483 },
559
+  { 3115, 793, -1692, -3894 },
560
+  { 2667, 213, -2973, -2786 },
561
+  { 1184, -2384, -3051, -3173 },
562
+  { 2139, 796, -2079, -3697 },
563
+  { 1464, -1483, -3726, -2754 },
564
+  { 2407, -1148, -3915, -1569 },
565
+  { 2612, -1779, -3217, -2271 },
566
+  { 2406, -2870, -2937, -2496 },
567
+  { 2140, 126, -3646, -2758 },
568
+  { 2952, -1036, 268, -1423 },
569
+  { 93, -1931, -3841, -3535 },
570
+  { 389, -2953, -3383, -3343 },
571
+  { 8652, -5511, -1662, 565 },
572
+  { 7427, -2791, -2535, -842 },
573
+  { 8541, -4253, -1407, -988 },
574
+  { 8018, -3203, -2998, 105 },
575
+  { 7231, -3926, -958, 1308 },
576
+  { 7331, -3690, -363, 2586 },
577
+  { 6803, -3646, -2226, -903 },
578
+  { 8163, -2811, -477, -2235 },
579
+  { 9356, -3818, -1685, -684 },
580
+  { 8466, -2854, -302, -698 },
581
+  { 8458, -3224, 517, 279 },
582
+  { 8074, -2619, -1326, 2596 },
583
+  { 8779, -2761, -2527, -441 },
584
+  { 6533, -2887, -899, -696 },
585
+  { 7394, -2305, -1642, -120 },
586
+  { 8281, -3780, -22, 1305 },
587
+  { 9158, -4413, -779, 901 },
588
+  { 9031, -5240, -1109, 1678 },
589
+  { 8717, -3650, 410, -1075 },
590
+  { 7317, -3197, -818, -2264 },
591
+  { 7934, -2385, -1214, -1886 },
592
+  { 8256, -4441, -291, -587 },
593
+  { 7358, -3395, 1090, -270 },
594
+  { 9446, -4910, -1343, -473 },
595
+  { 8187, -4726, -808, 1166 },
596
+  { 7504, -3845, -47, 267 },
597
+  { 8029, -2146, -1283, -383 },
598
+  { 7461, -2705, -853, 783 },
599
+  { 9367, -3636, -645, -354 },
600
+  { 8955, -3473, -308, -1947 },
601
+  { 8676, -2683, -2099, 1485 },
602
+  { 7481, -3003, -871, -444 },
603
+  { 8015, -2839, -1673, 1175 },
604
+  { 6947, -4643, -1527, -1047 },
605
+  { 7622, -2575, -137, -960 },
606
+  { 9388, -4279, -707, -1322 },
607
+  { 8382, -5259, -1283, -565 },
608
+  { 6856, -4138, -1030, 630 },
609
+  { 8659, -2571, -1124, -1666 },
610
+  { 8763, -3807, -537, 2543 },
611
+  { 8049, -3578, -2186, -604 },
612
+  { 8272, -2351, -1985, -1214 },
613
+  { 6855, -3796, -1527, -1631 },
614
+  { 7178, -2896, -1600, -1756 },
615
+  { 7040, -2888, -89, -1586 },
616
+  { 6261, -3403, -264, 998 },
617
+  { 7756, -4699, -1543, -834 },
618
+  { 7682, -4622, -758, -1721 },
619
+  { 8839, -4232, -2932, 1959 },
620
+  { 9363, -4679, -1956, 39 },
621
+  { 7883, -3616, -1414, -1432 },
622
+  { 8828, -3188, -1356, -1312 },
623
+  { 7746, -3987, -121, -2424 },
624
+  { 9262, -3256, -693, 818 },
625
+  { 7670, -3420, -148, 3504 },
626
+  { 7344, -3183, 608, 1595 },
627
+  { 8976, -4139, -1848, 1304 },
628
+  { 6708, -4131, 33, -852 },
629
+  { 7840, -4429, -2275, 79 },
630
+  { 8980, -3858, -2838, 453 },
631
+  { 7815, -4604, -2563, 944 },
632
+  { 8372, -4422, -1783, 3071 },
633
+  { 8623, -5128, -1754, 2888 },
634
+  { 7462, -3281, 889, 920 },
635
+  { 8416, -59, -1320, -1825 },
636
+  { 7928, -1488, -414, -2499 },
637
+  { 8110, -977, -1047, -2042 },
638
+  { 8278, -687, -1597, -1550 },
639
+  { 7988, -174, -977, -2106 },
640
+  { 8609, -1547, -1628, -1527 },
641
+  { 9000, -1798, -946, -1761 },
642
+  { 8954, -872, -1404, -1594 },
643
+  { 8939, 466, -748, -1212 },
644
+  { 9549, -329, -177, -1360 },
645
+  { 9411, -18, -1126, -1568 },
646
+  { 8859, -782, -488, -1338 },
647
+  { 8955, -218, -43, -1209 },
648
+  { 9131, -69, -453, -1001 },
649
+  { 9069, -1519, -1091, -1199 },
650
+  { 9247, -1309, -566, -1146 },
651
+  { 8528, -1617, -287, -1313 },
652
+  { 7763, -745, -149, -2040 },
653
+  { 8294, -343, 257, -2633 },
654
+  { 10149, -893, -552, -1649 },
655
+  { 9398, -915, 218, -2042 },
656
+  { 9703, -1194, -675, -1592 },
657
+  { 9586, -700, -427, -1710 },
658
+  { 8930, 497, -1445, -1218 },
659
+  { 9285, -1323, -163, -1552 },
660
+  { 8431, -1289, -985, -1404 },
661
+  { 8965, -655, 653, -1483 },
662
+  { 9542, -1001, -951, -1128 },
663
+  { 9205, -647, -37, -882 },
664
+  { 8603, -56, 514, -1793 },
665
+  { 9300, -12, -1324, -567 },
666
+  { 8773, 238, -184, -1456 },
667
+  { 9941, -1306, -69, -1792 },
668
+  { 9360, 279, -376, -1919 },
669
+  { 9180, -285, 95, -2170 },
670
+  { 9922, -501, -970, -1570 },
671
+  { 8341, -1493, -856, -2092 },
672
+  { 8780, -981, -850, -1014 },
673
+  { 9721, -548, -1504, -1094 },
674
+  { 9973, -1493, 482, -2105 },
675
+  { 8707, -333, -1027, -1087 },
676
+  { 9098, -469, -315, -1723 },
677
+  { 8879, -1050, -661, -2020 },
678
+  { 8857, 602, -866, -1918 },
679
+  { 8945, -1025, -2154, -1071 },
680
+  { 8484, -1930, -468, -2179 },
681
+  { 9177, -1903, -224, -2112 },
682
+  { 8652, -137, -2097, -1214 },
683
+  { 9063, -973, -1405, -772 },
684
+  { 9328, -456, 662, -2469 },
685
+  { 10101, -697, 127, -2113 },
686
+  { 9685, 811, -2359, -1024 },
687
+  { 8586, -94, -460, -1982 },
688
+  { 7924, -141, -509, -2513 },
689
+  { 7773, -669, -107, -2835 },
690
+  { 8636, -1064, -46, -2409 },
691
+  { 9748, 596, -1815, -1349 },
692
+  { 8924, 304, 547, -2614 },
693
+  { 9442, 746, -1153, -1679 },
694
+  { 9454, -278, -529, -1976 },
695
+  { 8488, 561, -32, -2160 },
696
+  { 10083, -63, -1544, -1364 },
697
+  { 9390, -1278, 568, -1131 },
698
+  { 9740, -49, -2253, -910 },
699
+  { 3636, -2391, -1115, -3614 },
700
+  { 6014, -3204, -1902, -1808 },
701
+  { 5787, -3497, -1116, -2590 },
702
+  { 4365, -3046, -1632, -2668 },
703
+  { 4733, -2192, -2029, -2468 },
704
+  { 5412, -2753, -1633, -2464 },
705
+  { 4455, -3375, -767, -3399 },
706
+  { 4456, -1644, -983, -2841 },
707
+  { 4039, -2523, 38, -3967 },
708
+  { 3406, -2662, 72, -4757 },
709
+  { 4279, -2005, 1055, -4399 },
710
+  { 4321, -1377, -860, -3786 },
711
+  { 3743, -5739, -651, -3047 },
712
+  { 3528, -5510, 361, -4060 },
713
+  { 6496, -4886, -136, -2689 },
714
+  { 4513, -5254, 551, -4010 },
715
+  { 6557, -3413, -92, -3063 },
716
+  { 4186, -2059, 187, 47 },
717
+  { 6210, -4117, -1256, -1985 },
718
+  { 6038, -4343, 351, -2124 },
719
+  { 4305, -4780, -2077, -1897 },
720
+  { 4480, -3815, -2228, -1533 },
721
+  { 5582, -3689, 1221, -3429 },
722
+  { 5532, -4874, 1195, -2765 },
723
+  { 6518, -2853, -905, -2568 },
724
+  { 5467, -2192, 470, -4115 },
725
+  { 4139, -1577, 240, -3493 },
726
+  { 5281, -1926, -729, -3340 },
727
+  { 5214, -2870, 1359, -4289 },
728
+  { 3046, -3510, -1536, -3214 },
729
+  { 5433, -2881, -1230, -1184 },
730
+  { 4861, -3932, -1071, -2791 },
731
+  { 5693, -4234, -1906, -1502 },
732
+  { 4004, -3935, -1804, -2383 },
733
+  { 3728, -3792, 681, -4773 },
734
+  { 3621, -3030, -1951, -2598 },
735
+  { 5133, -3903, 44, -3700 },
736
+  { 3561, -3451, 1183, -5301 },
737
+  { 5026, -2762, -2341, -1780 },
738
+  { 5841, -2492, -467, -3210 },
739
+  { 5591, -1791, 497, -2472 },
740
+  { 5054, -3898, -1822, -2097 },
741
+  { 5813, -2792, 83, -1469 },
742
+  { 4432, -4497, 1670, -5193 },
743
+  { 5338, -4653, -1109, -2200 },
744
+  { 3239, -4401, -648, -3655 },
745
+  { 2147, -3598, -1200, -4242 },
746
+  { 4417, -2271, -1552, -3210 },
747
+  { 6494, -4360, 852, -3565 },
748
+  { 2393, -6358, -856, -4524 },
749
+  { 4959, -4196, -847, -1403 },
750
+  { 4924, -5438, -226, -3026 },
751
+  { 4254, -5303, -1306, -2424 },
752
+  { 4121, -3126, -2334, -1981 },
753
+  { 3437, -4443, -1464, -2953 },
754
+  { 3203, -3459, -529, -4339 },
755
+  { 5896, -5945, 543, -3246 },
756
+  { 1987, -4733, -220, -4863 },
757
+  { 4358, -4431, -514, -3081 },
758
+  { 4583, -2416, -492, -2287 },
759
+  { 2943, -5035, 419, -4927 },
760
+  { 5358, -5129, 987, -4309 },
761
+  { 4460, -3392, 1752, -5634 },
762
+  { 3415, -4633, 1507, -5945 },
763
+  { 811, -4692, -445, 2333 },
764
+  { 1009, -5613, -1857, 1360 },
765
+  { 1338, -2712, -2720, 3036 },
766
+  { 1002, -3754, -2582, 2344 },
767
+  { 750, -4608, -2334, 714 },
768
+  { 2043, -3207, -2822, 2173 },
769
+  { -140, -4654, -2953, 357 },
770
+  { -54, -4026, -2376, 2695 },
771
+  { 1858, -5022, -717, 2287 },
772
+  { 2064, -3894, -722, 3255 },
773
+  { 2727, -4558, -332, 2603 },
774
+  { 1810, -5378, 283, 1826 },
775
+  { 3935, -4326, 762, 3383 },
776
+  { -767, -4697, -2510, 1922 },
777
+  { 2146, -4312, -3090, 1641 },
778
+  { 54, -5881, -2114, 921 },
779
+  { 1992, -5766, -640, 1574 },
780
+  { 1200, -5371, -1114, 1828 },
781
+  { 2973, -5337, 34, 2266 },
782
+  { 1531, -5018, -2817, 1192 },
783
+  { 3078, -4570, 117, 1990 },
784
+  { 924, -4286, -1388, 2713 },
785
+  { 142, -5058, -2848, 1487 },
786
+  { -106, -6180, -881, 842 },
787
+  { 673, -5433, -229, 1596 },
788
+  { 783, -5710, -2784, 562 },
789
+  { 1935, -5729, -2009, 856 },
790
+  { -410, -3375, -3326, 2734 },
791
+  { 234, -3000, -2628, 3260 },
792
+  { 733, -3405, -3806, 1589 },
793
+  { 771, -4285, -3544, 1314 },
794
+  { 1192, -3563, -3960, 2178 },
795
+  { 206, -5555, -1250, 1546 },
796
+  { -130, -3815, -1210, 3041 },
797
+  { 646, -3940, -393, 2992 },
798
+  { -184, -4931, -1767, 1925 },
799
+  { 2746, -5120, -2275, 1464 },
800
+  { 2440, -3731, -3352, 2729 },
801
+  { -490, -4942, -3779, 997 },
802
+  { 68, -2636, -4167, 3778 },
803
+  { 48, -3986, -4118, 2106 },
804
+  { -978, -5486, -1336, 1390 },
805
+  { 1126, -5297, -855, 640 },
806
+  { -472, -3975, -3622, 1557 },
807
+  { 2456, -5344, -1523, 1648 },
808
+  { -774, -5652, -2417, 1147 },
809
+  { 995, -6122, -812, 1132 },
810
+  { 3282, -4571, -1763, 2175 },
811
+  { 3655, -3862, -676, 3568 },
812
+  { 3038, -3647, -1672, 3381 },
813
+  { 2595, -2964, -2772, 3263 },
814
+  { 4176, -3353, -1148, 4354 },
815
+  { 1603, -3442, -1500, 3444 },
816
+  { 828, -6226, -1783, 678 },
817
+  { 1421, -3333, -3080, 3403 },
818
+  { 1121, -4727, -1924, 1984 },
819
+  { -186, -5083, -682, 1796 },
820
+  { 819, -2778, -3488, 530 },
821
+  { 421, -2873, -3832, 2596 },
822
+  { 2164, -4263, -1605, 2282 },
823
+  { 585, -4437, -682, -491 },
824
+  { -644, -4452, -1157, 2325 },
825
+  { 1991, -4299, 210, 2834 },
826
+  { 2135, -3632, -2113, 665 },
827
+  { -7482, -2724, -2662, -1380 },
828
+  { -6983, -2166, -3756, -3509 },
829
+  { -7085, -1439, -2397, -3112 },
830
+  { -7760, -3049, -3319, -2822 },
831
+  { -8413, -2760, -4406, -3298 },
832
+  { -5995, -3943, -1260, -3750 },
833
+  { -7879, -1554, -3464, -2606 },
834
+  { -6314, -2034, -3878, -1681 },
835
+  { -8849, -2084, -1399, -1231 },
836
+  { -7153, -2602, -1384, -817 },
837
+  { -8041, -2571, -407, -2785 },
838
+  { -7246, -2233, -1578, 260 },
839
+  { -7336, -3883, -4061, -1342 },
840
+  { -7619, -3908, -2342, 382 },
841
+  { -8684, -3724, -1662, -727 },
842
+  { -7850, -2922, -1770, -3449 },
843
+  { -6766, -2034, -1293, -1988 },
844
+  { -6895, -2116, -968, -3744 },
845
+  { -7136, -5147, -2618, -2809 },
846
+  { -8224, -3724, -2519, -1589 },
847
+  { -6711, -2750, -3021, -219 },
848
+  { -8059, -1638, -1102, -3175 },
849
+  { -8710, -4839, -3963, -3143 },
850
+  { -9363, -4965, -3257, -1002 },
851
+  { -6099, -1751, -3157, -395 },
852
+  { -6453, -3216, -4597, -483 },
853
+  { -7879, -5477, -839, -2638 },
854
+  { -7202, -4038, -526, -2856 },
855
+  { -8022, -1228, -1910, -1646 },
856
+  { -9117, -1393, -1582, -2535 },
857
+  { -9095, -2693, -636, -2605 },
858
+  { -9076, -2580, -3481, -2519 },
859
+  { -8327, -4859, -2422, 83 },
860
+  { -8368, -2129, -2324, -2173 },
861
+  { -8554, -4563, -3842, -2007 },
862
+  { -10462, -4261, -1934, -2084 },
863
+  { -9717, -3187, -2294, -1896 },
864
+  { -9625, -3889, -3020, -3224 },
865
+  { -9857, -4955, -4239, -2184 },
866
+  { -9752, -2351, -2277, -3129 },
867
+  { -7219, -1302, -2639, -1603 },
868
+  { -7477, -4360, -3718, -559 },
869
+  { -5680, -2033, -2326, -3078 },
870
+  { -10190, -5548, -4643, -3601 },
871
+  { -9431, -4121, -879, -2479 },
872
+  { -8365, -5450, -2020, -1439 },
873
+  { -6289, -5178, -1605, -3845 },
874
+  { -8319, -3866, -687, -2792 },
875
+  { -8131, -1031, -3608, -3947 },
876
+  { -10510, -2560, -1199, -2082 },
877
+  { -11015, -3640, -2748, -3041 },
878
+  { -8762, -5022, -5231, -1162 },
879
+  { -10153, -2715, -4648, -4859 },
880
+  { -7930, -5205, -1900, -3600 },
881
+  { -9561, -3548, -4812, -3722 },
882
+  { -7663, -4709, -1180, -1475 },
883
+  { -9073, -5707, -1815, -2980 },
884
+  { -8602, -2363, -2675, -3770 },
885
+  { -9967, -5614, -3575, -3838 },
886
+  { -8324, -1005, -2131, -3254 },
887
+  { -10331, -5737, -2550, -2940 },
888
+  { -8234, -3354, -3361, -4479 },
889
+  { -8140, -1951, -4526, -4545 },
890
+  { -6679, -2662, -2284, -4182 },
891
+  { -1122, -1514, -6427, -212 },
892
+  { 54, -1660, -5424, -1404 },
893
+  { 254, -2778, -5222, 846 },
894
+  { -267, -1661, -6577, 814 },
895
+  { -305, -2021, -5759, 1484 },
896
+  { -1791, -2446, -6867, -86 },
897
+  { -2929, -3158, -6603, -1799 },
898
+  { -1391, -3189, -5557, -1053 },
899
+  { -1602, -884, -6767, -1213 },
900
+  { -361, -318, -6219, -44 },
901
+  { -4078, -2635, -5523, -433 },
902
+  { -956, 478, -4382, 1470 },
903
+  { -3300, -2462, -6021, -2721 },
904
+  { 708, -2434, -5085, -540 },
905
+  { -2435, -3607, -5647, -2110 },
906
+  { -491, -1134, -4681, -2886 },
907
+  { 87, -3435, -4641, -1194 },
908
+  { -586, -2927, -4784, 366 },
909
+  { -1394, -2326, -6021, 350 },
910
+  { 97, -2519, -4678, -2120 },
911
+  { -1547, -1907, -5069, -2993 },
912
+  { 268, -3724, -4719, 127 },
913
+  { -827, -1190, -5912, 1144 },
914
+  { -3959, -2322, -6898, -1974 },
915
+  { -2728, -2228, -6426, -562 },
916
+  { -456, -666, -5785, -1609 },
917
+  { 531, -1096, -5731, -656 },
918
+  { -3569, -688, -3915, 110 },
919
+  { -4752, -1725, -4393, -377 },
920
+  { -3210, -3315, -6960, -840 },
921
+  { -688, -3416, -4971, 1221 },
922
+  { -1833, 77, -6491, -2434 },
923
+  { -239, -255, -6850, -886 },
924
+  { -2112, -1490, -6291, -2689 },
925
+  { -1544, -4579, -5198, -1261 },
926
+  { -2771, -4014, -5520, 683 },
927
+  { -1635, -2829, -5512, 1214 },
928
+  { -958, -2582, -4823, 2360 },
929
+  { -2077, -4566, -4642, 365 },
930
+  { -3112, -4214, -5960, -823 },
931
+  { -2467, -2510, -4858, 1467 },
932
+  { -1561, -3399, -5822, 211 },
933
+  { -775, -1081, -4424, 2636 },
934
+  { -1263, 25, -6378, -1392 },
935
+  { -3476, -366, -5417, -1393 },
936
+  { -3176, -1476, -4149, 1466 },
937
+  { -2479, 518, -4448, -257 },
938
+  { -2992, 158, -4660, -1279 },
939
+  { -1320, -3872, -4479, 1147 },
940
+  { -1475, -312, -5318, 539 },
941
+  { -3527, -1679, -5860, -1681 },
942
+  { -3397, -3438, -5593, 1866 },
943
+  { -4089, -2439, -4763, 1275 },
944
+  { -748, -4513, -4687, -48 },
945
+  { -2166, -4531, -4691, -2856 },
946
+  { -2385, -853, -6035, -627 },
947
+  { -1194, -4091, -4472, -1963 },
948
+  { -682, -3234, -4084, -3033 },
949
+  { -3255, -5015, -5328, -12 },
950
+  { -2313, -3436, -4601, -155 },
951
+  { -2792, -1038, -6947, -2019 },
952
+  { -1244, -1526, -5771, -1882 },
953
+  { -4679, -3731, -5506, 283 },
954
+  { -3062, -66, -3558, -758 },
955
+  { -4895, -1187, 4751, 3728 },
956
+  { -7600, -2752, 3320, 4613 },
957
+  { -5703, -2975, 3944, 2659 },
958
+  { -4972, -1257, -246, 2952 },
959
+  { -4221, -2487, 1702, 4295 },
960
+  { -2900, -1529, 2458, 4935 },
961
+  { -5061, 407, 2416, 4050 },
962
+  { -6931, -3478, 2761, 2213 },
963
+  { -6037, -3921, 3192, 1866 },
964
+  { -6113, -811, 2407, 3782 },
965
+  { -5878, -1716, 1207, 3478 },
966
+  { -5953, -2853, 2207, 2712 },
967
+  { -6807, -3223, 2749, 3595 },
968
+  { -3272, -3157, 1389, 3788 },
969
+  { -5368, -1904, 1980, 5077 },
970
+  { -7235, -1398, 3075, 4548 },
971
+  { -4765, -3487, 2755, 2796 },
972
+  { -7658, -4435, 2694, 2582 },
973
+  { -6997, -4282, 456, 3832 },
974
+  { -5563, -3115, -63, 3713 },
975
+  { -4244, -4220, 1450, 2767 },
976
+  { -3801, -2194, 190, 4303 },
977
+  { -5458, -4119, 1958, 2274 },
978
+  { -7300, -3469, 3514, 3193 },
979
+  { -4594, -2067, 775, 4752 },
980
+  { -3389, -1654, 1464, 5412 },
981
+  { -4845, -3483, 964, 3437 },
982
+  { -6007, -2818, 1666, 4659 },
983
+  { -8709, -5007, 1757, 3287 },
984
+  { -5833, -4389, 1025, 3171 },
985
+  { -5788, -1780, 3944, 3661 },
986
+  { -4430, -920, 1938, 4753 },
987
+  { -7066, -1857, 4591, 4538 },
988
+  { -3549, -513, 1427, 5317 },
989
+  { -7517, -1220, 2883, 3049 },
990
+  { -7605, -2687, 1874, 2735 },
991
+  { -8718, -4035, 2676, 3730 },
992
+  { -7990, -3907, 1185, 2607 },
993
+  { -6058, -1744, 3349, 5157 },
994
+  { -5954, 565, 3161, 3250 },
995
+  { -6478, -612, 1930, 2271 },
996
+  { -6535, -1445, -2, 1618 },
997
+  { -8963, -4151, 1192, 4044 },
998
+  { -7227, -3570, 1600, 4234 },
999
+  { -4674, 79, 595, 3015 },
1000
+  { -3974, 430, 2727, 5137 },
1001
+  { -5299, 9, 3714, 4779 },
1002
+  { -6779, -2699, -8, 2436 },
1003
+  { -7016, -1145, 1293, 2310 },
1004
+  { -6955, -3312, 1534, 1801 },
1005
+  { -4025, 740, 1850, 4054 },
1006
+  { -9589, -3460, 4154, 5270 },
1007
+  { -4404, -1181, 4298, 5173 },
1008
+  { -7356, -4583, -18, 2644 },
1009
+  { -6516, -1235, 4439, 6234 },
1010
+  { -3453, -301, 4344, 4464 },
1011
+  { -4643, 1530, 3315, 4340 },
1012
+  { -4575, -2557, 3754, 3682 },
1013
+  { -3643, -3501, 2051, 2997 },
1014
+  { -5412, -2475, 2301, 1579 },
1015
+  { -5846, 259, 1360, 2348 },
1016
+  { -5258, -1358, 1050, 838 },
1017
+  { -5542, -219, 6377, 5750 },
1018
+  { -5713, -2952, 922, 899 },
1019
+  { -2049, -1135, 5206, 1033 },
1020
+  { -1693, -1886, 4835, -106 },
1021
+  { -2344, -3504, 4232, -13 },
1022
+  { -2475, -2334, 5043, 1126 },
1023
+  { -787, -2549, 3880, 2138 },
1024
+  { -3159, -2341, 4830, 2887 },
1025
+  { -1780, -1009, 6240, 2061 },
1026
+  { -4327, -3363, 2818, 886 },
1027
+  { -3376, -2743, 4104, 207 },
1028
+  { -3250, -4640, 2718, 1498 },
1029
+  { -382, -1075, 4382, 3460 },
1030
+  { -2416, -4168, 3530, 816 },
1031
+  { -1756, -2708, 4861, 622 },
1032
+  { -1879, -2097, 5156, 2889 },
1033
+  { -2496, -2418, 3722, 2671 },
1034
+  { -2717, -3252, 3341, 1944 },
1035
+  { -4063, -4091, 3306, 267 },
1036
+  { -3549, -3808, 3747, 842 },
1037
+  { -2635, 546, 5794, 1894 },
1038
+  { -1857, -1121, 4383, 3964 },
1039
+  { -2226, -2166, 3489, 3678 },
1040
+  { -3492, -660, 5323, 1063 },
1041
+  { -3033, -3130, 4382, 1828 },
1042
+  { -2703, -625, 6369, 2851 },
1043
+  { -1656, -2842, 4584, -528 },
1044
+  { -4781, -2622, 4390, 2097 },
1045
+  { -413, -2045, 5081, 3035 },
1046
+  { -3810, -2662, 4532, 1095 },
1047
+  { -3144, -1858, 5215, 1880 },
1048
+  { -3562, -1795, 4928, 670 },
1049
+  { -4800, -1509, 5189, 1859 },
1050
+  { -1085, -3832, 4169, 900 },
1051
+  { -1969, -3270, 2857, 2878 },
1052
+  { -4267, -4140, 3176, 1805 },
1053
+  { -5145, -3727, 3524, 1168 },
1054
+  { -1346, -1876, 5501, 1748 },
1055
+  { -4998, -2945, 3699, 338 },
1056
+  { -3458, -3096, 3406, -635 },
1057
+  { -1751, -3209, 3508, 395 },
1058
+  { -2507, 170, 5987, 705 },
1059
+  { -3756, -1072, 5647, 3536 },
1060
+  { -2870, -1439, 5026, 3212 },
1061
+  { -3913, -3225, 3669, 2144 },
1062
+  { -3739, 226, 5747, 764 },
1063
+  { -2052, -820, 5266, 3093 },
1064
+  { -3214, -3820, 2409, 2391 },
1065
+  { -4398, -2588, 3501, -218 },
1066
+  { -4484, -1763, 4180, -198 },
1067
+  { -3368, -1525, 4362, -134 },
1068
+  { -2407, 224, 4905, 3533 },
1069
+  { -1369, -2937, 4728, 1788 },
1070
+  { -4848, -1707, 4159, 851 },
1071
+  { -3454, -1749, 4281, 3230 },
1072
+  { -1990, -3853, 3487, 1735 },
1073
+  { -3117, 92, 6155, 4075 },
1074
+  { -2676, -2472, 4078, -589 },
1075
+  { -1547, -2012, 2626, 1835 },
1076
+  { -4275, -588, 4824, 725 },
1077
+  { -601, -2249, 3736, 3548 },
1078
+  { -4060, -61, 5333, 3097 },
1079
+  { -4303, 7, 6551, 3054 },
1080
+  { -5003, -1029, 5786, 3319 },
1081
+  { -2810, -728, 5392, 199 },
1082
+  { -1232, -200, 5228, 3121 },
1083
+  { 2621, 165, -6255, 298 },
1084
+  { 3669, 537, -6844, 1564 },
1085
+  { 1598, -1190, -6235, 2523 },
1086
+  { 2164, -32, -6894, 1383 },
1087
+  { 853, -1597, -6069, 1449 },
1088
+  { 1377, -1661, -5266, 108 },
1089
+  { 2660, 48, -5172, -517 },
1090
+  { 1903, -391, -5677, 1010 },
1091
+  { 3792, 206, -5274, -11 },
1092
+  { 1239, 2776, -2929, 2721 },
1093
+  { 4071, 149, -7259, 3125 },
1094
+  { 1436, -480, -6156, -196 },
1095
+  { 1373, -1960, -5005, 3122 },
1096
+  { 3413, -1271, -5176, 3283 },
1097
+  { 3060, -68, -6495, 2238 },
1098
+  { 2700, -2075, -4681, 91 },
1099
+  { 2928, -1728, -5168, 1858 },
1100
+  { 4424, 828, -4471, 88 },
1101
+  { 2672, -2604, -4038, 2753 },
1102
+  { 5223, -123, -6749, 2295 },
1103
+  { 4237, -420, -5538, 1353 },
1104
+  { 4744, -1281, -4097, 4708 },
1105
+  { 1103, -2764, -4751, 2024 },
1106
+  { 3747, -1913, -3911, 3960 },
1107
+  { 2470, -1416, -5542, 615 },
1108
+  { 4847, -1354, -5334, 1733 },
1109
+  { 5336, 88, -7593, 4007 },
1110
+  { 2388, -2880, -4807, 1037 },
1111
+  { 4495, 1391, -5685, -139 },
1112
+  { 5253, 1637, -6450, 1533 },
1113
+  { 1199, 795, -5515, 1261 },
1114
+  { 1397, -1259, -4252, 3838 },
1115
+  { 746, 70, -6640, 604 },
1116
+  { 1584, 166, -4972, 3072 },
1117
+  { 380, -999, -5397, 2267 },
1118
+  { 2974, 1707, -3242, 5360 },
1119
+  { 5202, -403, -5453, 2832 },
1120
+  { 3718, -1731, -4760, 714 },
1121
+  { 4150, -975, -4792, 61 },
1122
+  { 2925, -818, -4841, 15 },
1123
+  { 5301, 577, -4006, 3259 },
1124
+  { 5265, 1986, -5679, 3028 },
1125
+  { 3752, 1928, -4509, 3729 },
1126
+  { 3278, 1925, -6370, 1247 },
1127
+  { 5107, 1721, -4853, 3127 },
1128
+  { 3279, 2982, -2515, 4005 },
1129
+  { 4622, 668, -6204, 759 },
1130
+  { 6034, 317, -5763, 4818 },
1131
+  { -558, 57, -3785, 2817 },
1132
+  { 4476, 1616, -3965, 4536 },
1133
+  { 5953, 2056, -8215, 2715 },
1134
+  { 4387, 2613, -7463, 868 },
1135
+  { 5834, 1088, -4736, 4924 },
1136
+  { 6473, -856, -6991, 4172 },
1137
+  { 4959, -293, -5162, 76 },
1138
+  { 2731, -843, -6119, 3847 },
1139
+  { 3245, 1202, -6833, 616 },
1140
+  { 2553, 1383, -3829, 3859 },
1141
+  { 4332, 2099, -3480, 3622 },
1142
+  { 2110, 2683, -2728, 3990 },
1143
+  { 876, 1167, -3290, 3466 },
1144
+  { 3991, 1709, -2410, 4077 },
1145
+  { 5105, 939, -2584, 3256 },
1146
+  { 4719, 688, -1566, 3040 },
1147
+  { -3632, 4335, 1266, -3303 },
1148
+  { -4956, 3207, 1312, -2806 },
1149
+  { -4669, 2627, 2663, -2435 },
1150
+  { -4282, 3708, 2303, -3038 },
1151
+  { -4536, 2297, -175, -3350 },
1152
+  { -5234, 2503, -139, -880 },
1153
+  { -3978, 1512, 1092, -3619 },
1154
+  { -4519, 4649, 1363, -2455 },
1155
+  { -5118, 3132, 1961, -1577 },
1156
+  { -5196, 3379, -182, -1378 },
1157
+  { -6420, 4486, 2397, -1993 },
1158
+  { -5030, 5046, 1292, -1118 },
1159
+  { -4559, 2573, -927, -1406 },
1160
+  { -3501, 3730, 691, -4930 },
1161
+  { -4364, 2758, 1007, -3909 },
1162
+  { -4026, 2839, -1559, -2340 },
1163
+  { -5037, 4053, 836, -1571 },
1164
+  { -4727, 5136, 1110, -3588 },
1165
+  { -5245, 2799, -999, -2164 },
1166
+  { -4954, 1501, 422, -3963 },
1167
+  { -5994, 2726, 1462, -2833 },
1168
+  { -5621, 5159, 2038, -2512 },
1169
+  { -4991, 2291, 1917, -3151 },
1170
+  { -5469, 4382, -148, -2978 },
1171
+  { -5858, 1983, 807, -2720 },
1172
+  { -4709, 3556, 952, -467 },
1173
+  { -2489, 2362, 1714, -4230 },
1174
+  { -4717, 5004, -1180, -3672 },
1175
+  { -5914, 3653, 1359, -1317 },
1176
+  { -5506, 2995, 780, -1059 },
1177
+  { -5287, 3945, 2480, -2293 },
1178
+  { -3849, 4358, 322, -1770 },
1179
+  { -3911, 3570, 252, -3185 },
1180
+  { -3660, 5128, 158, -3719 },
1181
+  { -4599, 3277, -503, -2727 },
1182
+  { -3673, 3760, -1252, -3339 },
1183
+  { -5161, 2337, 388, -1943 },
1184
+  { -3529, 2216, 2156, -3080 },
1185
+  { -4309, 4331, 1808, -1460 },
1186
+  { -4782, 3820, 480, -2504 },
1187
+  { -4166, 3544, -378, -1567 },
1188
+  { -5572, 2466, -418, -2909 },
1189
+  { -6096, 2930, 119, -1878 },
1190
+  { -5963, 3554, 1011, -2233 },
1191
+  { -6433, 4335, 935, -2930 },
1192
+  { -5004, 3314, -1352, -3430 },
1193
+  { -6042, 3463, -1008, -3940 },
1194
+  { -4671, 2214, -640, -5040 },
1195
+  { -2795, 3759, 1412, -3803 },
1196
+  { -3647, 4436, 729, -515 },
1197
+  { -3594, 1033, 56, -4148 },
1198
+  { -2908, 3027, 2889, -3485 },
1199
+  { -3338, 2234, 313, -4285 },
1200
+  { -3825, 4497, -561, -2634 },
1201
+  { -6167, 3012, -48, -3149 },
1202
+  { -4828, 3515, -969, -4475 },
1203
+  { -5789, 2757, -539, -4173 },
1204
+  { -2452, 3067, 564, -4249 },
1205
+  { -4921, 1358, 1331, -2889 },
1206
+  { -3127, 4239, -1045, -1523 },
1207
+  { -4780, 2326, -1118, -3446 },
1208
+  { -3908, 5546, 152, -2622 },
1209
+  { -6972, 2976, 337, -2809 },
1210
+  { -4839, 4613, -35, -4077 },
1211
+  { -1408, 4822, -1149, -4997 },
1212
+  { -981, 4979, -912, -6304 },
1213
+  { -2098, 5689, -888, -2878 },
1214
+  { -3343, 4814, -657, -4434 },
1215
+  { -2461, 3601, -967, -4869 },
1216
+  { -2652, 3944, 87, -5520 },
1217
+  { -1104, 6076, 174, -6407 },
1218
+  { 355, 5370, -1721, -5869 },
1219
+  { 1242, 4497, -1107, -5091 },
1220
+  { -89, 4002, -1491, -5182 },
1221
+  { 1059, 5693, -1591, -4905 },
1222
+  { 1323, 4682, -2078, -4768 },
1223
+  { 818, 3996, -549, -5468 },
1224
+  { -287, 4529, 929, -5543 },
1225
+  { -919, 5519, -2791, -2844 },
1226
+  { -1407, 5679, -3289, -3974 },
1227
+  { -189, 6530, -3547, -4002 },
1228
+  { -900, 7039, -3371, -4855 },
1229
+  { -2983, 7211, -363, -4835 },
1230
+  { -814, 6503, -104, -5106 },
1231
+  { -2386, 6896, 809, -4919 },
1232
+  { 845, 4492, 352, -6621 },
1233
+  { -1998, 7237, -1646, -4231 },
1234
+  { -3380, 6251, 471, -4577 },
1235
+  { -1908, 7059, 84, -5726 },
1236
+  { -340, 6346, -803, -6265 },
1237
+  { -2279, 5834, -47, -4633 },
1238
+  { -1532, 5286, -1748, -1901 },
1239
+  { -2757, 6188, -453, -3415 },
1240
+  { -1255, 6405, -2043, -6357 },
1241
+  { 918, 5581, -121, -5667 },
1242
+  { 1840, 5336, -821, -5034 },
1243
+  { -2475, 4992, -1825, -3104 },
1244
+  { -2413, 5606, -1789, -4298 },
1245
+  { 132, 5128, -2389, -4442 },
1246
+  { 223, 6400, -2653, -4742 },
1247
+  { -673, 5012, 680, -4582 },
1248
+  { -1657, 6624, -349, -3596 },
1249
+  { -755, 6289, -1860, -3978 },
1250
+  { -572, 6894, -1946, -5207 },
1251
+  { -1141, 4756, -2665, -5586 },
1252
+  { -1073, 4269, -431, -4030 },
1253
+  { 186, 5761, 916, -5868 },
1254
+  { -1907, 4836, 1017, -5106 },
1255
+  { -963, 3363, -1248, -6348 },
1256
+  { -3262, 4774, -1818, -5858 },
1257
+  { 847, 3812, -2538, -4302 },
1258
+  { -1223, 5903, 1360, -5479 },
1259
+  { -1094, 6923, -1244, -2381 },
1260
+  { 267, 6276, -709, -2846 },
1261
+  { -157, 5840, 1124, -4266 },
1262
+  { 889, 3206, -910, -5305 },
1263
+  { -1736, 3344, 582, -4838 },
1264
+  { -2357, 5676, -2695, -6277 },
1265
+  { -1916, 6901, -986, -5397 },
1266
+  { -3062, 6028, -695, -5687 },
1267
+  { 1836, 3566, -1357, -5226 },
1268
+  { -2176, 4938, 646, -3872 },
1269
+  { -2199, 3055, -208, -6124 },
1270
+  { -236, 3032, -821, -5325 },
1271
+  { -3989, 7277, -565, -3899 },
1272
+  { -595, 4362, 74, -5975 },
1273
+  { 684, 5874, -841, -4424 },
1274
+  { -2731, 6305, -2389, -5465 },
1275
+  { -5775, 1325, -56, -2528 },
1276
+  { -7029, -534, -1890, -3278 },
1277
+  { -5798, -15, -2734, -2210 },
1278
+  { -5504, -1198, -353, -3659 },
1279
+  { -5079, 960, -894, -4336 },
1280
+  { -6073, -36, -133, -3014 },
1281
+  { -5782, -259, -1025, -3986 },
1282
+  { -6843, 1262, -807, -1639 },
1283
+  { -5263, -918, -3290, -579 },
1284
+  { -4840, 461, -2158, -533 },
1285
+  { -6014, -50, -620, 504 },
1286
+  { -5843, 241, -1359, -282 },
1287
+  { -5898, 577, 769, -3271 },
1288
+  { -6833, -946, -466, -3347 },
1289
+  { -6026, 1459, -512, -729 },
1290
+  { -7361, 747, -388, -1110 },
1291
+  { -6391, 2142, -1160, -2513 },
1292
+  { -6995, 304, 498, -2673 },
1293
+  { -6757, 679, -386, -433 },
1294
+  { -5222, 1688, -1093, -1032 },
1295
+  { -5019, 575, 184, -3627 },
1296
+  { -4237, 628, -3507, -1243 },
1297
+  { -7479, -456, -1722, -1486 },
1298
+  { -6464, 713, -1273, -1153 },
1299
+  { -6255, 1682, -606, -3607 },
1300
+  { -7033, 1497, -71, -1955 },
1301
+  { -6694, 1556, -1721, -3214 },
1302
+  { -6114, -356, 813, -2575 },
1303
+  { -5308, 632, -1851, -1636 },
1304
+  { -5742, -911, -1733, 383 },
1305
+  { -6083, -387, -2313, -879 },
1306
+  { -6535, -530, -1505, -2083 },
1307
+  { -4896, 1223, -2750, -1816 },
1308
+  { -6392, -463, -3247, -2093 },
1309
+  { -5373, 1264, -2706, -3042 },
1310
+  { -3894, -1390, -1020, -891 },
1311
+  { -6179, 1168, -1966, -1922 },
1312
+  { -5162, 1668, -1617, -1916 },
1313
+  { -6453, 920, -1169, -2432 },
1314
+  { -6130, 2005, -536, -1519 },
1315
+  { -6552, -98, -518, -1938 },
1316
+  { -7528, 355, -1101, -1772 },
1317
+  { -5745, 610, -247, -1360 },
1318
+  { -7003, 177, -2064, -1958 },
1319
+  { -6956, -570, -2220, -4225 },
1320
+  { -7830, 791, -1394, -2774 },
1321
+  { -7634, 480, -3171, -4224 },
1322
+  { -7913, 1154, -350, -2381 },
1323
+  { -5063, 1704, -1804, -2977 },
1324
+  { -4887, -524, -2703, 188 },
1325
+  { -5551, 406, -1620, -3063 },
1326
+  { -7109, 1342, 381, -3021 },
1327
+  { -6846, 631, -458, -3398 },
1328
+  { -4606, -605, 11, -3930 },
1329
+  { -8134, -225, -1738, -2648 },
1330
+  { -7043, 402, -2734, -3059 },
1331
+  { -7417, 1825, -2545, -4389 },
1332
+  { -6971, -236, -1031, -665 },
1333
+  { -5752, 2111, -1632, -3808 },
1334
+  { -7660, -78, -624, -3135 },
1335
+  { -6358, 619, -1951, -3911 },
1336
+  { -8134, 408, -1935, -3695 },
1337
+  { -6335, 1911, -2368, -4505 },
1338
+  { -7116, 2163, -344, -2753 },
1339
+  { 2357, 4488, 2220, -5682 },
1340
+  { 1385, 3206, 2300, -5305 },
1341
+  { 1419, 2557, 5203, -3516 },
1342
+  { 262, 4315, 3920, -1847 },
1343
+  { 3316, 3187, 1612, -5609 },
1344
+  { 1729, 2350, 1673, -6068 },
1345
+  { 1603, 6126, 1467, -2839 },
1346
+  { -1339, 3316, 3691, -3530 },
1347
+  { -563, 4618, 3180, -4548 },
1348
+  { 463, 4624, 3111, -5614 },
1349
+  { 1246, 5455, 3356, -5720 },
1350
+  { 480, 2149, 5422, -2893 },
1351
+  { 1768, 4827, 913, -5579 },
1352
+  { -149, 5381, 4366, -3297 },
1353
+  { 985, 3672, 2644, -92 },
1354
+  { -258, 2911, 5817, -2213 },
1355
+  { 3428, 3289, 3351, -3541 },
1356
+  { -666, 3295, 4727, -2869 },
1357
+  { 35, 6641, 4160, -4052 },
1358
+  { 623, 6787, 3156, -4560 },
1359
+  { 2654, 4360, 4676, -4632 },
1360
+  { 1386, 5246, 4834, -4497 },
1361
+  { 3488, 4574, 3856, -5946 },
1362
+  { 383, 4481, 4168, -4110 },
1363
+  { 1753, 3652, 4288, -3326 },
1364
+  { 1344, 4905, 2508, -4660 },
1365
+  { 1580, 4106, 3104, -2224 },
1366
+  { 2027, 5038, 1683, -1554 },
1367
+  { 446, 3699, 5872, -3013 },
1368
+  { 4637, 4087, 3578, -5018 },
1369
+  { 2629, 3560, 5331, -4900 },
1370
+  { 1527, 6674, 2523, -4131 },
1371
+  { -1437, 2804, 2528, -4464 },
1372
+  { -229, 3355, 2016, -5537 },
1373
+  { 3666, 3418, 4374, -4581 },
1374
+  { 1192, 3799, 923, -6596 },
1375
+  { 2040, 2956, 448, -5322 },
1376
+  { 2468, 5768, 4029, -5869 },
1377
+  { 3438, 6516, 3529, -6667 },
1378
+  { 2737, 5495, 680, -5535 },
1379
+  { 3896, 5727, 1801, -4958 },
1380
+  { 4988, 4957, 3592, -6518 },
1381
+  { -542, 4416, 5794, -2787 },
1382
+  { 4136, 4354, 2064, -4696 },
1383
+  { 3067, 5936, 1207, -3396 },
1384
+  { 2789, 4966, 2405, -3854 },
1385
+  { 1731, 3270, 3251, -1063 },
1386
+  { 1767, 5537, 2084, -2349 },
1387
+  { 465, 3116, 4532, -837 },
1388
+  { 1499, 2627, 4610, -2212 },
1389
+  { 122, 3095, 3642, -3552 },
1390
+  { 2542, 2866, 2705, -6402 },
1391
+  { 3134, 4323, 698, -4785 },
1392
+  { 731, 1859, 3112, -5242 },
1393
+  { 2553, 2980, 3241, -4846 },
1394
+  { 1329, 5310, 1607, -6624 },
1395
+  { 2468, 1858, 3476, -1034 },
1396
+  { -172, 4996, 2000, -5562 },
1397
+  { 2621, 4220, 1574, -3386 },
1398
+  { -333, 1832, 3362, -4117 },
1399
+  { 2169, 6762, 3065, -6225 },
1400
+  { 2844, 5528, 3223, -4765 },
1401
+  { 526, 5175, 1644, -4267 },
1402
+  { 2922, 4426, 2414, -2610 },
1403
+  { 452, 1399, -4516, -2636 },
1404
+  { 2872, 1720, -4667, -1435 },
1405
+  { 1279, 702, -5424, -1984 },
1406
+  { 2187, 870, -5021, -1341 },
1407
+  { 583, -144, -4628, -2464 },
1408
+  { 3, 2237, -5284, -2827 },
1409
+  { -19, 1005, -5460, -1819 },
1410
+  { 2897, 2084, -5885, -515 },
1411
+  { -400, 3370, -5527, -2947 },
1412
+  { 1505, 2593, -5518, -1802 },
1413
+  { 1341, 4534, -5094, -1899 },
1414
+  { 3241, 3670, -5493, -1252 },
1415
+  { -1287, 921, -5994, -1675 },
1416
+  { 627, 408, -6652, -364 },
1417
+  { -260, 1127, -4849, -3247 },
1418
+  { 371, 3400, -5976, -2285 },
1419
+  { 1533, 1566, -6373, -610 },
1420
+  { 2462, 4274, -6184, -1254 },
1421
+  { 1782, 3363, -6222, -1381 },
1422
+  { 572, 4650, -5673, -2754 },
1423
+  { 2674, 3414, -4460, -2154 },
1424
+  { 3614, 3820, -6883, -398 },
1425
+  { 1136, -1, -5511, -1112 },
1426
+  { -1773, 1137, -5647, -2377 },
1427
+  { -753, 2104, -6085, -2565 },
1428
+  { -204, 3025, -4731, -1418 },
1429
+  { -1486, 1438, -4380, -216 },
1430
+  { 302, 858, -5786, -264 },
1431
+  { 3486, 1495, -5234, -783 },
1432
+  { 888, 2327, -3423, -3720 },
1433
+  { -259, 772, -6596, -1311 },
1434
+  { -1197, 2073, -5174, -1826 },
1435
+  { 1500, 3470, -4462, -2645 },
1436
+  { 3072, 1960, -3277, -2264 },
1437
+  { 1841, 952, -4324, -2340 },
1438
+  { 1994, 2200, -3940, -2923 },
1439
+  { -1782, 1699, -4667, -1075 },
1440
+  { -1464, 2906, -3468, -375 },
1441
+  { 366, 2380, -3747, 1467 },
1442
+  { -545, 1645, -4619, 376 },
1443
+  { 1724, 2350, -2374, -3512 },
1444
+  { 3184, 2628, -2996, -3275 },
1445
+  { 734, 2010, -6239, -1479 },
1446
+  { 524, 3756, -4496, -3263 },
1447
+  { 1492, 3570, -3494, -3600 },
1448
+  { -932, 618, -5389, -2894 },
1449
+  { -133, 2161, -4083, -3267 },
1450
+  { 786, 774, -3279, -3731 },
1451
+  { 1078, 803, -3843, -3007 },
1452
+  { -332, 3405, -3347, 40 },
1453
+  { -17, 6, -4005, -3690 },
1454
+  { -189, 4372, -4488, -2561 },
1455
+  { -450, 3846, -3790, -1370 },
1456
+  { 362, 2212, -5272, -15 },
1457
+  { -1529, 791, -6802, -2296 },
1458
+  { 2145, 4241, -4474, 376 },
1459
+  { 1813, 2426, -2932, -2726 },
1460
+  { -542, 4557, -3140, -1080 },
1461
+  { 1192, 3784, -4371, -20 },
1462
+  { 2784, 5188, -6399, -1394 },
1463
+  { 431, 4561, -3673, -1398 },
1464
+  { 1382, 3096, -4083, 1253 },
1465
+  { 1209, 4224, -2930, 1500 },
1466
+  { 2798, 2684, -6676, -606 },
1467
+  { -2396, 1510, -5381, -2713 },
1468
+  { -2625, 2542, -4032, -2880 },
1469
+  { -1231, 3967, -4098, -2886 },
1470
+  { -1393, 2374, -3862, -4525 },
1471
+  { -2495, 1665, -1637, -5445 },
1472
+  { -3854, 1759, -1750, -4944 },
1473
+  { -2373, 1668, -2856, -6251 },
1474
+  { -2668, 1981, -886, -4557 },
1475
+  { -2927, 4427, -3451, -6172 },
1476
+  { -1925, 2596, -4696, -2527 },
1477
+  { -3202, 2847, -3928, -5896 },
1478
+  { -3332, 1665, -5025, -3412 },
1479
+  { -3212, 3115, -4155, -4062 },
1480
+  { -1013, 3205, -5133, -3751 },
1481
+  { -2022, 4595, -3947, -5611 },
1482
+  { -3556, 1755, -3715, -2300 },
1483
+  { -1784, 4114, -2723, -1773 },
1484
+  { -3586, 4081, -2733, -4942 },
1485
+  { -1608, 3685, -4154, -4573 },
1486
+  { -3368, 4042, -4452, -6227 },
1487
+  { -1407, 3881, -5729, -3719 },
1488
+  { -2751, 3281, -5077, -4999 },
1489
+  { -3791, 2410, -4906, -5288 },
1490
+  { -730, 2303, -4217, -3755 },
1491
+  { -1812, 2311, -5492, -3709 },
1492
+  { -610, 4336, -3915, -3783 },
1493
+  { -2841, 4337, -4278, -4430 },
1494
+  { -1662, 4666, -4661, -3964 },
1495
+  { -589, 5209, -4923, -3682 },
1496
+  { -4155, 2234, -4076, -4218 },
1497
+  { -3951, 2770, -2665, -2805 },
1498
+  { -2302, 3228, -3717, -1908 },
1499
+  { -3129, 4373, -2264, -2851 },
1500
+  { -447, 1363, -3578, -4323 },
1501
+  { -2648, 4237, -3159, -3071 },
1502
+  { -4072, 3241, -3541, -4605 },
1503
+  { -4507, 3458, -2339, -3838 },
1504
+  { -1646, 997, -4926, -3970 },
1505
+  { -3025, 1614, -3940, -1242 },
1506
+  { -1337, 1756, -3163, -5529 },
1507
+  { -3203, 1865, -3282, -4354 },
1508
+  { -1646, 2118, -2203, -6018 },
1509
+  { 174, 1871, -2707, -4639 },
1510
+  { -2607, 1485, -4778, -4750 },
1511
+  { -2199, 3991, -3134, -4879 },
1512
+  { -2962, 3323, -2816, -2419 },
1513
+  { -5286, 2495, -4548, -5395 },
1514
+  { -2810, 3710, -2274, -4211 },
1515
+  { -330, 3006, -2993, -4678 },
1516
+  { -1187, 2411, -2743, -5196 },
1517
+  { -664, 4033, -3101, -5641 },
1518
+  { -1458, 3602, -2816, -5371 },
1519
+  { -4116, 4923, -3321, -5630 },
1520
+  { -4165, 2528, -2592, -4798 },
1521
+  { -2759, 3080, -2333, -5719 },
1522
+  { -5157, 3011, -5526, -6348 },
1523
+  { -3095, 2126, -5881, -4234 },
1524
+  { -4377, 3849, -3600, -6099 },
1525
+  { -1994, 4947, -5235, -4753 },
1526
+  { -1067, 600, -3258, -5133 },
1527
+  { -4992, 3302, -2208, -5051 },
1528
+  { -3377, 2981, -1655, -4815 },
1529
+  { -3325, 2446, -1787, -6116 },
1530
+  { -2341, 2737, -3240, -6347 },
1531
+  { -2258, -3732, 3710, -1235 },
1532
+  { -1558, -3849, 2694, -3012 },
1533
+  { -599, -4837, 3050, -2951 },
1534
+  { -2246, -5433, 2798, -1910 },
1535
+  { -2255, -4989, 3260, 270 },
1536
+  { -3026, -5353, 2693, -1036 },
1537
+  { -1151, -6097, 1097, -3782 },
1538
+  { -3391, -6012, 2130, -1303 },
1539
+  { -2850, -4422, 3375, -480 },
1540
+  { -1138, -3779, 1491, -4162 },
1541
+  { -551, -3892, 3787, -2082 },
1542
+  { -3221, -3676, 3144, -1202 },
1543
+  { -3023, -5196, 2650, 605 },
1544
+  { -1756, -5729, 2646, 321 },
1545
+  { -2693, -4409, 494, -4797 },
1546
+  { -1913, -4573, 3372, -1730 },
1547
+  { -1277, -3604, 4061, -993 },
1548
+  { -420, -4993, 1351, -4796 },
1549
+  { -3052, -5333, 1435, -1242 },
1550
+  { -602, -5034, 3869, -1141 },
1551
+  { -2436, -4680, 1665, -3019 },
1552
+  { -2657, -3658, 1459, -3391 },
1553
+  { -1220, -6246, 2749, -525 },
1554
+  { -3838, -4844, 2265, -1735 },
1555
+  { -1247, -5679, 3356, -1417 },
1556
+  { -917, -5448, 3342, 105 },
1557
+  { -1756, -6839, 2276, -2350 },
1558
+  { -412, -5206, 1764, -3539 },
1559
+  { -1439, -6915, 1442, -3750 },
1560
+  { -1381, -4439, 3863, -282 },
1561
+  { -3482, -4953, 2726, -336 },
1562
+  { -1376, -5931, 1714, -1987 },
1563
+  { -1716, -4405, 2608, 105 },
1564
+  { -1590, -5191, 2652, -2704 },
1565
+  { -2149, -6442, 2453, -1263 },
1566
+  { -3426, -3832, 2334, -1829 },
1567
+  { -2747, -5948, 2362, -173 },
1568
+  { -2435, -3267, 2966, -1710 },
1569
+  { -3979, -4282, 2705, -775 },
1570
+  { -356, -4238, 2544, -4343 },
1571
+  { -1363, -6471, 2817, -1836 },
1572
+  { -2878, -5117, 218, -3149 },
1573
+  { -3539, -5196, 1710, -2356 },
1574
+  { -2888, -4537, 2746, -1701 },
1575
+  { -1870, -4439, 1496, -4121 },
1576
+  { -1486, -3388, 3349, -2145 },
1577
+  { -3333, -4138, 1467, -2876 },
1578
+  { -345, -5340, 1012, -1190 },
1579
+  { -1672, -4992, 2289, -1029 },
1580
+  { -2146, -5528, 3038, -635 },
1581
+  { -316, -3656, 3426, -3152 },
1582
+  { -2695, -5812, 2336, -2050 },
1583
+  { -2067, -6052, 737, -3258 },
1584
+  { -2664, -4205, -350, -1266 },
1585
+  { -617, -5406, 80, -4853 },
1586
+  { -2418, -3825, 1853, -1326 },
1587
+  { -1961, -4339, 583, -4315 },
1588
+  { -1495, -5141, -133, -5205 },
1589
+  { -3208, -6440, 1691, -2069 },
1590
+  { -2632, -3633, 2325, -2761 },
1591
+  { -2624, -5670, 1252, -3676 },
1592
+  { -3687, -5608, 687, -2833 },
1593
+  { -3320, -5707, 16, -3877 },
1594
+  { -2738, -6112, 84, -5135 },
1595
+  { 2277, -5661, 3076, 843 },
1596
+  { 1555, -5769, 2821, -5236 },
1597
+  { 536, -6381, 603, -4910 },
1598
+  { 734, -4609, 3314, -4092 },
1599
+  { 1836, -4547, 3267, -4322 },
1600
+  { -13, -5976, 3752, -1607 },
1601
+  { 1423, -6318, 2336, 398 },
1602
+  { 365, -7779, 1498, -534 },
1603
+  { 2104, -8366, 2946, -1345 },
1604
+  { 143, -5545, 1898, -3756 },
1605
+  { 655, -6852, 1430, 148 },
1606
+  { 4, -6653, 2397, -59 },
1607
+  { 2346, -5996, 4562, -934 },
1608
+  { 1229, -7104, 2963, -598 },
1609
+  { -528, -7048, 2887, -1790 },
1610
+  { 1451, -6857, 3900, -1637 },
1611
+  { 554, -6018, 3336, 9 },
1612
+  { 3278, -5758, 4034, 129 },
1613
+  { 3541, -7145, 4905, -1575 },
1614
+  { 2339, -6907, 3464, -301 },
1615
+  { 2775, -7301, 1667, -3894 },
1616
+  { 539, -7887, 991, -4156 },
1617
+  { 2115, -7421, 3131, -3075 },
1618
+  { 2803, -8546, 2564, -5836 },
1619
+  { 2869, -5833, 1620, -4561 },
1620
+  { 2591, -7281, 3215, -4719 },
1621
+  { -1228, -8477, 706, -4782 },
1622
+  { 1967, -5243, 4813, -1940 },
1623
+  { 701, -7010, 2273, -3893 },
1624
+  { 915, -8470, 1918, -5620 },
1625
+  { -94, -6715, 156, -3873 },
1626
+  { 1074, -5607, 4389, -1017 },
1627
+  { 2739, -6551, 1227, -3521 },
1628
+  { 725, -7835, 2701, -1291 },
1629
+  { -493, -7475, 2263, -1075 },
1630
+  { -412, -6508, 2984, -744 },
1631
+  { 665, -5451, 3725, -2692 },
1632
+  { 1499, -8129, 3564, -2072 },
1633
+  { 2870, -6333, 4487, -2108 },
1634
+  { 706, -5007, 3911, -152 },
1635
+  { -482, -8660, 1483, -2900 },
1636
+  { 2481, -6596, 2518, -1715 },
1637
+  { 1403, -6414, 1398, -5387 },
1638
+  { 652, -6267, 583, -5942 },
1639
+  { 694, -7540, 646, -6272 },
1640
+  { 2275, -7614, 256, -5015 },
1641
+  { 1416, -9727, 1900, -3153 },
1642
+  { 2760, -6433, 3875, -3771 },
1643
+  { 2325, -11196, 2182, -5155 },
1644
+  { 1223, -11061, 1377, -5097 },
1645
+  { 108, -10603, 307, -4952 },
1646
+  { -118, -8268, 1650, -1572 },
1647
+  { 1839, -7943, 1755, -612 },
1648
+  { 2501, -9056, 981, -2969 },
1649
+  { 2902, -8476, 1491, -5780 },
1650
+  { 1995, -11175, 1585, -3643 },
1651
+  { 696, -8212, 828, -2474 },
1652
+  { 1526, -8649, 1380, -1210 },
1653
+  { 461, -7253, 3222, -2229 },
1654
+  { 2966, -8641, 4121, -3271 },
1655
+  { 833, -6039, 2361, -1086 },
1656
+  { 3565, -7312, 1980, -5427 },
1657
+  { 2850, -8671, 3760, -1846 },
1658
+  { 2643, -7281, 2163, -173 },
1659
+  { 3463, -3706, -3132, -923 },
1660
+  { 1315, -3825, -3443, 2 },
1661
+  { 2594, -4083, -3815, 670 },
1662
+  { 1826, -4291, -2741, -155 },
1663
+  { 868, -3749, -4175, -298 },
1664
+  { 2008, -4237, -3897, -517 },
1665
+  { 1242, -3493, -4335, -1335 },
1666
+  { -88, -4142, -3390, -1529 },
1667
+  { 2176, -3488, -3822, -975 },
1668
+  { 1706, -5188, -3415, -637 },
1669
+  { 2717, -6159, -2333, -882 },
1670
+  { 1276, -3978, -4361, 537 },
1671
+  { 2471, -5556, -2866, -208 },
1672
+  { 799, -4673, -4086, 56 },
1673
+  { 1901, -4786, -3533, 270 },
1674
+  { 3036, -3902, -3606, -333 },
1675
+  { 2249, -3317, -4319, -144 },
1676
+  { 2594, -4207, -2105, -2930 },
1677
+  { 4008, -4774, -2626, -902 },
1678
+  { 1038, -3659, -3496, -2454 },
1679
+  { 2725, -3597, -3298, -1535 },
1680
+  { 1662, -5803, -2813, 175 },
1681
+  { 705, -3757, -3441, -1484 },
1682
+  { 1860, -5987, -2821, -886 },
1683
+  { 3786, -4918, -2199, -1929 },
1684
+  { 3683, -4235, -2547, -1287 },
1685
+  { 2531, -4896, -2956, -1593 },
1686
+  { 1005, -5585, -3324, -180 },
1687
+  { 1625, -5229, -1756, -3642 },
1688
+  { 1494, -5041, -2989, -2685 },
1689
+  { 2718, -4655, -3224, -867 },
1690
+  { 2374, -6640, -1745, -2975 },
1691
+  { 2133, -6436, -2477, -1499 },
1692
+  { 1833, -4418, -3523, -1512 },
1693
+  { 1128, -4910, -2658, -1106 },
1694
+  { 689, -4777, -2831, -2085 },
1695
+  { 3593, -5280, -2627, -315 },
1696
+  { 3264, -3771, -2673, -1861 },
1697
+  { 3202, -5602, -2409, 402 },
1698
+  { 552, -4618, -2221, -3002 },
1699
+  { 3095, -5356, -2666, -1083 },
1700
+  { 3401, -4609, -3146, 45 },
1701
+  { 3051, -4662, -2192, -2232 },
1702
+  { 2798, -5552, -2462, -1941 },
1703
+  { 2354, -5815, -2223, -2619 },
1704
+  { 192, -3708, -2807, -2658 },
1705
+  { 1886, -4226, -1862, -3529 },
1706
+  { 2526, -3976, -2819, -2332 },
1707
+  { 1577, -3870, -2711, -2806 },
1708
+  { 1288, -5588, -3382, -1403 },
1709
+  { 2711, -5399, -1564, -3253 },
1710
+  { 1459, -5492, -2222, -322 },
1711
+  { 2823, -5091, -2886, 776 },
1712
+  { 3559, -5821, -2109, -1360 },
1713
+  { 1587, -6331, -2760, -1909 },
1714
+  { 2139, -5213, -2874, -2120 },
1715
+  { 1318, -4337, -3695, -2098 },
1716
+  { 821, -4471, -1849, -565 },
1717
+  { 3329, -4782, -1725, -89 },
1718
+  { 582, -4914, -4105, -1119 },
1719
+  { 417, -4144, -4072, -2529 },
1720
+  { -199, -3803, -2765, -4042 },
1721
+  { 2731, -4283, -2143, 1 },
1722
+  { 2911, -6187, -1951, -2116 },
1723
+  { 1573, -6094, -493, -2838 },
1724
+  { 2081, -6927, -864, -3211 },
1725
+  { 1058, -7826, 79, -364 },
1726
+  { 3147, -5570, -684, -978 },
1727
+  { 3572, -5856, 1060, 1824 },
1728
+  { 1143, -6702, -1478, 338 },
1729
+  { 2341, -7220, -88, 260 },
1730
+  { 3639, -6861, 668, 815 },
1731
+  { 2227, -6268, -1706, 446 },
1732
+  { 3390, -6082, -353, 1302 },
1733
+  { 1123, -7556, -1237, -430 },
1734
+  { 1729, -7742, 729, -218 },
1735
+  { 1457, -6774, 587, 579 },
1736
+  { 505, -6919, -569, 371 },
1737
+  { 1106, -7245, 78, 158 },
1738
+  { 2755, -6745, -1122, 338 },
1739
+  { 3069, -6040, -1415, 986 },
1740
+  { 2174, -7064, -1430, -283 },
1741
+  { 1390, -8626, -446, -3031 },
1742
+  { 3534, -6890, -431, 547 },
1743
+  { 2267, -9618, 475, -2994 },
1744
+  { 3672, -7673, 75, -115 },
1745
+  { 2131, -7560, -1206, -750 },
1746
+  { 2972, -7477, -685, -262 },
1747
+  { 1604, -6637, -672, 699 },
1748
+  { 1666, -7577, -577, -240 },
1749
+  { 1591, -6554, -2158, -94 },
1750
+  { 2348, -6286, -353, 1123 },
1751
+  { 2017, -8810, -412, -1805 },
1752
+  { 2892, -6713, -1765, -554 },
1753
+  { 2500, -6828, -1995, -1197 },
1754
+  { 3877, -6639, -224, -1655 },
1755
+  { 2392, -7872, -91, -333 },
1756
+  { 3562, -7370, -532, -2836 },
1757
+  { 2552, -7614, 164, -1805 },
1758
+  { 990, -6104, 218, 438 },
1759
+  { 910, -7861, 312, -1195 },
1760
+  { 1472, -6327, 372, -640 },
1761
+  { 1576, -7143, -1983, -843 },
1762
+  { 422, -7625, -457, -278 },
1763
+  { 1797, -8532, 405, -1011 },
1764
+  { 1088, -7396, -238, -2277 },
1765
+  { 3209, -6753, -1431, -2072 },
1766
+  { 2617, -6839, 100, -2573 },
1767
+  { 2575, -8573, -387, -3188 },
1768
+  { 3618, -6971, -1190, -321 },
1769
+  { 2205, -7361, -1695, -2008 },
1770
+  { 2985, -6297, 1464, 1179 },
1771
+  { 2804, -7310, 1053, 338 },
1772
+  { 1362, -6074, -1163, -840 },
1773
+  { 3336, -6325, -1794, 21 },
1774
+  { 2836, -8109, 818, -329 },
1775
+  { 2791, -5879, 560, 1546 },
1776
+  { 2392, -6064, 135, 100 },
1777
+  { 1838, -6194, 596, 1085 },
1778
+  { 1926, -7515, -414, -4901 },
1779
+  { 3225, -7298, -1202, -1189 },
1780
+  { 3960, -7558, -659, -719 },
1781
+  { 3442, -6647, -1692, -1095 },
1782
+  { 3381, -6441, 262, -886 },
1783
+  { 1431, -8150, -1186, -1406 },
1784
+  { 340, -8498, -150, -899 },
1785
+  { 3004, -8149, -260, -953 },
1786
+  { 2749, -6611, 563, 873 },
1787
+  { -6647, -1325, -4517, -4691 },
1788
+  { -6005, -1657, -4089, -3797 },
1789
+  { -3157, 588, -5213, -3068 },
1790
+  { -3311, -1425, -6329, -3726 },
1791
+  { -5866, -819, -3857, -2744 },
1792
+  { -5001, -1799, -1075, -4621 },
1793
+  { -5330, -2650, -2672, -4664 },
1794
+  { -4930, -539, -2363, -4010 },
1795
+  { -2984, 10, -3863, -5749 },
1796
+  { -1055, -2106, -3713, -4267 },
1797
+  { -5476, -502, -4279, -6504 },
1798
+  { -5231, -1543, -5018, -6425 },
1799
+  { -5134, -363, -3165, -5109 },
1800
+  { -3953, -771, -4107, -6393 },
1801
+  { -2159, -563, -3652, -5342 },
1802
+  { -3888, -2321, -919, -5057 },
1803
+  { -1236, -597, -4235, -4193 },
1804
+  { -4053, 675, -3083, -6174 },
1805
+  { -2793, -1089, -5396, -3460 },
1806
+  { -3000, -44, -2209, -6575 },
1807
+  { -3336, -1531, -4313, -5160 },
1808
+  { -2127, 128, -4851, -3692 },
1809
+  { -3321, 136, -2067, -5660 },
1810
+  { -5215, 1404, -4374, -4356 },
1811
+  { -2747, 400, -6340, -3691 },
1812
+  { -3926, -599, -5361, -5006 },
1813
+  { -2875, -2592, -5143, -4092 },
1814
+  { -4991, -1958, -5322, -4891 },
1815
+  { -4965, -1318, -6652, -5333 },
1816
+  { -4920, -1691, -3388, -5561 },
1817
+  { -3644, -3354, -2688, -5982 },
1818
+  { -5076, -919, -4563, -2984 },
1819
+  { -6114, 250, -3884, -3915 },
1820
+  { -4014, 744, -3973, -1924 },
1821
+  { -5543, -1041, -5557, -3847 },
1822
+  { -4711, -1352, -5649, -2603 },
1823
+  { -3362, 775, -5305, -4879 },
1824
+  { -5001, 107, -3554, -2888 },
1825
+  { -6258, -1651, -6356, -6566 },
1826
+  { -4529, 407, -5003, -3865 },
1827
+  { -5154, 550, -5278, -5465 },
1828
+  { -4195, -467, -1894, -3129 },
1829
+  { -5022, 1127, -3349, -3314 },
1830
+  { -6075, 1250, -4313, -5641 },
1831
+  { -2677, -2283, -2312, -5903 },
1832
+  { -4113, 193, -1195, -4833 },
1833
+  { -3940, -1048, -1389, -5079 },
1834
+  { -3703, 917, -4043, -4451 },
1835
+  { -3366, -4231, -1534, -5488 },
1836
+  { -3326, -3583, -2091, -4903 },
1837
+  { -5144, 1254, -2532, -4949 },
1838
+  { -5982, -870, -2545, -4555 },
1839
+  { -3925, -157, -5367, -2281 },
1840
+  { -6419, -746, -5668, -4371 },
1841
+  { -5787, 518, -7096, -5805 },
1842
+  { -4258, 954, -6453, -4321 },
1843
+  { -4771, -695, -4158, -1639 },
1844
+  { -7078, -760, -5195, -5877 },
1845
+  { -7348, 83, -4101, -4586 },
1846
+  { -2430, 184, -2874, -1679 },
1847
+  { -2284, -3943, -2924, -5034 },
1848
+  { -1804, -1785, -3002, -4710 },
1849
+  { -4399, -2772, -1815, -4637 },
1850
+  { -6340, -2626, -2824, -5191 },
1851
+  { -4998, -5168, -3480, 1905 },
1852
+  { -3958, -5492, -1599, 1579 },
1853
+  { -2471, -3755, -276, 3182 },
1854
+  { -3033, -5779, -1063, 1554 },
1855
+  { -2936, -4829, -1290, 2386 },
1856
+  { -1835, -5073, -3051, 1299 },
1857
+  { -1724, -3771, -3935, 2324 },
1858
+  { -5070, -2550, -3692, 768 },
1859
+  { -4326, -5333, -297, 1878 },
1860
+  { -3472, -5619, -3094, 992 },
1861
+  { -3027, -4384, -3038, 2265 },
1862
+  { -3201, -5332, 67, 2200 },
1863
+  { -1681, -4373, -1947, 2461 },
1864
+  { -3221, -3329, -4238, 2564 },
1865
+  { -1262, -2968, -2915, 3227 },
1866
+  { -3419, -1878, -3373, 2110 },
1867
+  { -2244, -5583, -2012, 1288 },
1868
+  { -1971, -5266, -990, 1812 },
1869
+  { -2975, -2778, -452, 4063 },
1870
+  { -2198, -1165, -3298, 2965 },
1871
+  { -4782, -4894, -4767, 664 },
1872
+  { -6002, -3950, -2806, 2025 },
1873
+  { -3142, -3162, -2859, 3295 },
1874
+  { -3262, -3340, -4123, 1596 },
1875
+  { -4014, -3918, -1955, 3361 },
1876
+  { -1700, -3463, -1346, 3449 },
1877
+  { -4245, -4445, -4743, 1644 },
1878
+  { -4180, -3969, -401, 3281 },
1879
+  { -2782, -5240, -4117, 1156 },
1880
+  { -5744, -4040, -1439, 3470 },
1881
+  { -5063, -4663, -323, 3172 },
1882
+  { -4531, -3319, -844, 3988 },
1883
+  { -6226, -5125, -2064, 2976 },
1884
+  { -3115, -3267, -1531, 3898 },
1885
+  { -4628, -4421, -2864, 2808 },
1886
+  { -4559, -2989, -3442, 2024 },
1887
+  { -1775, -4487, -656, 2477 },
1888
+  { -2664, -1865, -1884, 4081 },
1889
+  { -1828, -2575, -3894, 3378 },
1890
+  { -6441, -3677, -2025, 1677 },
1891
+  { -4141, -2156, -1191, 3474 },
1892
+  { -4802, -1623, -1727, 2160 },
1893
+  { -5474, -2745, -1475, 2498 },
1894
+  { -3664, -1056, -1975, 2491 },
1895
+  { -4672, -3062, -2235, 2933 },
1896
+  { -4205, -5960, -2849, 1517 },
1897
+  { -4995, -5708, -1739, 1805 },
1898
+  { -4892, -6080, -4793, 872 },
1899
+  { -4270, -4172, -4263, 2185 },
1900
+  { -4687, -1470, -2905, 1023 },
1901
+  { -6446, -5017, -3919, 1000 },
1902
+  { -6046, -5538, -3943, 2006 },
1903
+  { -6028, -3750, -3953, 771 },
1904
+  { -5959, -4582, -5024, 824 },
1905
+  { -5818, -2576, -2249, 1326 },
1906
+  { -5659, -5345, -1119, 2500 },
1907
+  { -3346, -4155, 606, 2749 },
1908
+  { -5680, -4827, -2501, 1838 },
1909
+  { -6193, -2543, -1295, 840 },
1910
+  { -6871, -4925, -3512, 1801 },
1911
+  { -5605, -1788, -1895, 779 },
1912
+  { -3922, -5712, -4644, 510 },
1913
+  { -4745, -3869, -4533, 99 },
1914
+  { -2984, -4907, -399, 1497 },
1915
+  { 1847, -478, 3061, -5812 },
1916
+  { 4450, -1116, 3609, -6570 },
1917
+  { 3139, 99, 3007, -5532 },
1918
+  { 2590, -3782, 3138, -4770 },
1919
+  { 1881, 1204, 5778, -3404 },
1920
+  { 3631, 2060, 5566, -5038 },
1921
+  { 3461, 1961, 5167, -3800 },
1922
+  { 2947, 273, 4536, -4389 },
1923
+  { 4453, -1730, 5788, -4370 },
1924
+  { 4032, 1805, 2666, -4534 },
1925
+  { 3487, -944, 2313, -6028 },
1926
+  { 1313, 34, 4210, -4067 },
1927
+  { 5632, -1502, 5825, -5855 },
1928
+  { 7736, -547, 4879, -5476 },
1929
+  { 4906, -1512, 4760, -5760 },
1930
+  { 3843, 447, 1091, -4958 },
1931
+  { 2982, -1135, 5442, -4386 },
1932
+  { 3579, 271, 3031, -6770 },
1933
+  { 3932, -211, 4688, -5507 },
1934
+  { 4411, 1720, 2387, -5584 },
1935
+  { 5379, -479, 4575, -6280 },
1936
+  { 3613, -362, 2012, -4885 },
1937
+  { 3744, -2013, 4493, -5073 },
1938
+  { 5693, 109, 4379, -3362 },
1939
+  { 5475, -621, 5317, -3985 },
1940
+  { 6411, -673, 5708, -4752 },
1941
+  { 4933, -796, 7262, -4290 },
1942
+  { 2804, 444, 6276, -3655 },
1943
+  { 4120, -517, 6078, -4531 },
1944
+  { 5119, 841, 3486, -3910 },
1945
+  { 4738, 1539, 3525, -2970 },
1946
+  { 5086, 370, 5895, -5640 },
1947
+  { 4235, 2716, 4589, -5044 },
1948
+  { 3691, 682, 6199, -4700 },
1949
+  { 6111, -570, 6271, -6528 },
1950
+  { 2611, 1277, 3756, -4802 },
1951
+  { 4395, 970, 3807, -5879 },
1952
+  { 5225, 2299, 3242, -4333 },
1953
+  { 5144, 1778, 4946, -5545 },
1954
+  { 2989, -3016, 3247, -5495 },
1955
+  { 2983, 920, 2071, -6059 },
1956
+  { 5270, -903, 4434, -2350 },
1957
+  { 6415, -585, 3970, -3554 },
1958
+  { 3866, -197, 5216, -2884 },
1959
+  { 3767, -1298, 6702, -3315 },
1960
+  { 6299, 2620, 5284, -6824 },
1961
+  { 6654, 646, 3653, -4927 },
1962
+  { 4770, 3047, 5160, -6287 },
1963
+  { 5364, 434, 2919, -5207 },
1964
+  { 2998, 1344, 4801, -2456 },
1965
+  { 3896, 1013, 3773, -1864 },
1966
+  { 2115, 655, 2999, -6344 },
1967
+  { 5170, -981, 2849, -4464 },
1968
+  { 2735, -2159, 2717, -5776 },
1969
+  { 2430, -1952, 4392, -4559 },
1970
+  { 6143, -1180, 3659, -4746 },
1971
+  { 4978, -1483, 1726, -4875 },
1972
+  { 3486, -2383, 3306, -4301 },
1973
+  { 1434, -1372, 4171, -4770 },
1974
+  { 3354, -2627, 1525, -5093 },
1975
+  { 6790, 2386, 3995, -5909 },
1976
+  { 1475, -2674, 3451, -4204 },
1977
+  { 1999, -3494, 3693, -5556 },
1978
+  { 4764, -2848, 2856, -5589 },
1979
+  { -3677, 5131, 2827, -2934 },
1980
+  { -2844, 7078, 2852, -3580 },
1981
+  { -3902, 6434, 4118, -1911 },
1982
+  { -1769, 7530, 3492, -3541 },
1983
+  { -1937, 5679, -447, -1127 },
1984
+  { -2456, 4680, 4196, -2407 },
1985
+  { -2778, 8241, 1698, -4288 },
1986
+  { -2876, 6104, 5182, -2387 },
1987
+  { -2802, 7341, 4463, -2938 },
1988
+  { -1025, 6267, 4752, -3201 },
1989
+  { -2349, 5413, 2041, -3794 },
1990
+  { -2252, 8225, 2856, -4269 },
1991
+  { -1465, 4967, 4976, -2500 },
1992
+  { -636, 7565, 3517, -4233 },
1993
+  { -1905, 5618, 3904, -2942 },
1994
+  { -302, 6816, 3343, -3316 },
1995
+  { -2210, 4156, 2817, -3511 },
1996
+  { -717, 6568, 1863, -2951 },
1997
+  { -3873, 5682, 2164, -575 },
1998
+  { -2878, 5835, 440, -2597 },
1999
+  { -3228, 7701, 2610, -2514 },
2000
+  { -3608, 8888, 3377, -2468 },
2001
+  { -2582, 9717, 2519, -3126 },
2002
+  { -5238, 6202, 2866, -2831 },
2003
+  { -3428, 7370, 3056, -335 },
2004
+  { -1681, 8836, 1210, -2010 },
2005
+  { -3276, 6724, 1156, -3930 },
2006
+  { -894, 8149, 827, -1258 },
2007
+  { -2965, 8631, 2549, -1320 },
2008
+  { -3961, 6902, 3581, 55 },
2009
+  { -1894, 7745, 1750, -841 },
2010
+  { -821, 6844, 850, -676 },
2011
+  { -608, 6948, -4, -1376 },
2012
+  { 615, 6524, 1089, -1147 },
2013
+  { -2972, 5668, 1091, -489 },
2014
+  { -157, 4649, 2904, -413 },
2015
+  { 673, 5121, 1498, -66 },
2016
+  { -390, 5902, 1611, -245 },
2017
+  { -2349, 5478, 4772, -1320 },
2018
+  { 88, 6798, 1972, -1859 },
2019
+  { -1213, 5120, 2991, 200 },
2020
+  { -2347, 6040, 2839, 376 },
2021
+  { -578, 5976, 3364, -1796 },
2022
+  { -1391, 5872, 3002, -965 },
2023
+  { -564, 4496, 3946, -1186 },
2024
+  { -2299, 6386, 3135, -2176 },
2025
+  { -2131, 5641, 2011, 1223 },
2026
+  { -772, 5807, 1124, 895 },
2027
+  { -2837, 6758, 2297, -740 },
2028
+  { -3091, 6298, 1415, -2126 },
2029
+  { -4197, 6036, 1843, -3022 },
2030
+  { -41, 6459, 92, 344 },
2031
+  { -2241, 6860, 2095, -4396 },
2032
+  { -1931, 7088, 2117, -2135 },
2033
+  { -2375, 4422, 1688, -3169 },
2034
+  { -1742, 6674, 1538, -119 },
2035
+  { -4818, 7749, 4192, -1577 },
2036
+  { -2004, 5672, 193, -430 },
2037
+  { -3825, 6042, 2128, -1898 },
2038
+  { -1108, 8033, 2119, -3013 },
2039
+  { -2370, 5453, 1721, 266 },
2040
+  { -1570, 7134, 614, -2638 },
2041
+  { -1519, 8752, 3503, -4330 },
2042
+  { -2050, 3845, 2907, -1126 },
2043
+  { 5085, 4412, -335, -1923 },
2044
+  { 3618, 1423, -613, -4012 },
2045
+  { 4481, 3729, 589, -4631 },
2046
+  { 4270, 3216, -1763, -3168 },
2047
+  { 4241, 1796, -1701, -2796 },
2048
+  { 4787, 2338, -487, -3639 },
2049
+  { 2915, 3429, -621, -4753 },
2050
+  { 5175, 1660, -1265, -3223 },
2051
+  { 4280, 4057, -684, -4079 },
2052
+  { 4980, 4419, -1455, -2719 },
2053
+  { 5436, 2464, 387, -4197 },
2054
+  { 4507, 4018, 1121, -3314 },
2055
+  { 6020, 2401, -413, -3201 },
2056
+  { 4200, 3789, -333, -2813 },
2057
+  { 5229, 2493, -1194, -1878 },
2058
+  { 5851, 2695, -492, -2292 },
2059
+  { 5743, 3288, -697, -1221 },
2060
+  { 5692, 2612, 979, -2227 },
2061
+  { 5085, 2067, 1046, -1214 },
2062
+  { 3163, 2240, -2098, -3435 },
2063
+  { 5228, 1898, 145, -2397 },
2064
+  { 5860, 3976, -418, -2872 },
2065
+  { 6008, 3399, 1027, -3506 },
2066
+  { 4126, 2035, 1865, -893 },
2067
+  { 5375, 3596, 511, -2362 },
2068
+  { 1937, 1493, -852, -122 },
2069
+  { 3473, 4849, 547, -2603 },
2070
+  { 4631, 2977, 1141, -1768 },
2071
+  { 6149, 3050, -71, -1886 },
2072
+  { 4069, 4353, -289, -1429 },
2073
+  { 2884, 1225, -1388, 365 },
2074
+  { 5485, 2518, -235, -571 },
2075
+  { 1216, 4375, 1443, 398 },
2076
+  { 4988, 3106, 107, -1435 },
2077
+  { 4511, 2801, 307, -444 },
2078
+  { 3235, 4386, 327, -676 },
2079
+  { 2055, 3708, 1657, -305 },
2080
+  { 5839, 2374, 290, -1385 },
2081
+  { 5110, 3305, 1936, -4206 },
2082
+  { 6416, 2920, 338, -2736 },
2083
+  { 3350, 2824, -1269, -3881 },
2084
+  { 4840, 1815, 464, 186 },
2085
+  { 2399, 3332, 238, 1238 },
2086
+  { 3516, 1363, 1582, 688 },
2087
+  { 3582, 1874, 154, -4770 },
2088
+  { 3261, 2878, 886, 283 },
2089
+  { 3877, 2658, -327, 884 },
2090
+  { 4151, 3436, 2173, -2923 },
2091
+  { 3592, 3674, 1281, -1295 },
2092
+  { 4561, 3730, -1114, -1747 },
2093
+  { 4595, 3625, -558, -575 },
2094
+  { 2577, 2348, 2267, 120 },
2095
+  { 5242, 3299, 32, -3412 },
2096
+  { 4264, 3637, 709, -2320 },
2097
+  { 6556, 3570, -838, -2472 },
2098
+  { 5745, 4014, -940, -1973 },
2099
+  { 5629, 4475, 477, -3328 },
2100
+  { 5269, 3199, 1682, -3085 },
2101
+  { 4432, 2416, 1145, -3299 },
2102
+  { 4465, 2505, 2162, -2186 },
2103
+  { 4643, 4941, -88, -2885 },
2104
+  { 4568, 5231, 552, -3915 },
2105
+  { 5667, 3075, -1406, -2963 },
2106
+  { 5418, 5259, -771, -2818 },
2107
+  { -256, -7875, 511, -471 },
2108
+  { -1813, -7971, -424, -396 },
2109
+  { -306, -7006, 862, 282 },
2110
+  { -2306, -6422, -1440, 508 },
2111
+  { -245, -6787, 375, -100 },
2112
+  { -1309, -6065, -20, 779 },
2113
+  { -1656, -6047, -641, 1307 },
2114
+  { -1496, -6522, 964, 726 },
2115
+  { -2291, -6588, -202, 795 },
2116
+  { -762, -7522, 1454, -558 },
2117
+  { -2270, -7004, -834, -580 },
2118
+  { -1139, -7078, 259, 362 },
2119
+  { -2535, -7568, -1040, 49 },
2120
+  { -3786, -7280, 934, -476 },
2121
+  { -3336, -6368, 606, 1056 },
2122
+  { -3602, -6924, 52, 714 },
2123
+  { -2278, -6550, 1674, 204 },
2124
+  { -2855, -5765, 930, 1530 },
2125
+  { -2889, -7325, -215, 305 },
2126
+  { -2749, -6080, -237, 1452 },
2127
+  { -985, -6667, 1577, 400 },
2128
+  { -2036, -6083, 380, 1267 },
2129
+  { -2077, -7460, 380, -30 },
2130
+  { -1775, -7175, 1540, -386 },
2131
+  { -3065, -6927, 989, 168 },
2132
+  { -2836, -7602, 117, -3392 },
2133
+  { -1058, -6396, 593, -3078 },
2134
+  { -844, -6062, 999, -236 },
2135
+  { -3261, -6951, 1491, -720 },
2136
+  { -2186, -8484, 75, -1287 },
2137
+  { -2882, -7756, 456, -510 },
2138
+  { -1800, -6879, 960, -1183 },
2139
+  { -2554, -7241, 1614, -1474 },
2140
+  { -2608, -5305, 392, 851 },
2141
+  { -2973, -6562, -859, 858 },
2142
+  { -2640, -5989, 1031, -416 },
2143
+  { -977, -8366, 705, -1434 },
2144
+  { -1213, -7409, -77, -1390 },
2145
+  { -1335, -6657, 2125, -123 },
2146
+  { -2544, -6862, 1852, -737 },
2147
+  { -3235, -6422, 1752, -103 },
2148
+  { -1300, -7557, 939, -348 },
2149
+  { -3476, -7579, 202, -109 },
2150
+  { -2482, -6572, 753, 619 },
2151
+  { -2554, -8136, -648, -429 },
2152
+  { -1012, -7870, -3, -421 },
2153
+  { -3604, -6247, 32, -3102 },
2154
+  { -1486, -7271, 2013, -1021 },
2155
+  { -578, -6799, -523, 405 },
2156
+  { -2841, -5948, 1644, 911 },
2157
+  { -2411, -7473, 1084, -484 },
2158
+  { -2238, -6033, 294, -1059 },
2159
+  { -3459, -6470, -201, -790 },
2160
+  { -2027, -6009, 1833, 805 },
2161
+  { -1433, -8047, 1531, -1754 },
2162
+  { -3258, -7884, 763, -1422 },
2163
+  { -1544, -6928, -729, 478 },
2164
+  { -2314, -8415, 74, -3757 },
2165
+  { -3201, -5684, 95, -2214 },
2166
+  { -2423, -8694, 725, -3631 },
2167
+  { -3545, -7071, 1162, -1798 },
2168
+  { -294, -9662, 403, -2274 },
2169
+  { -2290, -5460, 1196, 402 },
2170
+  { -1603, -6713, 903, -2363 },
2171
+  { 4121, 2491, -3142, -2482 },
2172
+  { 4500, 3305, -3671, -1567 },
2173
+  { 5973, 3172, -1348, -534 },
2174
+  { 4830, 3379, -1549, 643 },
2175
+  { 5214, 3938, -2641, -2302 },
2176
+  { 4639, 4826, -5532, -847 },
2177
+  { 5639, 2731, -2170, -963 },
2178
+  { 6084, 3487, -3525, -1346 },
2179
+  { 5971, 3154, -2190, -2316 },
2180
+  { 5618, 4865, -6927, 116 },
2181
+  { 5345, 3568, -7391, 709 },
2182
+  { 5429, 5078, -3811, -1524 },
2183
+  { 6960, 2037, -3515, -1096 },
2184
+  { 7092, 2531, -4557, -588 },
2185
+  { 6061, 4247, -5651, -478 },
2186
+  { 4595, 3684, -4907, -827 },
2187
+  { 7497, 3213, -3048, -424 },
2188
+  { 5996, 2137, -3098, -1745 },
2189
+  { 6198, 5199, -2223, -2274 },
2190
+  { 6888, 2851, -2768, -1675 },
2191
+  { 6114, 4210, -2316, -954 },
2192
+  { 7127, 4242, -3041, -1408 },
2193
+  { 6126, 3668, -1517, -1427 },
2194
+  { 6245, 6129, -4225, -1186 },
2195
+  { 6816, 3213, -2101, -964 },
2196
+  { 5345, 5276, -2643, -847 },
2197
+  { 6592, 4665, -4338, 484 },
2198
+  { 6746, 3751, -3443, 124 },
2199
+  { 5453, 1980, -2738, 2606 },
2200
+  { 4662, 2179, -4226, -1059 },
2201
+  { 5571, 3208, -3554, 174 },
2202
+  { 5256, 4447, -1815, -1481 },
2203
+  { 5400, 2570, -1210, 235 },
2204
+  { 7056, 2549, -2674, 318 },
2205
+  { 4574, 4340, -2892, -130 },
2206
+  { 6203, 4587, -3273, -305 },
2207
+  { 5103, 1925, -2715, -2137 },
2208
+  { 3905, 4296, -1700, 247 },
2209
+  { 4421, 4605, -3299, 811 },
2210
+  { 5671, 1273, -3870, -924 },
2211
+  { 5486, 1805, -4901, 133 },
2212
+  { 6437, 2578, -1828, -106 },
2213
+  { 5530, 5253, -5058, 1223 },
2214
+  { 4816, 2025, -1215, 1443 },
2215
+  { 3457, 3525, -2456, 3217 },
2216
+  { 3316, 2595, -1108, 2459 },
2217
+  { 3068, 3810, -2207, 1926 },
2218
+  { 6351, 5436, -6470, 600 },
2219
+  { 6324, 4240, -5365, 2416 },
2220
+  { 4851, 4774, -4075, 1878 },
2221
+  { 4900, 3679, -5198, 1078 },
2222
+  { 8347, 3633, -4565, -171 },
2223
+  { 5244, 5718, -3853, 173 },
2224
+  { 3960, 3492, -2939, 2105 },
2225
+  { 6070, 3473, -2351, 161 },
2226
+  { 8228, 3034, -3360, -901 },
2227
+  { 7006, 3985, -1940, -1926 },
2228
+  { 7123, 4681, -4301, -878 },
2229
+  { 5122, 4097, -1851, -449 },
2230
+  { 6200, 2060, -2251, 1049 },
2231
+  { 7106, 3844, -7209, 2625 },
2232
+  { 7108, 3370, -6734, 533 },
2233
+  { 6859, 2849, -3992, 1360 },
2234
+  { 5458, 2278, -3253, 1131 },
2235
+  { -1072, -2109, 4783, -1073 },
2236
+  { -319, -2604, 4257, -2418 },
2237
+  { 2466, 1300, 3476, -314 },
2238
+  { 2847, -1502, 5296, -141 },
2239
+  { 1667, -1273, 5559, -2725 },
2240
+  { 2877, -3402, 6434, 204 },
2241
+  { 53, -2637, 5275, -1181 },
2242
+  { 1091, -2215, 5803, -1549 },
2243
+  { 2397, -922, 4327, 1182 },
2244
+  { 219, -3747, 4647, -1564 },
2245
+  { -29, -2705, 4812, 1277 },
2246
+  { 1499, -2608, 5648, 1407 },
2247
+  { 2139, -2399, 4202, 2791 },
2248
+  { -426, -2064, 5528, 151 },
2249
+  { 2560, -2803, 6179, -2806 },
2250
+  { 4537, -2479, 3797, 1095 },
2251
+  { 888, -3357, 5341, -415 },
2252
+  { 4460, -1814, 5388, -1227 },
2253
+  { 3920, -3268, 6364, -703 },
2254
+  { 3343, -4698, 4410, 784 },
2255
+  { 309, -1897, 6306, 1223 },
2256
+  { 958, -3318, 4254, -3167 },
2257
+  { -99, 1596, 6018, -1983 },
2258
+  { -429, -853, 6407, 878 },
2259
+  { 1170, -1322, 6290, -417 },
2260
+  { 2288, -505, 6303, -1999 },
2261
+  { 3312, -1674, 6749, -2494 },
2262
+  { -415, -3401, 4721, -371 },
2263
+  { -189, -1210, 4844, -2002 },
2264
+  { 888, -4142, 4377, 130 },
2265
+  { 2469, -4381, 5398, -2492 },
2266
+  { 2879, -2912, 5094, -2598 },
2267
+  { -717, -617, 5650, -685 },
2268
+  { 1470, -3863, 5352, -1684 },
2269
+  { 3935, -96, 3823, -730 },
2270
+  { 3769, -430, 3168, 694 },
2271
+  { 2556, 385, 3539, 512 },
2272
+  { 77, -1415, 5111, 2655 },
2273
+  { 2724, -2158, 6715, -822 },
2274
+  { 1832, 1001, 5385, -1900 },
2275
+  { 900, 2198, 4464, -559 },
2276
+  { 441, 69, 5921, -1743 },
2277
+  { -1161, 738, 6732, -308 },
2278
+  { 257, 2035, 4091, 736 },
2279
+  { 1607, 1288, 4355, -23 },
2280
+  { -13, 1316, 4180, 1672 },
2281
+  { 1511, 1336, 3057, 1435 },
2282
+  { 2189, -3813, 4530, 939 },
2283
+  { 3632, -706, 2646, 1375 },
2284
+  { 4266, -3761, 4241, 1077 },
2285
+  { 3101, -427, 5273, -1202 },
2286
+  { 2293, 276, 4810, -313 },
2287
+  { 3430, -1851, 3101, 2045 },
2288
+  { 3453, -2979, 5142, 942 },
2289
+  { 1683, -3281, 4802, 2002 },
2290
+  { 3954, -4715, 5611, 578 },
2291
+  { 1272, -155, 5085, 454 },
2292
+  { 128, -194, 5095, 1409 },
2293
+  { 820, 880, 5797, -2658 },
2294
+  { -1095, 656, 5774, 1095 },
2295
+  { 813, -1669, 4320, -3251 },
2296
+  { -119, 518, 6372, -651 },
2297
+  { 2922, -4299, 6115, -877 },
2298
+  { 4205, -4273, 4004, 2642 },
2299
+  { -1211, -3892, 224, 3127 },
2300
+  { -34, -4371, 1321, 2318 },
2301
+  { 77, -6326, 1201, 828 },
2302
+  { 3995, -3775, 1958, 3233 },
2303
+  { 178, -3301, 1985, 3318 },
2304
+  { 2330, -3801, 1033, 3195 },
2305
+  { 1413, -5536, 826, 1709 },
2306
+  { 2468, -3499, 3653, 3631 },
2307
+  { 741, -4617, 1723, 2008 },
2308
+  { 1246, -3043, 2978, 3949 },
2309
+  { -343, -4308, 2258, 2189 },
2310
+  { -682, -4640, 454, 2272 },
2311
+  { 1236, -4829, 2491, 1642 },
2312
+  { -512, -3766, 1182, 3052 },
2313
+  { 119, -3939, 3712, 971 },
2314
+  { -1145, -4624, 1360, 2281 },
2315
+  { 101, -4746, 2866, 1255 },
2316
+  { -1500, -5455, 539, 1637 },
2317
+  { -969, -5909, 1414, 1128 },
2318
+  { -1261, -4939, -231, 2022 },
2319
+  { -226, -5345, 1207, 705 },
2320
+  { 2712, -5109, 3205, 1866 },
2321
+  { -476, -5913, 273, 1208 },
2322
+  { -2039, -4464, 624, 2545 },
2323
+  { -2351, -3930, 2019, 2673 },
2324
+  { -2675, -4849, 1522, 1990 },
2325
+  { -1524, -3461, 1446, 3204 },
2326
+  { 477, -5314, 1710, 1577 },
2327
+  { 656, -3729, 2346, 2511 },
2328
+  { 550, -5917, 1975, 1040 },
2329
+  { 1728, -4704, 3067, 1058 },
2330
+  { -9, -5247, 506, 1760 },
2331
+  { -574, -5135, 1675, 1672 },
2332
+  { 2129, -3781, 3444, 2313 },
2333
+  { 1144, -4439, 2214, 2529 },
2334
+  { 1292, -4160, 3185, 1833 },
2335
+  { 2445, -3262, 2534, 3227 },
2336
+  { 2266, -4401, 2023, 2400 },
2337
+  { -587, -3602, 3408, 2067 },
2338
+  { -885, -4951, 3228, 1174 },
2339
+  { -728, -2711, 2807, 3552 },
2340
+  { 1019, -3043, 3195, 2954 },
2341
+  { 1888, -4615, 1140, 2454 },
2342
+  { 660, -5616, 754, 800 },
2343
+  { -1975, -5371, 1649, 1585 },
2344
+  { -1544, -5436, 2422, 1081 },
2345
+  { -422, -5882, 2390, 750 },
2346
+  { 1336, -5557, 2441, 1230 },
2347
+  { 136, -4001, 267, 2854 },
2348
+  { -522, -3289, 2226, 2728 },
2349
+  { -971, -4580, 2471, 708 },
2350
+  { 704, -5306, 3300, 1001 },
2351
+  { 325, -3464, 3555, 2398 },
2352
+  { 794, -3686, 848, 3169 },
2353
+  { 660, -3017, 4584, 3242 },
2354
+  { -1486, -3978, 2170, 1644 },
2355
+  { -1615, -4650, 2688, 1844 },
2356
+  { 750, -4578, 538, 2239 },
2357
+  { 1668, -5849, 1455, 1031 },
2358
+  { 3486, -4681, 2030, 2183 },
2359
+  { 2642, -5429, 1696, 1761 },
2360
+  { 4491, -4502, 3538, 2767 },
2361
+  { 3545, -4528, 3514, 2982 },
2362
+  { 3269, -3676, 2758, 3966 },
2363
+  { 5572, 1146, 209, -3379 },
2364
+  { 7459, 1053, 593, -1896 },
2365
+  { 4480, 200, -310, -4259 },
2366
+  { 5577, -939, 242, -3992 },
2367
+  { 8142, 442, 1257, -3083 },
2368
+  { 5442, 1261, 1424, -3236 },
2369
+  { 6260, -183, 3125, -2532 },
2370
+  { 7179, 889, 1618, -2548 },
2371
+  { 6416, 932, 2379, -2487 },
2372
+  { 7094, 2560, 961, -3392 },
2373
+  { 7322, 463, 2732, -3735 },
2374
+  { 6632, 1577, 1912, -3272 },
2375
+  { 6312, 1349, 3028, -3460 },
2376
+  { 6105, 386, 1213, -977 },
2377
+  { 5478, 1158, 1114, -486 },
2378
+  { 6493, 410, 1686, -2180 },
2379
+  { 6378, 1881, 1333, -2240 },
2380
+  { 5711, 812, 1958, -1300 },
2381
+  { 6844, 877, 730, -1189 },
2382
+  { 6824, -245, 2249, -2000 },
2383
+  { 7515, 1521, 1251, -3058 },
2384
+  { 6697, 1051, 1300, -1749 },
2385
+  { 6476, 1425, 811, -2773 },
2386
+  { 7350, 465, -76, -2849 },
2387
+  { 6975, 2095, 567, -2492 },
2388
+  { 4691, 1736, 2660, -2289 },
2389
+  { 7837, 1456, 340, -2767 },
2390
+  { 7930, 507, 838, -2074 },
2391
+  { 6106, 1502, 766, -1110 },
2392
+  { 4891, -659, 835, -3954 },
2393
+  { 7250, 141, 1369, -1523 },
2394
+  { 7651, 67, 1651, -2298 },
2395
+  { 7364, -305, 601, -3132 },
2396
+  { 7179, 193, 2491, -2871 },
2397
+  { 6504, -272, 2167, -1322 },
2398
+  { 4456, 983, 2300, -421 },
2399
+  { 4817, 457, 1695, 371 },
2400
+  { 6914, 555, 850, -3159 },
2401
+  { 5904, 1030, 202, -1959 },
2402
+  { 6258, 880, 2233, -4503 },
2403
+  { 6029, 10, 2130, -3600 },
2404
+  { 6449, 985, 1129, -3963 },
2405
+  { 6616, -18, -111, -3285 },
2406
+  { 4496, 775, 817, -4276 },
2407
+  { 6134, 2338, 1470, -2973 },
2408
+  { 6911, 152, 430, -1946 },
2409
+  { 4053, 991, 3218, -1193 },
2410
+  { 5435, 1285, 3124, -2412 },
2411
+  { 5507, 1836, 1935, -1988 },
2412
+  { 5240, 689, 2189, -2670 },
2413
+  { 6638, 1719, 606, -1799 },
2414
+  { 5556, -180, 129, -2595 },
2415
+  { 5644, 1918, 1281, -4316 },
2416
+  { 6410, 1088, -282, -3117 },
2417
+  { 6503, 1841, 312, -3514 },
2418
+  { 6947, 20, 1358, -3886 },
2419
+  { 5464, 2109, 2398, -3194 },
2420
+  { 5616, -407, 2140, -498 },
2421
+  { 6121, 2707, 2379, -4096 },
2422
+  { 7303, 1846, 2266, -4095 },
2423
+  { 5444, 470, 2718, -1553 },
2424
+  { 5817, -645, 3285, -1349 },
2425
+  { 5625, 1427, 1103, -1991 },
2426
+  { 6041, -806, 1196, -2943 },
2427
+  { 3050, -5722, 4070, -5460 },
2428
+  { 3420, -4386, 4078, -5155 },
2429
+  { 6020, -3982, 7268, -2689 },
2430
+  { 7502, -4317, 7894, -3973 },
2431
+  { 4156, -3558, 5247, -4316 },
2432
+  { 4725, -4401, 7290, -1540 },
2433
+  { 6688, -5122, 8216, -3210 },
2434
+  { 9176, -6576, 9276, -4963 },
2435
+  { 8706, -5708, 7987, -4621 },
2436
+  { 7060, -3535, 6532, -3308 },
2437
+  { 5600, -2719, 5363, -1568 },
2438
+  { 4661, -2803, 6263, -4716 },
2439
+  { 3673, -3636, 6147, -3433 },
2440
+  { 5305, -2585, 6073, -2638 },
2441
+  { 7614, -1962, 6079, -5266 },
2442
+  { 6760, -3366, 7382, -4322 },
2443
+  { 6385, -3883, 4797, -1353 },
2444
+  { 8182, -5120, 4298, -4641 },
2445
+  { 9130, -6198, 4975, -3063 },
2446
+  { 7421, -5436, 5576, -3713 },
2447
+  { 3483, -4898, 5443, -2745 },
2448
+  { 4907, -5643, 6390, -4105 },
2449
+  { 8119, -7008, 7992, -6764 },
2450
+  { 6528, -6122, 6967, -5590 },
2451
+  { 5890, -4190, 6624, -5688 },
2452
+  { 6815, -7934, 7275, -5456 },
2453
+  { 5434, -4306, 5169, -5378 },
2454
+  { 4364, -6436, 5376, -2604 },
2455
+  { 8152, -3404, 5913, -5048 },
2456
+  { 7983, -4863, 4262, -2461 },
2457
+  { 8023, -6188, 6238, -5062 },
2458
+  { 6753, -3692, 3935, -3723 },
2459
+  { 6826, -4760, 3284, -4051 },
2460
+  { 7224, -7423, 4492, -3875 },
2461
+  { 6904, -2590, 6587, -6248 },
2462
+  { 6106, -1944, 7345, -5506 },
2463
+  { 4956, -2990, 7808, -3146 },
2464
+  { 6908, -6885, 5949, -1288 },
2465
+  { 7162, -6058, 3419, -3401 },
2466
+  { 7015, -7080, 6907, -3018 },
2467
+  { 6971, -6832, 5646, -3273 },
2468
+  { 8014, -5546, 5471, -1544 },
2469
+  { 6792, -2220, 5105, -2879 },
2470
+  { 8494, -3974, 4408, -3999 },
2471
+  { 9591, -4866, 6027, -4558 },
2472
+  { 5264, -5161, 6101, -738 },
2473
+  { 5803, -6141, 5197, -5231 },
2474
+  { 4657, -6822, 3232, -5189 },
2475
+  { 4791, -5135, 3809, -4665 },
2476
+  { 6108, -5103, 2379, -3873 },
2477
+  { 4680, -3909, 3234, -5093 },
2478
+  { 5802, -3853, 3795, -4984 },
2479
+  { 4360, -7483, 4802, -3877 },
2480
+  { 5429, -7517, 5911, -3717 },
2481
+  { 6866, -2280, 4880, -4634 },
2482
+  { 10131, -4628, 4414, -4092 },
2483
+  { 10811, -5189, 7746, -5337 },
2484
+  { 5663, -8941, 5287, -5680 },
2485
+  { 8023, -5991, 7403, -2796 },
2486
+  { 9669, -6919, 6525, -4932 },
2487
+  { 7275, -3796, 4962, -2547 },
2488
+  { 8848, -4806, 5677, -3080 },
2489
+  { 8128, -4308, 7749, -6569 },
2490
+  { 4032, -5196, 2282, -6239 },
2491
+  { 6593, 700, -229, 304 },
2492
+  { 8260, 539, -66, -1259 },
2493
+  { 6605, 176, -814, -109 },
2494
+  { 8057, 0, -1, -136 },
2495
+  { 7382, -38, -484, -1129 },
2496
+  { 8373, -929, 682, -454 },
2497
+  { 7674, 690, -1278, 546 },
2498
+  { 7326, -517, 406, -1283 },
2499
+  { 7612, -1715, -1167, 1175 },
2500
+  { 8590, 441, -782, -710 },
2501
+  { 8572, -1202, -291, 260 },
2502
+  { 7308, -147, -1785, 414 },
2503
+  { 6787, -353, -672, 934 },
2504
+  { 5177, -133, 179, 82 },
2505
+  { 4161, -34, 447, 1497 },
2506
+  { 5997, -902, 1533, -121 },
2507
+  { 5727, -871, -1370, 945 },
2508
+  { 8386, -252, 293, -823 },
2509
+  { 6573, -1354, 682, 616 },
2510
+  { 7650, -2096, 725, 457 },
2511
+  { 8122, 78, 636, -1400 },
2512
+  { 8421, 428, -1620, 131 },
2513
+  { 7341, -1292, -717, 186 },
2514
+  { 7998, -49, -720, 266 },
2515
+  { 5987, -351, 669, 844 },
2516
+  { 7314, -1620, 250, -603 },
2517
+  { 7219, -1562, -572, 1994 },
2518
+  { 8682, -358, -290, -388 },
2519
+  { 5810, 155, -178, 1199 },
2520
+  { 7246, -12, 1042, -786 },
2521
+  { 7357, -923, 1468, -475 },
2522
+  { 7801, 621, -212, -724 },
2523
+  { 5346, -514, 1210, 1356 },
2524
+  { 8459, 36, -127, -779 },
2525
+  { 6878, -2429, 854, 1750 },
2526
+  { 7280, -1401, -1353, 2845 },
2527
+  { 7579, -2148, -1463, 2087 },
2528
+  { 6637, 946, -872, 750 },
2529
+  { 4807, -1100, 1289, 2602 },
2530
+  { 4495, 219, 1551, 1128 },
2531
+  { 7639, 506, 446, -1107 },
2532
+  { 6359, 188, 1009, -115 },
2533
+  { 6641, -1820, 1655, 723 },
2534
+  { 5394, -2382, 1604, 2542 },
2535
+  { 6021, -2644, 2396, 1407 },
2536
+  { 4698, 882, 245, 1525 },
2537
+  { 8103, 573, -798, -349 },
2538
+  { 8045, -519, 997, -1092 },
2539
+  { 7571, -122, 227, -338 },
2540
+  { 5347, -1200, 630, 1718 },
2541
+  { 7070, 790, 218, -544 },
2542
+  { 7440, 728, -527, -20 },
2543
+  { 6402, -355, 197, -736 },
2544
+  { 4031, 771, 866, 1895 },
2545
+  { 6009, 896, 445, -31 },
2546
+  { 5160, 1098, -856, 1784 },
2547
+  { 7980, -886, -1293, 1396 },
2548
+  { 6318, -1361, 2423, 252 },
2549
+  { 7547, -699, 133, 506 },
2550
+  { 8562, -2344, 940, 264 },
2551
+  { 5890, 1187, -1425, 2194 },
2552
+  { 6558, -645, -1311, 2621 },
2553
+  { 4634, -1671, 2075, 1623 },
2554
+  { 5614, 105, -816, 2376 },
2555
+  { 6646, 1558, -1365, 630 },
2556
+  { 6998, 1150, -2117, -990 },
2557
+  { 6555, 2311, -1093, -1783 },
2558
+  { 6682, 1430, -2391, -1940 },
2559
+  { 7861, 1555, -2977, -1188 },
2560
+  { 6745, 1723, -459, -2085 },
2561
+  { 7504, 1229, -1666, -2060 },
2562
+  { 7937, 671, -2128, -1529 },
2563
+  { 7139, 991, -735, -2632 },
2564
+  { 6867, 1592, -1303, -2324 },
2565
+  { 6401, 2230, -1732, -2508 },
2566
+  { 7201, 2184, -2169, -1988 },
2567
+  { 6636, 2190, -995, -2840 },
2568
+  { 7620, 2306, -2089, -651 },
2569
+  { 7584, 1875, -1438, -631 },
2570
+  { 9214, 1561, -2464, -1139 },
2571
+  { 6154, 1318, -1237, -2917 },
2572
+  { 7917, 2847, -1797, -1599 },
2573
+  { 8309, 2029, -2555, -465 },
2574
+  { 8204, 1282, -584, -2405 },
2575
+  { 8440, 1035, -1147, -1137 },
2576
+  { 7107, 1858, -60, -1568 },
2577
+  { 6781, 2912, -873, -1463 },
2578
+  { 7603, 1316, -319, -1249 },
2579
+  { 7833, 1335, -78, -1849 },
2580
+  { 7930, 1141, -1016, -695 },
2581
+  { 7883, 1610, -1017, -1314 },
2582
+  { 8069, 1409, -1811, -196 },
2583
+  { 8319, 1031, -582, -1590 },
2584
+  { 5948, 1537, -2153, -2373 },
2585
+  { 8684, 1171, -1871, -850 },
2586
+  { 8357, 2484, -2411, -1292 },
2587
+  { 6516, 2092, -193, -1167 },
2588
+  { 6112, 1697, 22, -525 },
2589
+  { 7161, 703, -602, -1879 },
2590
+  { 6047, 2351, -807, -219 },
2591
+  { 8072, 1854, -1817, -1553 },
2592
+  { 6956, 1304, 76, -1011 },
2593
+  { 6607, 1481, -544, -162 },
2594
+  { 6958, 2541, -265, -1938 },
2595
+  { 6416, 2514, -777, -850 },
2596
+  { 7272, 2110, -899, -1171 },
2597
+  { 7741, 2153, -283, -2614 },
2598
+  { 6482, 2041, -1758, -1221 },
2599
+  { 6762, 940, -1862, -2281 },
2600
+  { 5610, 1194, -1691, -1561 },
2601
+  { 7833, 2164, -823, -1952 },
2602
+  { 5460, 1438, -848, 1189 },
2603
+  { 6011, 1377, -771, -1557 },
2604
+  { 7679, 544, -1134, -2214 },
2605
+  { 7209, 1292, -2714, -1564 },
2606
+  { 5567, 1200, -404, -169 },
2607
+  { 5853, 1461, -1465, -518 },
2608
+  { 6782, 689, -844, -860 },
2609
+  { 7330, 1337, -1152, -71 },
2610
+  { 7189, 1506, -653, -685 },
2611
+  { 6860, 2116, -1403, -240 },
2612
+  { 8804, 1516, -1391, -1760 },
2613
+  { 7210, 2689, -1498, -989 },
2614
+  { 7030, 3022, -1441, -2083 },
2615
+  { 5649, 1836, -407, 525 },
2616
+  { 7451, 3099, -717, -2464 },
2617
+  { 7384, 1656, -2007, 398 },
2618
+  { 6504, 707, -1919, -134 },
2619
+  { -1851, 3639, -2279, -695 },
2620
+  { -4037, 1644, -77, 1329 },
2621
+  { -4025, 1960, -1565, -567 },
2622
+  { -3430, 2495, -795, 368 },
2623
+  { -4771, 2480, 993, 756 },
2624
+  { -3431, 2058, -2539, -971 },
2625
+  { -3802, 3418, 380, 217 },
2626
+  { -3074, 3350, -1652, -1056 },
2627
+  { -3705, 326, -1650, 1535 },
2628
+  { -3122, 1281, -1192, 1607 },
2629
+  { -4601, 1367, -968, 53 },
2630
+  { -3808, 958, 44, 2560 },
2631
+  { -2079, 2530, -1485, 1166 },
2632
+  { -3707, 343, -2889, 180 },
2633
+  { -5249, 1431, -31, 688 },
2634
+  { -4990, 125, -704, 1270 },
2635
+  { -2771, 1334, -2446, 746 },
2636
+  { -2292, 994, -1527, 2630 },
2637
+  { -1261, 3070, -2519, 268 },
2638
+  { -2544, 3890, -1057, -552 },
2639
+  { -4421, 255, -1980, 530 },
2640
+  { -2951, 454, -13, 3643 },
2641
+  { -2262, 1815, -370, 2880 },
2642
+  { -2383, 3657, -649, 576 },
2643
+  { -3541, -161, -1389, 2550 },
2644
+  { -4241, 1575, 1325, 2561 },
2645
+  { -2767, 4037, 1221, 1578 },
2646
+  { -3748, 2697, 1148, 1801 },
2647
+  { -4686, 2385, -220, 0 },
2648
+  { -1531, 1645, -2751, 1327 },
2649
+  { -45, 4032, -799, 2298 },
2650
+  { -2915, 2280, 709, 2495 },
2651
+  { -1199, 3278, -406, 2346 },
2652
+  { -2471, 116, -2706, 2060 },
2653
+  { -2440, 2173, -2894, -344 },
2654
+  { -3375, 2287, 1781, 3226 },
2655
+  { -2153, 3568, 1827, 2918 },
2656
+  { -862, 2267, -1626, 2527 },
2657
+  { -2698, 1135, 301, 4239 },
2658
+  { -2364, 2123, 1010, 3710 },
2659
+  { -2447, 3281, -81, 1408 },
2660
+  { -2660, 4735, 472, 258 },
2661
+  { -1053, 3097, 2682, 2398 },
2662
+  { -3366, -1037, -1152, -868 },
2663
+  { -643, 4242, 2212, 1259 },
2664
+  { 971, 3991, 934, 643 },
2665
+  { -1617, 2002, 2139, 2195 },
2666
+  { -4897, 972, 784, 1719 },
2667
+  { -1275, 2992, 1039, 3821 },
2668
+  { -392, 4973, -209, 1821 },
2669
+  { -1028, 4718, -1479, -137 },
2670
+  { 50, 3914, 553, 2210 },
2671
+  { 678, 4364, 359, 1303 },
2672
+  { -582, 4911, 514, 1671 },
2673
+  { 1276, 3914, -1252, 2934 },
2674
+  { -1496, 3984, 857, 2330 },
2675
+  { 772, 4744, -655, 2332 },
2676
+  { -799, 5283, -439, 624 },
2677
+  { 1341, 2937, 650, 2027 },
2678
+  { -1739, 4892, 1275, 1702 },
2679
+  { -892, 2596, -151, 3951 },
2680
+  { -3532, 1090, 1292, 32 },
2681
+  { 321, 3146, 2647, 1475 },
2682
+  { 264, 4199, -1591, 1317 },
2683
+  { -452, -2357, 2266, 4192 },
2684
+  { 3022, -1033, -2389, 5678 },
2685
+  { -1162, -1342, 3543, 4990 },
2686
+  { -474, -1477, -1223, 5016 },
2687
+  { -699, -2857, 900, 3835 },
2688
+  { -461, -2255, -117, 4626 },
2689
+  { 1204, -2062, -1211, 4403 },
2690
+  { 2192, -3035, -337, 3966 },
2691
+  { 108, -831, 279, 5643 },
2692
+  { 1457, -620, -2908, 5276 },
2693
+  { -2527, -78, 1085, 5460 },
2694
+  { -1978, -1918, -949, 4733 },
2695
+  { 32, 367, -1904, 5166 },
2696
+  { 1890, -1665, 440, 4752 },
2697
+  { -518, -348, 2816, 4891 },
2698
+  { 3695, -2490, -1374, 4603 },
2699
+  { 246, -1965, 3549, 3969 },
2700
+  { 1100, -3111, 656, 3737 },
2701
+  { -1379, 870, -414, 4575 },
2702
+  { 628, -357, -1227, 6179 },
2703
+  { -1129, -1318, -2457, 4576 },
2704
+  { -425, -98, -73, 6336 },
2705
+  { 367, -887, 2990, 4207 },
2706
+  { 2091, -1251, 2444, 3557 },
2707
+  { -1759, -1610, 2046, 5273 },
2708
+  { 3210, 1414, -20, 2616 },
2709
+  { 3303, -2636, 1005, 4237 },
2710
+  { -327, -3107, -640, 3687 },
2711
+  { -197, 764, 572, 5486 },
2712
+  { 646, -767, 1388, 5464 },
2713
+  { 104, 2742, -228, 3907 },
2714
+  { -236, 1829, -579, 4585 },
2715
+  { -2150, -474, -1525, 4006 },
2716
+  { -23, -2632, -2400, 3892 },
2717
+  { -12, -1739, -2910, 4867 },
2718
+  { -2310, -368, -102, 4583 },
2719
+  { -1991, -2061, 533, 4531 },
2720
+  { 3884, -1446, -153, 4393 },
2721
+  { 1568, 14, -289, 5268 },
2722
+  { -1376, -253, -2797, 3417 },
2723
+  { 3193, -2577, 2475, 3566 },
2724
+  { 3418, 617, 1350, 1857 },
2725
+  { 3792, -24, -272, 3370 },
2726
+  { 153, 1159, 2906, 2877 },
2727
+  { 511, 2162, 1548, 2741 },
2728
+  { 262, 819, -2791, 3734 },
2729
+  { 4232, -2015, 1486, 3477 },
2730
+  { 2943, -1110, -1014, 5480 },
2731
+  { 2842, 369, 703, 3476 },
2732
+  { 3011, 1634, -933, 3553 },
2733
+  { 4412, -1548, -942, 5021 },
2734
+  { -1405, 593, 2372, 5267 },
2735
+  { 2093, 2129, 896, 2365 },
2736
+  { 4845, -1980, 0, 3823 },
2737
+  { -2140, 81, 3278, 5637 },
2738
+  { 1484, 2665, -324, 3653 },
2739
+  { 10, 192, 1620, 5291 },
2740
+  { 2152, 738, -2269, 5000 },
2741
+  { 2102, 2748, -1652, 4707 },
2742
+  { 2855, -2131, -387, 5188 },
2743
+  { 1173, 676, 1338, 3277 },
2744
+  { 2340, -2329, -2064, 4095 },
2745
+  { 861, -2024, 1296, 5055 },
2746
+  { 2189, 3225, -695, 2626 },
2747
+  { 6196, -7079, 1943, -822 },
2748
+  { 4547, -4813, 3261, 1856 },
2749
+  { 4243, -6904, 3443, 448 },
2750
+  { 4581, -7503, 946, 506 },
2751
+  { 6626, -7754, 3427, 470 },
2752
+  { 3407, -9088, 3269, -1496 },
2753
+  { 4079, -6464, 2304, 777 },
2754
+  { 5621, -9336, 2684, -768 },
2755
+  { 5351, -6464, 5238, -214 },
2756
+  { 5961, -8007, 1724, -3091 },
2757
+  { 4213, -8067, 603, -246 },
2758
+  { 7208, -7403, 3168, -1738 },
2759
+  { 6098, -7700, 329, -1379 },
2760
+  { 6525, -6735, 4248, -1072 },
2761
+  { 6073, -6241, 2167, -2378 },
2762
+  { 4609, -9218, 3051, -1033 },
2763
+  { 6813, -7283, 1581, -1897 },
2764
+  { 6126, -6275, 2789, 681 },
2765
+  { 4423, -6538, 1621, -1692 },
2766
+  { 6272, -8298, 3167, -1855 },
2767
+  { 6172, -8558, 4498, -1169 },
2768
+  { 4844, -8588, 1647, -366 },
2769
+  { 6209, -8807, 1581, -369 },
2770
+  { 5389, -8059, 550, -192 },
2771
+  { 6654, -9775, 2504, -1063 },
2772
+  { 7103, -7998, 806, 530 },
2773
+  { 5662, -6736, 1565, -3620 },
2774
+  { 4165, -9564, 4191, -2131 },
2775
+  { 4526, -7181, 576, -2875 },
2776
+  { 4633, -8623, 2807, -4742 },
2777
+  { 3709, -7794, 1815, 34 },
2778
+  { 3634, -8622, 2313, -826 },
2779
+  { 6991, -8447, 2063, -3198 },
2780
+  { 7757, -9486, 2255, -558 },
2781
+  { 4149, -7778, 4728, -1696 },
2782
+  { 5767, -7427, 1113, 707 },
2783
+  { 4592, -6261, 2329, 1864 },
2784
+  { 3159, -10498, 1677, -4273 },
2785
+  { 3534, -9010, 2437, -3565 },
2786
+  { 4479, -10821, 2715, -4942 },
2787
+  { 3207, -9805, 3054, -3886 },
2788
+  { 4627, -8189, 3018, -2354 },
2789
+  { 5527, -10566, 3244, -2749 },
2790
+  { 4346, -10127, 3335, -3084 },
2791
+  { 6132, -10085, 3316, -1308 },
2792
+  { 5629, -9704, 2178, -3058 },
2793
+  { 3603, -8538, 1246, -624 },
2794
+  { 3737, -8488, 395, -3167 },
2795
+  { 5465, -11414, 2810, -4640 },
2796
+  { 5306, -7745, 2721, -3988 },
2797
+  { 7000, -9111, 1695, -1409 },
2798
+  { 6663, -7741, 2466, -4079 },
2799
+  { 4083, -7175, 1836, -4831 },
2800
+  { 3613, -9926, 1342, -3455 },
2801
+  { 6588, -8033, 457, -258 },
2802
+  { 4720, -8102, 17, -1209 },
2803
+  { 7414, -8709, 1294, -344 },
2804
+  { 5437, -10030, 4043, -1704 },
2805
+  { 4862, -9281, 1558, -1431 },
2806
+  { 6800, -6403, 5113, 862 },
2807
+  { 4623, -8242, 2667, -228 },
2808
+  { 5919, -5083, 3348, 2135 },
2809
+  { 5985, -8889, 2733, -5105 },
2810
+  { 5029, -5767, 4407, 719 },
2811
+  { 354, -6158, -838, -3001 },
2812
+  { 351, -5943, -2104, -1534 },
2813
+  { -633, -7190, -25, -4798 },
2814
+  { -1595, -7235, -3812, -1400 },
2815
+  { 103, -6197, -2933, -78 },
2816
+  { -1722, -5020, -3441, -4333 },
2817
+  { -1963, -5644, -4365, -270 },
2818
+  { -846, -5743, -3477, 196 },
2819
+  { -191, -5348, -4054, -469 },
2820
+  { -2515, -7754, -3495, -818 },
2821
+  { -2090, -6710, -2701, 117 },
2822
+  { -546, -7036, -1398, 163 },
2823
+  { -278, -7091, -2662, -536 },
2824
+  { -622, -7962, -2731, -1464 },
2825
+  { -1555, -8118, -3612, -2057 },
2826
+  { -1094, -6280, -2314, 505 },
2827
+  { -2556, -8538, -4024, -2247 },
2828
+  { 109, -7134, -3107, -1823 },
2829
+  { -900, -6954, -3340, -717 },
2830
+  { -605, -7113, -3656, -2154 },
2831
+  { 837, -6263, -3211, -2177 },
2832
+  { -417, -5810, -3871, -1469 },
2833
+  { -1318, -5649, -4207, -3198 },
2834
+  { 413, -6765, -2082, -33 },
2835
+  { -3101, -6450, -4362, -766 },
2836
+  { 755, -6489, -2967, -846 },
2837
+  { 1117, -7106, -2452, -1352 },
2838
+  { -1202, -8387, -3072, -2897 },
2839
+  { -365, -4894, -3561, -2937 },
2840
+  { -2372, -8776, -265, -4441 },
2841
+  { -1224, -8678, -896, -5074 },
2842
+  { -755, -10096, -600, -6623 },
2843
+  { 300, -8206, -225, -4568 },
2844
+  { -1176, -6824, -2633, -3527 },
2845
+  { -2006, -5443, -1526, -5849 },
2846
+  { -1115, -5540, -2363, -4785 },
2847
+  { 1059, -6812, -2543, -2654 },
2848
+  { -1976, -6861, -3062, -5508 },
2849
+  { -379, -5328, -2321, -3624 },
2850
+  { -2108, -5860, -4518, -1915 },
2851
+  { -379, -7885, -1329, -594 },
2852
+  { 774, -5389, -581, -5213 },
2853
+  { -2601, -5083, -1849, -4921 },
2854
+  { -176, -5580, 74, -5075 },
2855
+  { -204, -6780, -190, -6232 },
2856
+  { 418, -7594, -1987, -820 },
2857
+  { -1873, -8529, -2926, -1609 },
2858
+  { 1340, -6362, -919, -4975 },
2859
+  { 577, -7990, -2044, -1873 },
2860
+  { -2572, -7413, -1745, -2224 },
2861
+  { -2037, -7030, -1461, -7138 },
2862
+  { -2559, -8756, -2039, -5836 },
2863
+  { -2079, -6764, -1209, -5669 },
2864
+  { -1613, -7801, -2006, -685 },
2865
+  { -1865, -6583, -722, -3529 },
2866
+  { -589, -6358, -1377, -1003 },
2867
+  { -540, -7514, -1331, -3542 },
2868
+  { 419, -6192, -1677, -4927 },
2869
+  { -2786, -8763, -2966, -5065 },
2870
+  { -2172, -8411, -1726, -4675 },
2871
+  { -3382, -9833, -3497, -5722 },
2872
+  { -2433, -10169, -2077, -5775 },
2873
+  { -424, -9451, -1096, -3658 },
2874
+  { -537, -8522, -910, -1897 },
2875
+  { -5550, 2807, 1683, -693 },
2876
+  { -6395, 635, 3573, -1246 },
2877
+  { -7544, 2280, 2140, 44 },
2878
+  { -8751, 1136, 2951, -794 },
2879
+  { -5605, 2709, 2052, 916 },
2880
+  { -7650, 654, 869, 135 },
2881
+  { -6939, 967, 1409, 870 },
2882
+  { -7834, 2123, 3310, 974 },
2883
+  { -6935, 2818, 1274, -1678 },
2884
+  { -5605, 2233, 1013, 471 },
2885
+  { -7095, 1849, 1648, 198 },
2886
+  { -6636, 1634, 712, -37 },
2887
+  { -7279, 978, 296, -315 },
2888
+  { -7664, 3504, 3292, -216 },
2889
+  { -7836, 1209, 1221, -257 },
2890
+  { -7913, 2201, 1765, -1529 },
2891
+  { -7077, 3783, 2632, -1407 },
2892
+  { -5565, 1645, 1410, -622 },
2893
+  { -6494, 2879, 1181, -759 },
2894
+  { -7073, 3137, 3010, 550 },
2895
+  { -7249, 1839, 847, -805 },
2896
+  { -6630, 2197, 282, -1096 },
2897
+  { -8836, 1573, 1988, -1090 },
2898
+  { -7809, 1274, 836, -1198 },
2899
+  { -7895, 2970, 3511, -1097 },
2900
+  { -6960, 1664, 1356, -2442 },
2901
+  { -6582, 2866, 2273, 307 },
2902
+  { -7221, 821, 2851, -1435 },
2903
+  { -6015, 1703, 2001, -2367 },
2904
+  { -8082, 1034, 2103, 239 },
2905
+  { -5952, 1912, 301, -465 },
2906
+  { -6099, 841, 379, 567 },
2907
+  { -6343, 50, 494, 658 },
2908
+  { -6586, 983, 591, -893 },
2909
+  { -5500, 869, 2187, -2479 },
2910
+  { -6482, 60, 1545, -979 },
2911
+  { -6705, 515, 1974, -53 },
2912
+  { -6460, 1755, 1325, -1275 },
2913
+  { -6093, 2617, 2465, -623 },
2914
+  { -7330, 2161, 594, -2115 },
2915
+  { -7324, 762, 1593, -2004 },
2916
+  { -6385, 679, 1510, -2514 },
2917
+  { -6159, 241, 2976, -1631 },
2918
+  { -8583, 3030, 4045, -162 },
2919
+  { -6299, 66, 2209, -2103 },
2920
+  { -5428, 1279, 3267, -1846 },
2921
+  { -6438, 1335, 2728, -1631 },
2922
+  { -8012, 1070, 2428, -1151 },
2923
+  { -6201, 2781, 2349, -1918 },
2924
+  { -5918, 1139, 3121, -148 },
2925
+  { -6314, 2481, 3137, -1808 },
2926
+  { -7180, 1722, 2435, -1602 },
2927
+  { -6750, 1829, 3763, -1145 },
2928
+  { -6713, 1777, 2221, 1212 },
2929
+  { -7479, 1835, 3627, -479 },
2930
+  { -7299, 10, 2406, -1593 },
2931
+  { -8249, 3129, 996, -2870 },
2932
+  { -8374, 1534, 1333, -1882 },
2933
+  { -7507, 3353, 1598, -2299 },
2934
+  { -7379, 2701, 2326, -1167 },
2935
+  { -8440, 2276, 2796, -542 },
2936
+  { -10348, 1527, 2649, -1165 },
2937
+  { -8184, 3614, 2574, -1738 },
2938
+  { -5539, 1574, 1733, 1138 },
2939
+  { 9404, -7652, 67, 79 },
2940
+  { 8654, -3972, 1358, -60 },
2941
+  { 8617, -4794, 117, 2318 },
2942
+  { 7886, -4505, 1784, 1200 },
2943
+  { 8636, -6125, 3879, -1003 },
2944
+  { 9654, -6836, 1816, 205 },
2945
+  { 9374, -6553, 913, 1875 },
2946
+  { 8020, -6150, 1134, 2390 },
2947
+  { 7786, -4970, 2078, -1857 },
2948
+  { 8691, -6119, 711, 708 },
2949
+  { 9039, -5568, 2944, -1902 },
2950
+  { 9955, -5048, 1433, -601 },
2951
+  { 8089, -6927, 3093, -2846 },
2952
+  { 8487, -7024, 2415, 19 },
2953
+  { 9388, -5287, 3577, -2655 },
2954
+  { 8591, -7371, 2300, -996 },
2955
+  { 9104, -4763, 1453, -2558 },
2956
+  { 7615, -5457, 596, 164 },
2957
+  { 9860, -7047, 3433, -614 },
2958
+  { 8756, -4404, 2235, -964 },
2959
+  { 9462, -4660, 299, -1822 },
2960
+  { 10119, -5550, 2689, -1273 },
2961
+  { 10915, -7471, 2705, -1007 },
2962
+  { 11433, -7090, 1410, -1198 },
2963
+  { 9882, -7431, 2965, -1895 },
2964
+  { 7628, -5219, 769, -2661 },
2965
+  { 8169, -5318, 2262, 70 },
2966
+  { 8846, -6320, 1939, -754 },
2967
+  { 7147, -5593, 1248, -971 },
2968
+  { 10652, -5485, 935, 137 },
2969
+  { 7778, -6533, 2564, -1932 },
2970
+  { 8878, -5173, 1214, -361 },
2971
+  { 9828, -4943, 282, 510 },
2972
+  { 10042, -6134, 3895, -1914 },
2973
+  { 7965, -6630, 3566, -433 },
2974
+  { 8573, -4502, 3574, -1209 },
2975
+  { 8398, -4801, 1031, -1347 },
2976
+  { 10136, -7772, 2612, 1547 },
2977
+  { 9890, -7280, 1768, -1083 },
2978
+  { 8407, -6585, -706, -58 },
2979
+  { 7976, -7582, 229, -131 },
2980
+  { 10481, -8866, 1166, -147 },
2981
+  { 10914, -4342, 3189, -2412 },
2982
+  { 10440, -5198, -104, -1109 },
2983
+  { 11227, -6530, 2381, -2449 },
2984
+  { 8487, -8064, 1086, 230 },
2985
+  { 9975, -6123, -857, -134 },
2986
+  { 8339, -6498, 1232, -2337 },
2987
+  { 11042, -4506, 1119, -2098 },
2988
+  { 12563, -5592, 1837, -2062 },
2989
+  { 11801, -5590, 632, -1296 },
2990
+  { 10152, -5617, 1511, -1917 },
2991
+  { 7800, -6473, 51, -1337 },
2992
+  { 7941, -5560, 2438, -3270 },
2993
+  { 6554, -3834, 2100, 1476 },
2994
+  { 9065, -5520, -226, -1120 },
2995
+  { 10794, -7120, -243, 122 },
2996
+  { 10429, -6968, 272, -806 },
2997
+  { 8942, -8914, 1442, -392 },
2998
+  { 9969, -5051, 2033, -2953 },
2999
+  { 7275, -4152, 3058, -64 },
3000
+  { 11127, -5488, 4589, -3227 },
3001
+  { 9626, -6666, 2739, -2958 },
3002
+  { 6943, -5362, 4470, 1008 },
3003
+  { -7456, -967, 2936, -1002 },
3004
+  { -8622, -333, 6962, 2606 },
3005
+  { -7486, -3392, 3668, 1287 },
3006
+  { -8053, -827, 5148, 1097 },
3007
+  { -6610, 454, 4952, 96 },
3008
+  { -7701, -1982, 3161, -468 },
3009
+  { -7307, -1132, 4071, -36 },
3010
+  { -8125, -271, 5199, 3862 },
3011
+  { -9182, -1950, 2813, 1878 },
3012
+  { -9855, -952, 4794, 3010 },
3013
+  { -7241, 1431, 4202, 2468 },
3014
+  { -9646, 157, 4766, 1046 },
3015
+  { -9371, 1230, 6009, 2958 },
3016
+  { -11514, -64, 8630, 5248 },
3017
+  { -6766, 565, 2766, 2140 },
3018
+  { -8426, -9, 2852, 1271 },
3019
+  { -11291, -1113, 5087, 2937 },
3020
+  { -8297, 2092, 4495, 1264 },
3021
+  { -9983, 735, 3809, -51 },
3022
+  { -9048, -1000, 3191, -308 },
3023
+  { -7331, -1987, 2655, 1391 },
3024
+  { -7144, -21, 4333, 2161 },
3025
+  { -6032, -1540, 3543, 896 },
3026
+  { -7987, -1036, 1985, 1529 },
3027
+  { -9264, 2004, 5194, 290 },
3028
+  { -11308, -840, 5754, 1654 },
3029
+  { -9130, -2398, 4292, 2973 },
3030
+  { -6248, 838, 3563, 1223 },
3031
+  { -6819, -2760, 3511, 119 },
3032
+  { -7213, -2006, 4364, 762 },
3033
+  { -5431, -1047, 4533, 166 },
3034
+  { -7098, -641, 2021, 639 },
3035
+  { -8628, -2249, 3588, 399 },
3036
+  { -6352, -1498, 3560, -648 },
3037
+  { -7033, -2190, 4870, 2562 },
3038
+  { -7405, -46, 3772, -581 },
3039
+  { -6104, 796, 5143, 1965 },
3040
+  { -5787, 943, 5784, 3030 },
3041
+  { -8367, 1465, 7192, 4097 },
3042
+  { -8259, 789, 5694, 1963 },
3043
+  { -10614, -1899, 5748, 2645 },
3044
+  { -8258, -805, 3698, 2275 },
3045
+  { -6877, -972, 6431, 3160 },
3046
+  { -6483, 363, 7018, 3129 },
3047
+  { -6283, -1358, 5191, 1524 },
3048
+  { -8853, -3157, 4119, 1741 },
3049
+  { -6086, -267, 3883, -835 },
3050
+  { -7254, 1032, 6613, 4017 },
3051
+  { -11470, -3350, 4649, 3426 },
3052
+  { -6743, 481, 6148, 1239 },
3053
+  { -5394, -166, 5309, 3165 },
3054
+  { -7958, 1068, 4268, -240 },
3055
+  { -10520, 2256, 7916, 2828 },
3056
+  { -5132, -4, 5739, 1176 },
3057
+  { -8643, 120, 3255, -629 },
3058
+  { -9631, 1974, 8870, 4362 },
3059
+  { -10663, -1221, 3733, 589 },
3060
+  { -8224, -1843, 5806, 2655 },
3061
+  { -8282, 1255, 8647, 3478 },
3062
+  { -12311, -1505, 9043, 6256 },
3063
+  { -11312, -856, 7136, 4681 },
3064
+  { -11944, -722, 7941, 3309 },
3065
+  { -7868, -463, 6846, 4196 },
3066
+  { -8679, -241, 7410, 5347 },
3067
+  { 6759, -4680, -508, 1220 },
3068
+  { 5176, -6111, 944, 121 },
3069
+  { 6843, -5667, -1368, -533 },
3070
+  { 5616, -5884, -1471, -695 },
3071
+  { 6030, -5089, -1808, -940 },
3072
+  { 7444, -5463, -52, 1881 },
3073
+  { 4207, -6079, -506, 1571 },
3074
+  { 6785, -4410, -649, 3084 },
3075
+  { 4838, -5214, 2026, 2998 },
3076
+  { 4201, -5790, 645, 1811 },
3077
+  { 6930, -5129, -1940, 1698 },
3078
+  { 6332, -4627, 692, 3027 },
3079
+  { 6285, -4314, -106, 3644 },
3080
+  { 6255, -5450, -1975, 742 },
3081
+  { 4199, -4676, -459, 1796 },
3082
+  { 5592, -5500, 1345, 1300 },
3083
+  { 4358, -5556, -2236, 114 },
3084
+  { 4620, -5875, -1563, 888 },
3085
+  { 4892, -7550, -327, -419 },
3086
+  { 4734, -7085, 7, 613 },
3087
+  { 3883, -5562, -1969, 1080 },
3088
+  { 5610, -4990, -204, 834 },
3089
+  { 4117, -6482, -1271, 341 },
3090
+  { 6585, -5107, 892, 1169 },
3091
+  { 6632, -3683, 302, 3002 },
3092
+  { 6326, -5351, -983, -1250 },
3093
+  { 4382, -7192, -730, -158 },
3094
+  { 5227, -6540, -451, 1123 },
3095
+  { 5468, -6472, -870, -1471 },
3096
+  { 5191, -6402, -1365, -127 },
3097
+  { 7407, -6317, -973, -336 },
3098
+  { 4611, -6530, -820, -1980 },
3099
+  { 4963, -5159, -2050, -966 },
3100
+  { 4414, -5691, -211, -998 },
3101
+  { 5954, -5873, 750, -1749 },
3102
+  { 4394, -4796, -1268, 254 },
3103
+  { 7161, -6214, -1010, 689 },
3104
+  { 4965, -3598, 2372, 1711 },
3105
+  { 6248, -6180, 981, 864 },
3106
+  { 6473, -5336, 525, -600 },
3107
+  { 4591, -6864, -1131, -900 },
3108
+  { 6314, -6440, -1021, -375 },
3109
+  { 5838, -6209, -1199, 944 },
3110
+  { 5308, -5283, -2100, 1267 },
3111
+  { 4342, -5860, -1637, -1356 },
3112
+  { 5680, -4388, -1227, -104 },
3113
+  { 4900, -4098, 1449, 4046 },
3114
+  { 4677, -4284, -106, 3190 },
3115
+  { 7574, -6173, -848, 1859 },
3116
+  { 6493, -7207, -131, 726 },
3117
+  { 5513, -5261, -2117, 4 },
3118
+  { 6191, -7352, -193, -505 },
3119
+  { 5885, -4333, 324, -134 },
3120
+  { 6162, -6081, -312, -2044 },
3121
+  { 4216, -6200, -1810, -572 },
3122
+  { 5652, -7035, -696, -197 },
3123
+  { 7131, -7189, -366, -60 },
3124
+  { 5032, -4803, -1514, 2832 },
3125
+  { 7386, -4610, -606, 3489 },
3126
+  { 4211, -5031, 1221, 3047 },
3127
+  { 4050, -4653, 1584, 1469 },
3128
+  { 6852, -5302, -1861, 206 },
3129
+  { 7736, -4816, -1794, 3359 },
3130
+  { 6290, -3439, 1522, 2454 },
3131
+  { 1768, 5990, -5560, -2594 },
3132
+  { 3903, 5326, -1530, -1501 },
3133
+  { 2472, 3738, -2117, -4240 },
3134
+  { 3260, 5448, -904, -4733 },
3135
+  { 1435, 7297, -3676, -4102 },
3136
+  { 4096, 5951, -656, -3312 },
3137
+  { 2178, 6009, -3146, -3724 },
3138
+  { 3787, 5493, -5473, -1633 },
3139
+  { 2998, 7286, -3334, -3571 },
3140
+  { 2894, 6576, -4708, -2804 },
3141
+  { 830, 6163, -4286, -3348 },
3142
+  { 4755, 5569, -1730, -2739 },
3143
+  { 4604, 6065, -3562, -2605 },
3144
+  { 2749, 5141, -3986, -2775 },
3145
+  { 3942, 4875, -2143, -3340 },
3146
+  { 2819, 8517, -2004, -2724 },
3147
+  { 2146, 6298, -689, -3093 },
3148
+  { 5196, 6504, -3393, -1475 },
3149
+  { 1851, 8386, -1748, -1420 },
3150
+  { 3474, 8572, -3534, -2688 },
3151
+  { 4503, 7560, -3561, -2245 },
3152
+  { 4433, 6219, -2393, -1575 },
3153
+  { 3506, 7248, -2275, -1977 },
3154
+  { 3490, 7409, -3147, -604 },
3155
+  { 4214, 6447, -3520, 516 },
3156
+  { 619, 7034, -829, -1705 },
3157
+  { 1732, 7395, -356, -2208 },
3158
+  { 1226, 5204, -3294, -3732 },
3159
+  { 2027, 5619, -1813, -4146 },
3160
+  { 3078, 5877, 47, -2651 },
3161
+  { 1654, 5458, 424, -682 },
3162
+  { 3163, 5464, -2026, -270 },
3163
+  { 2884, 5375, -685, -530 },
3164
+  { 2950, 7286, -35, -2967 },
3165
+  { 1986, 5066, -597, 482 },
3166
+  { 3459, 4308, -3845, -2333 },
3167
+  { 3155, 7037, -1346, -4345 },
3168
+  { 2193, 6696, -717, -1319 },
3169
+  { 3677, 5089, -3892, -487 },
3170
+  { 2186, 5136, -4186, -1492 },
3171
+  { 773, 5796, -917, 817 },
3172
+  { 2489, 6546, -3570, -2117 },
3173
+  { 1223, 6469, -1362, -33 },
3174
+  { 271, 6061, -1466, -1725 },
3175
+  { 2540, 5171, -1847, 1032 },
3176
+  { 2548, 5251, -2697, 1677 },
3177
+  { 771, 7600, -768, -632 },
3178
+  { 4710, 6647, -4736, -1275 },
3179
+  { 1369, 5917, -2971, -1056 },
3180
+  { 163, 5239, -3499, -2275 },
3181
+  { 2104, 4285, -3211, -3286 },
3182
+  { 1107, 7411, -1972, -1671 },
3183
+  { 2196, 7262, -2310, -1926 },
3184
+  { -244, 6439, -1745, -839 },
3185
+  { 3293, 3832, -2890, -3000 },
3186
+  { 419, 6443, -379, -407 },
3187
+  { 3077, 4930, -1156, -2869 },
3188
+  { 2131, 5874, -2330, 224 },
3189
+  { 690, 6538, -2212, -2841 },
3190
+  { 1602, 4421, -2515, 1542 },
3191
+  { 3318, 9373, -3032, -3477 },
3192
+  { 5646, 7462, -5153, -1463 },
3193
+  { 4139, 7137, -1539, -3321 },
3194
+  { 3481, 9077, -1645, -3653 },
3195
+  { -7747, 375, -106, -543 },
3196
+  { -8587, -1379, -586, -461 },
3197
+  { -10146, -892, 2094, 694 },
3198
+  { -8103, 382, 504, -325 },
3199
+  { -8548, -92, 94, -656 },
3200
+  { -7460, 38, 152, 388 },
3201
+  { -8266, -271, -459, -883 },
3202
+  { -7935, -664, -1026, -802 },
3203
+  { -8341, -109, 853, 161 },
3204
+  { -8802, -1355, 1099, 630 },
3205
+  { -8957, -6, 1108, -669 },
3206
+  { -7260, -1520, -43, -407 },
3207
+  { -7555, -174, 668, -2562 },
3208
+  { -9014, -126, 227, -1191 },
3209
+  { -8184, 769, 290, -1375 },
3210
+  { -9476, 55, 962, -1528 },
3211
+  { -8679, 541, 755, -1030 },
3212
+  { -9842, -1626, 838, -1588 },
3213
+  { -8513, -702, 788, -1998 },
3214
+  { -10101, -1558, -366, -1841 },
3215
+  { -8135, 78, 1479, -1813 },
3216
+  { -9128, -454, 313, -1786 },
3217
+  { -7554, -1084, 831, -2442 },
3218
+  { -7576, -701, 2068, -1665 },
3219
+  { -7791, -1481, 1587, -1808 },
3220
+  { -6701, -596, -97, 802 },
3221
+  { -7418, -15, 684, -963 },
3222
+  { -7127, -477, -139, -426 },
3223
+  { -8097, -110, -36, -264 },
3224
+  { -7620, -1922, -590, -101 },
3225
+  { -7647, -1201, 279, 660 },
3226
+  { -7856, -1974, 758, -2271 },
3227
+  { -8496, -167, 2232, -1143 },
3228
+  { -8506, -1359, 624, -740 },
3229
+  { -7274, -1052, 1062, -139 },
3230
+  { -7800, -217, 91, -1794 },
3231
+  { -7030, -1694, -955, 615 },
3232
+  { -9020, -1864, 101, -2182 },
3233
+  { -9400, -740, 598, -667 },
3234
+  { -8448, -1184, 2024, -1272 },
3235
+  { -8812, -570, -897, -2384 },
3236
+  { -10559, -1286, 538, -1536 },
3237
+  { -8728, -888, -1089, -1397 },
3238
+  { -7080, -1185, 636, -1252 },
3239
+  { -9880, 233, 2344, -782 },
3240
+  { -7952, -1326, -378, -1947 },
3241
+  { -7207, -378, 1408, -2237 },
3242
+  { -8467, -1545, 902, -1987 },
3243
+  { -9163, -1474, 924, -1739 },
3244
+  { -8159, -992, -77, -2744 },
3245
+  { -8343, 148, -423, -1573 },
3246
+  { -9105, -649, -254, -1214 },
3247
+  { -8939, 456, 281, -1905 },
3248
+  { -8837, 179, -394, -2634 },
3249
+  { -9145, 757, 1547, -1319 },
3250
+  { -9775, -723, 441, -1680 },
3251
+  { -8910, -686, 1529, -1525 },
3252
+  { -9492, -1134, 2064, -938 },
3253
+  { -6111, -943, 677, -31 },
3254
+  { -7411, -613, -814, 46 },
3255
+  { -9479, -922, -430, -2061 },
3256
+  { -11298, -1268, 1318, -1117 },
3257
+  { -8190, 832, 671, -2214 },
3258
+  { -10453, -550, 1672, -886 },
3259
+  { 1044, 9353, -1651, -5423 },
3260
+  { 1034, 8149, -455, -6166 },
3261
+  { 761, 8293, -3214, -4838 },
3262
+  { 938, 8077, 164, -5130 },
3263
+  { 1295, 8673, 2582, -5490 },
3264
+  { -314, 7973, -2395, -5231 },
3265
+  { -507, 9012, -2497, -5775 },
3266
+  { 2396, 8314, -1022, -4673 },
3267
+  { -1516, 8501, 1950, -4969 },
3268
+  { -308, 7401, 1549, -4866 },
3269
+  { -112, 8340, 3003, -4920 },
3270
+  { -50, 9315, 1371, -5666 },
3271
+  { -659, 9449, 2496, -5547 },
3272
+  { 2573, 9148, -2270, -4783 },
3273
+  { 830, 7104, -438, -3907 },
3274
+  { 522, 10672, -677, -6483 },
3275
+  { -1190, 10108, -510, -6518 },
3276
+  { -427, 8271, -579, -6315 },
3277
+  { 1602, 8113, -1927, -4418 },
3278
+  { -2266, 8180, 448, -5190 },
3279
+  { -1633, 8816, -226, -5771 },
3280
+  { 759, 9481, -105, -5813 },
3281
+  { 2254, 6679, -466, -5662 },
3282
+  { -88, 6946, 895, -5958 },
3283
+  { -1705, 10009, 1394, -5574 },
3284
+  { 748, 7943, 540, -6692 },
3285
+  { 1411, 7009, 232, -6145 },
3286
+  { 697, 7290, -1221, -5342 },
3287
+  { -1764, 10580, 1944, -3981 },
3288
+  { -1334, 9124, 1195, -3903 },
3289
+  { -905, 10067, 635, -5039 },
3290
+  { 664, 10680, 49, -4625 },
3291
+  { 1374, 9536, -777, -3591 },
3292
+  { 252, 9698, -597, -2931 },
3293
+  { 824, 9164, -1014, -2144 },
3294
+  { 2438, 10569, -2289, -4424 },
3295
+  { 2101, 7102, 507, -3614 },
3296
+  { 294, 8051, -432, -1518 },
3297
+  { -665, 10337, 547, -2852 },
3298
+  { 1168, 11989, -492, -5427 },
3299
+  { 1344, 6416, 302, -5061 },
3300
+  { -1727, 12264, 1507, -4543 },
3301
+  { 674, 10889, -902, -3605 },
3302
+  { -582, 9504, 300, -3618 },
3303
+  { 641, 7654, 689, -2109 },
3304
+  { 2065, 9243, 508, -4367 },
3305
+  { 1055, 8373, 688, -3144 },
3306
+  { -641, 8185, 986, -3307 },
3307
+  { 1120, 7426, 1785, -3757 },
3308
+  { 1660, 8070, -593, -3104 },
3309
+  { 2002, 9467, -1722, -3475 },
3310
+  { 2361, 8368, 100, -3709 },
3311
+  { -772, 7845, -613, -4988 },
3312
+  { 1485, 7430, 1896, -6127 },
3313
+  { -432, 7823, -947, -2882 },
3314
+  { 313, 11122, -760, -4871 },
3315
+  { 412, 8412, -283, -4231 },
3316
+  { 1585, 10402, -1884, -3267 },
3317
+  { 321, 6952, 773, -3016 },
3318
+  { -105, 9014, 121, -2249 },
3319
+  { 1585, 10313, -977, -4812 },
3320
+  { 1619, 11869, 1306, -6876 },
3321
+  { -1168, 8886, -81, -2500 },
3322
+  { -395, 10886, 733, -6490 },
3323
+  { -4949, 4274, 3992, -1054 },
3324
+  { -4241, 5299, 4262, -1584 },
3325
+  { -2710, 3862, 4552, -1673 },
3326
+  { -4608, 2472, 3672, -1715 },
3327
+  { -2843, 2816, 4003, -2326 },
3328
+  { -5229, 2964, 5636, 90 },
3329
+  { -4924, 3442, 5015, -1096 },
3330
+  { -1281, 3313, 5537, -2066 },
3331
+  { -3808, 1939, 4351, -919 },
3332
+  { -1915, 2585, 4939, -1614 },
3333
+  { -3470, 1843, 5562, -682 },
3334
+  { -3800, 870, 5827, 144 },
3335
+  { -4985, 1452, 4728, -709 },
3336
+  { -3745, 2750, 7220, 259 },
3337
+  { -1875, 1900, 6514, -826 },
3338
+  { -4329, 1574, 7192, 1304 },
3339
+  { -5408, 1444, 6208, 631 },
3340
+  { -3327, 5312, 5707, -1541 },
3341
+  { -6966, 3334, 4034, 1028 },
3342
+  { -7484, 4245, 4218, -212 },
3343
+  { -6567, 5839, 4539, -512 },
3344
+  { -5715, 5935, 3747, -1186 },
3345
+  { -6410, 4881, 3356, -1610 },
3346
+  { -5146, 2590, 2850, 2172 },
3347
+  { -5196, 4095, 2569, -373 },
3348
+  { -5043, 6025, 4318, 692 },
3349
+  { -5525, 4884, 3513, 370 },
3350
+  { -6804, 7533, 5812, -488 },
3351
+  { -5657, 2480, 4061, 1234 },
3352
+  { -3155, 1472, 6071, 1188 },
3353
+  { -3427, 5217, 3442, 858 },
3354
+  { -4698, 3013, 5517, 2586 },
3355
+  { -4449, 2226, 5418, 3580 },
3356
+  { -6395, 3547, 5487, 2028 },
3357
+  { -3500, 5019, 4787, 1 },
3358
+  { -4038, 2578, 3073, 3151 },
3359
+  { -2750, 1955, 4469, 3856 },
3360
+  { -5696, 1659, 6118, 2469 },
3361
+  { -4350, 1241, 6840, 3126 },
3362
+  { -5565, 5058, 5196, 1314 },
3363
+  { -1642, 4190, 3948, 607 },
3364
+  { -1233, 4108, 4850, -640 },
3365
+  { -997, 3428, 3239, 1378 },
3366
+  { -6488, 2741, 6926, 2792 },
3367
+  { -4188, 3763, 4235, 2018 },
3368
+  { -3210, 3224, 5646, 1427 },
3369
+  { -5526, 6909, 5070, -627 },
3370
+  { -2815, 3994, 3425, 1903 },
3371
+  { -2163, 2734, 5423, 145 },
3372
+  { -4149, 4247, 2355, 734 },
3373
+  { -410, 2521, 4138, -16 },
3374
+  { -2411, 2385, 4927, 2105 },
3375
+  { -6077, 3591, 3114, 594 },
3376
+  { -4186, 4834, 5926, -1004 },
3377
+  { -7315, 3369, 5966, 448 },
3378
+  { -7042, 5721, 5771, 238 },
3379
+  { -4466, 3907, 3535, -1751 },
3380
+  { -2116, 3970, 6163, -1392 },
3381
+  { -7239, 2143, 8407, 3630 },
3382
+  { -5431, 4486, 6486, -42 },
3383
+  { -1874, 1617, 6333, 519 },
3384
+  { -6478, 2629, 4634, -505 },
3385
+  { -7784, 2342, 7216, 1365 },
3386
+  { -1154, 1432, 4831, 1544 },
3387
+  { -4964, -5801, 1797, 506 },
3388
+  { -4436, -6905, 1059, -1237 },
3389
+  { -5400, -6886, 884, -290 },
3390
+  { -6259, -7103, 523, -227 },
3391
+  { -4819, -6450, 1412, -450 },
3392
+  { -4056, -6213, 1725, -943 },
3393
+  { -5642, -6091, 1357, 605 },
3394
+  { -4196, -5678, 2187, -173 },
3395
+  { -4726, -5126, 2470, 321 },
3396
+  { -6642, -5091, 1507, -1005 },
3397
+  { -5304, -5250, 1944, 1579 },
3398
+  { -7179, -5520, 1468, -425 },
3399
+  { -6033, -4895, 1876, -955 },
3400
+  { -6595, -5143, 2207, 1291 },
3401
+  { -4224, -4943, 1846, 1792 },
3402
+  { -7128, -6950, 539, 724 },
3403
+  { -4369, -4901, 2590, 1103 },
3404
+  { -7413, -5696, 1712, 1440 },
3405
+  { -5885, -6821, 418, 871 },
3406
+  { -6828, -5599, 710, -1563 },
3407
+  { -6123, -5817, 1358, 1631 },
3408
+  { -5291, -5622, 578, 2138 },
3409
+  { -7171, -6004, 347, 2208 },
3410
+  { -6083, -5251, 2132, 425 },
3411
+  { -4329, -5721, 407, -2993 },
3412
+  { -5326, -5056, 1119, -1837 },
3413
+  { -5485, -5856, 185, -2389 },
3414
+  { -6529, -5178, 403, -697 },
3415
+  { -6719, -4412, 2726, 871 },
3416
+  { -5126, -5629, 1835, -771 },
3417
+  { -5622, -4361, 2973, 858 },
3418
+  { -5282, -5895, 45, -335 },
3419
+  { -4357, -5656, 1696, -1558 },
3420
+  { -7139, -6659, 627, -409 },
3421
+  { -4415, -6328, 35, 1306 },
3422
+  { -7639, -6110, 1134, 197 },
3423
+  { -3626, -5592, 2019, 901 },
3424
+  { -3547, -5064, 1176, 1738 },
3425
+  { -5075, -3899, 2087, 266 },
3426
+  { -4086, -6311, 1479, 360 },
3427
+  { -6210, -5220, -199, -1477 },
3428
+  { -3910, -5063, 1356, -15 },
3429
+  { -7616, -4977, 461, 2401 },
3430
+  { -6118, -6131, 1258, -563 },
3431
+  { -6127, -4968, 1286, -27 },
3432
+  { -4121, -5852, 1113, 1476 },
3433
+  { -5157, -4881, 1162, -662 },
3434
+  { -4637, -5031, 1179, 709 },
3435
+  { -5509, -5452, -397, 1224 },
3436
+  { -4597, -6861, 646, 467 },
3437
+  { -6247, -4043, 468, 278 },
3438
+  { -5336, -6465, 874, -1472 },
3439
+  { -6998, -6346, 78, -1798 },
3440
+  { -4915, -4530, 2756, -203 },
3441
+  { -6048, -4373, 1468, 1052 },
3442
+  { -4273, -7100, 942, -323 },
3443
+  { -6552, -4287, 2351, 69 },
3444
+  { -6954, -4613, 722, 1521 },
3445
+  { -4201, -5361, 763, -1562 },
3446
+  { -6881, -5596, -748, 669 },
3447
+  { -6695, -3547, -34, 1299 },
3448
+  { -3981, -5728, 84, 111 },
3449
+  { -4663, -4809, 2173, -1031 },
3450
+  { -6599, -6077, 1303, 256 },
3451
+  { -7596, -4265, -5791, -4140 },
3452
+  { -6610, -2758, -5288, -3936 },
3453
+  { -5880, -3865, -6563, -3088 },
3454
+  { -7228, -5510, -7677, -3912 },
3455
+  { -8854, -6553, -8318, -5361 },
3456
+  { -9362, -5249, -6413, -4319 },
3457
+  { -4418, -3110, -6368, -4358 },
3458
+  { -5544, -4203, -6863, -5013 },
3459
+  { -3056, -4316, -5567, -3181 },
3460
+  { -3078, -5999, -5051, -2657 },
3461
+  { -5884, -6292, -5756, -4013 },
3462
+  { -4825, -4549, -5535, -4053 },
3463
+  { -4443, -6126, -5316, -1368 },
3464
+  { -3972, -6341, -6098, -2686 },
3465
+  { -5751, -2781, -5398, -6230 },
3466
+  { -4466, -6135, -5570, -3679 },
3467
+  { -4291, -5992, -3564, -5189 },
3468
+  { -7189, -4429, -7279, -6082 },
3469
+  { -5076, -4433, -2748, -5366 },
3470
+  { -6225, -2825, -6833, -5663 },
3471
+  { -2989, -4792, -3960, -4492 },
3472
+  { -7836, -7773, -7722, -5741 },
3473
+  { -6559, -5703, -5844, -5589 },
3474
+  { -7612, -5438, -4136, -3774 },
3475
+  { -4218, -4176, -6591, -2333 },
3476
+  { -4837, -5063, -6581, 322 },
3477
+  { -6590, -5990, -2980, -3847 },
3478
+  { -5558, -2971, -5489, -1932 },
3479
+  { -7001, -5323, -4975, -1697 },
3480
+  { -4694, -2688, -6904, -3044 },
3481
+  { -8511, -5379, -5767, -2549 },
3482
+  { -7548, -5412, -6522, -2572 },
3483
+  { -6597, -4973, -6423, -1274 },
3484
+  { -6415, -4022, -5168, -1072 },
3485
+  { -5528, -5530, -7218, -2345 },
3486
+  { -4845, -4805, -5943, -1227 },
3487
+  { -6049, -7150, -6744, -2161 },
3488
+  { -9061, -7299, -8542, -4375 },
3489
+  { -5010, -5546, -5416, -82 },
3490
+  { -4135, -4205, -5109, -3373 },
3491
+  { -3311, -5869, -4007, -5061 },
3492
+  { -5993, -6472, -3962, -4718 },
3493
+  { -2966, -5832, -2821, -6305 },
3494
+  { -4851, -5152, -2067, -3930 },
3495
+  { -3620, -4441, -3362, -5836 },
3496
+  { -4469, -5221, -4534, -5592 },
3497
+  { -4022, -6335, -4321, -6107 },
3498
+  { -4899, -4503, -3084, -3725 },
3499
+  { -4490, -8276, -4620, -6236 },
3500
+  { -6591, -4342, -7365, -4063 },
3501
+  { -6498, -5057, -5553, 485 },
3502
+  { -6060, -2714, -7093, -4144 },
3503
+  { -6199, -7774, -7094, -4057 },
3504
+  { -7536, -6424, -6415, -4265 },
3505
+  { -7439, -2454, -6348, -4827 },
3506
+  { -5333, -7565, -4417, -4639 },
3507
+  { -4353, -7103, -4197, -2689 },
3508
+  { -5229, -6549, -5129, -6804 },
3509
+  { -6129, -7701, -5236, -4836 },
3510
+  { -6797, -3983, -3884, -4406 },
3511
+  { -6624, -4467, -4745, -5052 },
3512
+  { -3324, -7596, -2720, -6553 },
3513
+  { -5473, -6284, -1704, -4511 },
3514
+  { -4131, -7263, -3180, -5196 },
3515
+  { -7116, -5565, -3469, 685 },
3516
+  { -6002, -6021, -3858, 576 },
3517
+  { -3144, -8203, -1291, -434 },
3518
+  { -6096, -7027, -4004, 1353 },
3519
+  { -3943, -7709, -2344, -36 },
3520
+  { -4510, -6767, -2642, 631 },
3521
+  { -3657, -11541, -2570, -3984 },
3522
+  { -5959, -8854, -1333, -867 },
3523
+  { -6699, -8866, -1606, -344 },
3524
+  { -3836, -7961, -2334, -2028 },
3525
+  { -3430, -8045, -3037, -672 },
3526
+  { -3868, -9184, -3635, -1819 },
3527
+  { -4258, -9060, -2621, -1008 },
3528
+  { -3595, -8693, -2022, -752 },
3529
+  { -4573, -8048, -3166, -2622 },
3530
+  { -4852, -7903, -1405, 256 },
3531
+  { -4591, -7057, -1560, 965 },
3532
+  { -6963, -7655, -980, 808 },
3533
+  { -5179, -6641, -3356, 1196 },
3534
+  { -7102, -6941, -2798, 2123 },
3535
+  { -6867, -5834, -3320, -770 },
3536
+  { -5977, -7369, -2500, -778 },
3537
+  { -6160, -6400, -934, -2543 },
3538
+  { -6741, -7608, -355, -1289 },
3539
+  { -6856, -6466, -1433, -1643 },
3540
+  { -4786, -6292, -4970, 376 },
3541
+  { -5407, -8866, -2255, -400 },
3542
+  { -3814, -6506, -1387, -3620 },
3543
+  { -4998, -6137, -1200, -4092 },
3544
+  { -5123, -9557, -2849, -1306 },
3545
+  { -4259, -6444, -4395, -338 },
3546
+  { -5221, -6810, -883, 1225 },
3547
+  { -6137, -6215, -2165, 554 },
3548
+  { -3895, -6557, -3176, -1829 },
3549
+  { -3886, -8188, -87, -954 },
3550
+  { -7243, -6707, -2216, -316 },
3551
+  { -5592, -7606, 85, -432 },
3552
+  { -3957, -7945, -504, -144 },
3553
+  { -4617, -7624, 218, -312 },
3554
+  { -4797, -8737, -844, -1051 },
3555
+  { -4478, -8516, -1401, -454 },
3556
+  { -4557, -7058, -302, -2332 },
3557
+  { -6623, -7736, -271, -50 },
3558
+  { -3157, -7532, -1111, -2207 },
3559
+  { -3590, -7300, -1271, 517 },
3560
+  { -4442, -7306, -507, 590 },
3561
+  { -6458, -7524, -2807, 666 },
3562
+  { -4991, -8466, -3363, -785 },
3563
+  { -7474, -7541, -1056, -1839 },
3564
+  { -7501, -8316, -938, -180 },
3565
+  { -5329, -7739, -579, -2341 },
3566
+  { -4549, -7063, -176, -3539 },
3567
+  { -5191, -8612, -1504, -4250 },
3568
+  { -3083, -7058, -2251, 32 },
3569
+  { -4003, -7043, -1093, -791 },
3570
+  { -5523, -8093, -678, -114 },
3571
+  { -3022, -10265, -2070, -3109 },
3572
+  { -3905, -6274, -182, -3652 },
3573
+  { -3269, -9217, -551, -2650 },
3574
+  { -3138, -9314, -1726, -1704 },
3575
+  { -4420, -10339, -1744, -3459 },
3576
+  { -4163, -8609, -2298, -4113 },
3577
+  { -5566, -6505, -1241, -463 },
3578
+  { -3130, -9746, -2352, -4884 },
3579
+  { -7825, -3439, 1451, -1468 },
3580
+  { -8451, -3318, 2360, -435 },
3581
+  { -8462, -4130, 1438, -1024 },
3582
+  { -9425, -4564, 1328, -689 },
3583
+  { -11014, -3202, 2278, 2080 },
3584
+  { -8269, -2761, -146, -440 },
3585
+  { -7497, -2618, -166, 413 },
3586
+  { -8250, -3060, 522, -2133 },
3587
+  { -8365, -5366, 1347, -451 },
3588
+  { -8589, -3979, 2943, 714 },
3589
+  { -8111, -2572, 1272, -1748 },
3590
+  { -7830, -5193, 605, -1484 },
3591
+  { -8119, -4736, 2141, 256 },
3592
+  { -7724, -4769, 1463, -812 },
3593
+  { -7363, -3911, 2540, 4 },
3594
+  { -7974, -3397, 2363, 1366 },
3595
+  { -7359, -4204, 1752, -958 },
3596
+  { -7622, -3505, 660, 916 },
3597
+  { -9934, -3665, 3165, 828 },
3598
+  { -8721, -4162, 62, 1718 },
3599
+  { -9433, -4768, 2722, 1234 },
3600
+  { -7960, -4496, 138, 1528 },
3601
+  { -8198, -3454, -443, 631 },
3602
+  { -7756, -2246, 655, 1137 },
3603
+  { -8841, -3145, 1113, 829 },
3604
+  { -7817, -3298, 1251, 230 },
3605
+  { -9413, -2733, 323, -1862 },
3606
+  { -9408, -4168, 1270, 1549 },
3607
+  { -9037, -3892, -942, 283 },
3608
+  { -8255, -3849, 1301, 1762 },
3609
+  { -9057, -3987, -41, -682 },
3610
+  { -9441, -4187, 2019, -111 },
3611
+  { -9740, -3178, 1602, -871 },
3612
+  { -8344, -2474, 1461, 1506 },
3613
+  { -9752, -2925, 1996, 1243 },
3614
+  { -9199, -3796, 180, 537 },
3615
+  { -9060, -2405, 1140, -1562 },
3616
+  { -9348, -2376, 309, -162 },
3617
+  { -10786, -3182, -5, -1500 },
3618
+  { -8142, -4540, -434, -826 },
3619
+  { -7528, -2341, 1104, -73 },
3620
+  { -9360, -2658, 3062, 56 },
3621
+  { -8267, -2335, 2000, -1193 },
3622
+  { -12169, -3154, 1287, -640 },
3623
+  { -11398, -2120, 946, -1163 },
3624
+  { -8940, -4559, 328, -1696 },
3625
+  { -11025, -4213, 2813, 840 },
3626
+  { -9224, -3581, 2224, 2039 },
3627
+  { -8943, -3337, 1248, -1298 },
3628
+  { -7900, -4042, 485, -2080 },
3629
+  { -9221, -1947, 2191, -880 },
3630
+  { -10762, -1800, 2516, -324 },
3631
+  { -10095, -2238, 981, -1335 },
3632
+  { -11908, -2808, 3255, 645 },
3633
+  { -10640, -4105, 1283, -595 },
3634
+  { -7663, -2863, 2467, -797 },
3635
+  { -10712, -3854, 3710, 1538 },
3636
+  { -10823, -2893, 1408, -801 },
3637
+  { -9874, -3832, 256, -1638 },
3638
+  { -10394, -3391, 2315, -94 },
3639
+  { -11525, -4079, 4153, 2122 },
3640
+  { -9546, -2088, 1541, 481 },
3641
+  { -8731, -2433, 1042, 2160 },
3642
+  { -7852, -3977, -1370, 1677 },
3643
+  { 7072, -3420, 1398, -1741 },
3644
+  { 6180, -1976, 1280, -3557 },
3645
+  { 7692, -1793, 2844, -1700 },
3646
+  { 8363, -1773, 3104, -2679 },
3647
+  { 9213, -3266, 3756, -3542 },
3648
+  { 9650, -2644, 1426, -1318 },
3649
+  { 7712, -2796, 3686, -1975 },
3650
+  { 7316, -3517, 2821, -622 },
3651
+  { 7434, -2594, 2305, -2264 },
3652
+  { 7237, -1797, 255, -3114 },
3653
+  { 8663, -1983, 1338, -3056 },
3654
+  { 6616, -952, 4059, -2652 },
3655
+  { 8823, -1327, 1362, -1356 },
3656
+  { 9938, -1722, 1287, -2362 },
3657
+  { 7207, -1057, 1913, -1315 },
3658
+  { 7508, -1585, 870, -1982 },
3659
+  { 8217, -3680, 1417, -3170 },
3660
+  { 8329, -2541, 1684, -585 },
3661
+  { 8062, -2335, 252, -2800 },
3662
+  { 8204, -4108, 3097, -2569 },
3663
+  { 7701, -3367, 576, -3008 },
3664
+  { 7350, -786, 2414, -2129 },
3665
+  { 6948, -2568, 1607, -225 },
3666
+  { 7684, -2387, 1308, -3449 },
3667
+  { 8306, -3458, 2394, -1454 },
3668
+  { 8438, -2781, 1043, -1362 },
3669
+  { 9175, -2076, 2144, -1987 },
3670
+  { 8347, -2709, 3489, -4301 },
3671
+  { 5696, -2377, 2870, 851 },
3672
+  { 8825, -1243, 2219, -2603 },
3673
+  { 8801, -1614, 584, -2513 },
3674
+  { 8413, -384, 1421, -2244 },
3675
+  { 9228, -3050, 3279, -2164 },
3676
+  { 6342, -2698, 3547, -107 },
3677
+  { 10053, -2476, 2837, -3168 },
3678
+  { 7439, -604, 3177, -3991 },
3679
+  { 7749, -1064, 4329, -4855 },
3680
+  { 8655, -2177, 2252, -3519 },
3681
+  { 8490, -228, 1958, -3233 },
3682
+  { 10513, -2968, 1911, -2340 },
3683
+  { 8146, -862, 1884, -1723 },
3684
+  { 7788, -666, 3004, -2891 },
3685
+  { 7785, -1620, 4133, -3417 },
3686
+  { 10262, -3731, 3455, -2971 },
3687
+  { 8570, -905, 4519, -4649 },
3688
+  { 9129, -2562, 463, -2465 },
3689
+  { 9451, -3587, 1904, -3056 },
3690
+  { 6549, -2236, 3010, -4523 },
3691
+  { 7175, -2684, 2967, -3458 },
3692
+  { 9872, -3278, 1054, -2472 },
3693
+  { 9153, -931, 1217, -2565 },
3694
+  { 8789, -3469, 753, -2568 },
3695
+  { 6683, -3791, 1797, -3968 },
3696
+  { 6801, -1977, 2311, -452 },
3697
+  { 6336, -1572, 2612, -3264 },
3698
+  { 7996, -1008, 730, -2964 },
3699
+  { 7521, -1059, 1573, -3694 },
3700
+  { 8148, -3973, 2600, -3572 },
3701
+  { 7765, -1532, 2528, -3856 },
3702
+  { 7404, -3918, 4472, -143 },
3703
+  { 8894, -1398, 3299, -3685 },
3704
+  { 5768, -2041, 1487, -637 },
3705
+  { 5131, -2865, 2463, -811 },
3706
+  { 6439, -1568, 3500, -1550 },
3707
+  { -8878, -6798, -5319, -1452 },
3708
+  { -6332, -9713, -3112, -990 },
3709
+  { -8444, -6316, -3694, -687 },
3710
+  { -6123, -10840, -3637, -4358 },
3711
+  { -4784, -9580, -4577, -2581 },
3712
+  { -6108, -10515, -4859, -2524 },
3713
+  { -7605, -7518, -2327, -2797 },
3714
+  { -9662, -8775, -2467, -2010 },
3715
+  { -6494, -7523, -4715, -118 },
3716
+  { -8290, -8982, -1672, -317 },
3717
+  { -8798, -11051, -3888, -1426 },
3718
+  { -6273, -6623, -6791, -142 },
3719
+  { -8313, -7668, -2141, -1275 },
3720
+  { -6453, -8412, -3589, -4102 },
3721
+  { -6747, -7750, -5690, -2498 },
3722
+  { -7814, -6693, -3174, -2446 },
3723
+  { -10383, -10130, -3931, -2364 },
3724
+  { -10606, -8467, -5539, -2772 },
3725
+  { -9475, -6671, -3305, -2271 },
3726
+  { -8982, -9457, -5635, -4005 },
3727
+  { -10111, -7965, -6515, -4180 },
3728
+  { -7301, -6479, -5364, 720 },
3729
+  { -9543, -8999, -7921, -912 },
3730
+  { -9534, -8562, -3469, -384 },
3731
+  { -7601, -10344, -3205, -1127 },
3732
+  { -8088, -8620, -4954, -2888 },
3733
+  { -8202, -8406, -7038, -3775 },
3734
+  { -7312, -8324, -3334, -1775 },
3735
+  { -8566, -9262, -8071, -4174 },
3736
+  { -7068, -11300, -5573, -2907 },
3737
+  { -8295, -8952, -4366, -1544 },
3738
+  { -11104, -10210, -2285, -384 },
3739
+  { -5213, -7520, -5008, -1339 },
3740
+  { -5889, -7940, -5987, -1385 },
3741
+  { -10816, -8201, -4153, -1485 },
3742
+  { -10277, -8919, -6315, -1652 },
3743
+  { -5888, -10320, -3821, -1733 },
3744
+  { -10497, -7181, -6083, -3032 },
3745
+  { -7721, -9724, -6591, -5336 },
3746
+  { -5688, -7894, -3486, -2552 },
3747
+  { -10014, -10500, -3247, -820 },
3748
+  { -6301, -8765, -4506, -2923 },
3749
+  { -8261, -7847, -6213, -1552 },
3750
+  { -10212, -7481, -8113, -3954 },
3751
+  { -6938, -10874, -6074, -4703 },
3752
+  { -7183, -10968, -4446, -1773 },
3753
+  { -7120, -9193, -1966, -2509 },
3754
+  { -6234, -9263, -2313, -4284 },
3755
+  { -8503, -9857, -2429, -608 },
3756
+  { -9372, -7844, -8391, -2120 },
3757
+  { -7951, -7157, -6535, -11 },
3758
+  { -7256, -9473, -2172, -660 },
3759
+  { -10063, -9612, -2515, -15 },
3760
+  { -6684, -9134, -6109, -4206 },
3761
+  { -8204, -11932, -5220, -2306 },
3762
+  { -9710, -6706, -4115, -3275 },
3763
+  { -6855, -7078, -2409, -4447 },
3764
+  { -7344, -7673, -4479, -4116 },
3765
+  { -8851, -6842, -4927, -2948 },
3766
+  { -8927, -10452, -5633, -2194 },
3767
+  { -8627, -9002, -7176, -1575 },
3768
+  { -8209, -9722, -7021, -3324 },
3769
+  { -3770, -10249, -3623, -4816 },
3770
+  { -8183, -7465, -4090, 646 },
3771
+  { -8163, -7149, 200, 498 },
3772
+  { -8289, -6266, 686, -206 },
3773
+  { -10030, -6241, -1032, -1864 },
3774
+  { -8793, -8327, -773, -169 },
3775
+  { -9149, -6215, 969, -15 },
3776
+  { -8303, -5859, -7, 2006 },
3777
+  { -9682, -7283, 255, 1322 },
3778
+  { -9293, -7227, 71, -231 },
3779
+  { -8525, -6215, 287, -837 },
3780
+  { -10477, -5379, 1159, 1449 },
3781
+  { -10726, -7856, -130, 102 },
3782
+  { -8694, -7461, -1210, 690 },
3783
+  { -9367, -5324, 1103, 3170 },
3784
+  { -10686, -8055, -831, 1633 },
3785
+  { -9201, -6873, -2704, 2258 },
3786
+  { -8421, -5358, -1405, 226 },
3787
+  { -9066, -5830, -307, -1571 },
3788
+  { -11150, -7381, -2746, -900 },
3789
+  { -9978, -5925, -2006, -437 },
3790
+  { -9464, -4741, -273, 1061 },
3791
+  { -10543, -6684, -1113, 1660 },
3792
+  { -10073, -5576, 1083, -269 },
3793
+  { -8826, -5763, 1600, 1486 },
3794
+  { -10445, -9071, -1253, -64 },
3795
+  { -12085, -5799, 2, 769 },
3796
+  { -12939, -6663, 1650, 1437 },
3797
+  { -10932, -6434, -1252, -649 },
3798
+  { -11650, -7826, -2053, 710 },
3799
+  { -12122, -6733, -1889, -731 },
3800
+  { -9093, -6095, -2463, -842 },
3801
+  { -10977, -4364, 469, 420 },
3802
+  { -11488, -6908, -521, 893 },
3803
+  { -9669, -5478, -842, 337 },
3804
+  { -10606, -5203, -632, -1361 },
3805
+  { -10198, -6284, 1662, 1277 },
3806
+  { -10135, -5292, 2435, 3493 },
3807
+  { -11027, -6561, 655, 56 },
3808
+  { -10977, -5030, 1127, -358 },
3809
+  { -12766, -3986, 1348, -335 },
3810
+  { -14244, -7731, 264, 317 },
3811
+  { -15124, -10309, -508, 1447 },
3812
+  { -12821, -8638, -608, 137 },
3813
+  { -13076, -8693, -2852, -431 },
3814
+  { -11156, -5546, -2252, -1600 },
3815
+  { -8692, -7366, -819, -1223 },
3816
+  { -12507, -9816, -1714, -121 },
3817
+  { -10712, -6666, 544, 3349 },
3818
+  { -12462, -5890, -2491, -2318 },
3819
+  { -12468, -7226, 437, 232 },
3820
+  { -11300, -5226, 2068, 687 },
3821
+  { -11994, -8320, -626, 2728 },
3822
+  { -12222, -5476, 1142, 18 },
3823
+  { -10277, -8122, -2418, 2003 },
3824
+  { -13418, -6115, -3563, -2802 },
3825
+  { -14759, -9834, -1243, 21 },
3826
+  { -13699, -5665, 1525, 507 },
3827
+  { -16269, -9476, -701, 163 },
3828
+  { -12677, -5437, -247, -1019 },
3829
+  { -11827, -4295, -181, -1243 },
3830
+  { -12847, -4496, 2984, 1123 },
3831
+  { -13860, -7915, -1166, -547 },
3832
+  { -12276, -8145, -2290, -1527 },
3833
+  { -11417, -4830, 2983, 1854 },
3834
+  { -11793, -6002, 1163, 1940 },
3835
+  { 11443, -4920, -3235, 3151 },
3836
+  { 11300, -6616, -1506, 1175 },
3837
+  { 9198, -4628, -2060, 2390 },
3838
+  { 10532, -4027, -643, 912 },
3839
+  { 9902, -3573, -1606, 1327 },
3840
+  { 9653, -3536, -2240, 1869 },
3841
+  { 9948, -5171, -423, 2662 },
3842
+  { 12316, -4004, -1989, 281 },
3843
+  { 12125, -4800, -1265, -163 },
3844
+  { 10650, -2617, -2337, 1462 },
3845
+  { 9909, -4968, -2376, 916 },
3846
+  { 12944, -4647, -1958, 460 },
3847
+  { 12988, -5283, -1141, 41 },
3848
+  { 12321, -2915, -3621, 1025 },
3849
+  { 11449, -2894, -2728, 351 },
3850
+  { 12087, -3041, -2002, -32 },
3851
+  { 11558, -4031, -1343, -399 },
3852
+  { 12983, -3740, -3516, 1245 },
3853
+  { 12099, -2515, -2752, 225 },
3854
+  { 12515, -3465, -2701, 550 },
3855
+  { 14683, -5022, -5272, 2996 },
3856
+  { 12260, -3383, -1215, -528 },
3857
+  { 13810, -5422, -2443, 1166 },
3858
+  { 13421, -5378, -1886, 721 },
3859
+  { 12961, -4259, -2594, 796 },
3860
+  { 12266, -2104, -4768, 1591 },
3861
+  { 13523, -4710, -3045, 1342 },
3862
+  { 12437, -2099, -5610, 2117 },
3863
+  { 11850, -2183, -3497, 661 },
3864
+  { 12275, -3936, -597, -697 },
3865
+  { 12459, -5253, -517, -544 },
3866
+  { 12835, -4094, -1322, -168 },
3867
+  { 14360, -5677, -3305, 1859 },
3868
+  { 13905, -4552, -4309, 2117 },
3869
+  { 11559, -3412, -1847, -81 },
3870
+  { 13379, -3167, -5764, 2746 },
3871
+  { 11910, -1634, -4342, 1052 },
3872
+  { 12662, -4742, 71, -974 },
3873
+  { 13057, -3254, -4424, 1705 },
3874
+  { 15046, -5706, -4851, 3019 },
3875
+  { 14162, -4142, -5514, 2843 },
3876
+  { 12764, -1845, -6684, 2888 },
3877
+  { 13714, -2374, -7838, 3857 },
3878
+  { 13295, -1663, -8293, 4073 },
3879
+  { 10032, -4152, -3403, 1421 },
3880
+  { 10942, -5386, -2222, 950 },
3881
+  { 10532, -6385, -1750, 1925 },
3882
+  { 10273, -5972, -1534, 643 },
3883
+  { 10605, -4782, -1695, 27 },
3884
+  { 10988, -5153, -1123, -341 },
3885
+  { 11629, -5884, -1060, 48 },
3886
+  { 10441, -4045, -2431, 311 },
3887
+  { 10788, -3595, -4171, 1807 },
3888
+  { 12110, -5686, -2127, 976 },
3889
+  { 11746, -4773, -2639, 891 },
3890
+  { 11541, -5299, -3031, 1732 },
3891
+  { 11416, -2559, -5359, 2198 },
3892
+  { 11583, -5376, -704, 677 },
3893
+  { 10416, -3214, -3516, 872 },
3894
+  { 9651, -5435, -1618, 3255 },
3895
+  { 9973, -5133, -996, 3923 },
3896
+  { 11707, -4643, -430, -796 },
3897
+  { 10994, -2709, -3587, 2302 },
3898
+  { 10716, -5118, -645, 270 },
3899
+  { 14100, -10314, 1095, 1531 },
3900
+  { 12944, -8049, 1105, -741 },
3901
+  { 13276, -7035, -511, 274 },
3902
+  { 14008, -7254, -283, 139 },
3903
+  { 11594, -6536, -91, 1671 },
3904
+  { 11732, -8645, 746, 15 },
3905
+  { 14613, -7085, -1578, 1183 },
3906
+  { 13083, -6224, -750, -4 },
3907
+  { 13988, -6256, -1592, 820 },
3908
+  { 14678, -8683, 441, 126 },
3909
+  { 15571, -8872, -521, 1139 },
3910
+  { 15642, -9533, 341, 697 },
3911
+  { 15960, -9586, -168, 1121 },
3912
+  { 15464, -10239, 1433, -1 },
3913
+  { 14934, -7887, -1046, 1080 },
3914
+  { 15252, -7630, -1899, 1628 },
3915
+  { 15485, -8384, -1234, 1484 },
3916
+  { 15962, -8638, -1815, 1931 },
3917
+  { 16501, -10664, 398, 1167 },
3918
+  { 16146, -10145, 411, 918 },
3919
+  { 14573, -7475, -697, 601 },
3920
+  { 14302, -7996, 28, 257 },
3921
+  { 14769, -6792, -2286, 1574 },
3922
+  { 14144, -6137, -2169, 1257 },
3923
+  { 14770, -6271, -3111, 1933 },
3924
+  { 14110, -8312, 1083, -531 },
3925
+  { 15235, -6991, -2993, 2174 },
3926
+  { 13222, -5805, 547, -891 },
3927
+  { 14796, -8762, 1254, -246 },
3928
+  { 16040, -9181, -1005, 1551 },
3929
+  { 16487, -10086, -373, 1420 },
3930
+  { 15077, -9479, 966, 51 },
3931
+  { 13026, -6468, 932, -1080 },
3932
+  { 12703, -6152, -33, -573 },
3933
+  { 15641, -6810, -4128, 2874 },
3934
+  { 13282, -7673, 1583, -1283 },
3935
+  { 12373, -7150, 1512, -917 },
3936
+  { 12992, -7751, -678, 783 },
3937
+  { 10907, -6858, -313, 2597 },
3938
+  { 13026, -8963, 125, 2152 },
3939
+  { 12770, -9946, 1957, -505 },
3940
+  { 12482, -6849, -1268, 833 },
3941
+  { 13790, -6181, -138, -279 },
3942
+  { 12709, -8382, 2044, 227 },
3943
+  { 12244, -6630, 203, -457 },
3944
+  { 14209, -6816, -1032, 632 },
3945
+  { 15134, -8267, -288, 640 },
3946
+  { 13619, -6157, -1090, 356 },
3947
+  { 14044, -7413, 725, -484 },
3948
+  { 12958, -7753, 2585, -1980 },
3949
+  { 13188, -8396, 2306, -1558 },
3950
+  { 14379, -9980, 2132, -688 },
3951
+  { 14275, -9857, 1162, 179 },
3952
+  { 13690, -8648, 1621, -889 },
3953
+  { 11770, -6829, -746, 278 },
3954
+  { 12732, -8202, 286, 90 },
3955
+  { 13630, -10146, 1867, -207 },
3956
+  { 12072, -8740, 1299, -645 },
3957
+  { 12852, -9492, 1226, 62 },
3958
+  { 11792, -7382, -54, -116 },
3959
+  { 13779, -9014, 487, 351 },
3960
+  { 11951, -7729, 121, 834 },
3961
+  { 11970, -9781, 2276, -4 },
3962
+  { 12680, -7984, 2787, -787 },
3963
+  { 13300, -14488, 6408, -1927 },
3964
+  { 13635, -15355, 9153, -3073 },
3965
+  { 12804, -13566, 5517, -1625 },
3966
+  { 16624, -10854, 1690, 28 },
3967
+  { 20387, -18532, 6162, -261 },
3968
+  { 16515, -12642, 3392, -519 },
3969
+  { 15800, -11095, 2151, -202 },
3970
+  { 16824, -11790, 1651, 599 },
3971
+  { 17604, -13213, 2563, 538 },
3972
+  { 17892, -14177, 3562, 147 },
3973
+  { 16987, -11399, 869, 1052 },
3974
+  { 17003, -12456, 2442, 265 },
3975
+  { 21657, -21806, 9198, -1250 },
3976
+  { 16825, -13341, 3980, -686 },
3977
+  { 17525, -12714, 1887, 805 },
3978
+  { 16419, -11034, 1216, 617 },
3979
+  { 20931, -19939, 7469, -684 },
3980
+  { 18452, -15390, 4573, -191 },
3981
+  { 14778, -10077, 2841, -1209 },
3982
+  { 17402, -13319, 3042, 160 },
3983
+  { 19365, -17922, 7087, -1061 },
3984
+  { 16298, -11941, 2810, -351 },
3985
+  { 19087, -16176, 4775, -84 },
3986
+  { 17666, -12289, 938, 1224 },
3987
+  { 18581, -15894, 5132, -430 },
3988
+  { 19823, -16717, 4142, 545 },
3989
+  { 19960, -19423, 8400, -1492 },
3990
+  { 18973, -16817, 5906, -594 },
3991
+  { 19079, -15431, 3528, 503 },
3992
+  { 16667, -12485, 4467, -1302 },
3993
+  { 19791, -17797, 6196, -529 },
3994
+  { 20005, -17606, 5354, -20 },
3995
+  { 20123, -18599, 6886, -728 },
3996
+  { 19068, -14805, 2394, 1105 },
3997
+  { 14443, -13723, 5631, -2029 },
3998
+  { 14730, -14231, 5631, -1450 },
3999
+  { 16089, -15959, 7271, -2029 },
4000
+  { 13473, -11200, 3236, -924 },
4001
+  { 14413, -10902, 2347, -267 },
4002
+  { 17666, -18662, 11381, -3496 },
4003
+  { 14749, -11042, 3305, -275 },
4004
+  { 15304, -10486, 1869, -240 },
4005
+  { 14809, -12126, 3369, -616 },
4006
+  { 16896, -16561, 7307, -1845 },
4007
+  { 15782, -14336, 5380, -1264 },
4008
+  { 16395, -15520, 6415, -1588 },
4009
+  { 13681, -11114, 2584, -320 },
4010
+  { 14244, -12326, 4480, -1632 },
4011
+  { 15247, -13119, 4265, -898 },
4012
+  { 13987, -12091, 3469, -597 },
4013
+  { 13941, -12770, 4240, -839 },
4014
+  { 13771, -13627, 5252, -1384 },
4015
+  { 15010, -16074, 7592, -2249 },
4016
+  { 15852, -17226, 8619, -2655 },
4017
+  { 18921, -16916, 6875, -1501 },
4018
+  { 14909, -11678, 2768, -295 },
4019
+  { 18988, -18353, 8424, -2070 },
4020
+  { 15457, -15080, 6218, -1513 },
4021
+  { 14916, -15512, 6949, -1883 },
4022
+  { 18108, -14702, 4681, -701 },
4023
+  { 17600, -15733, 5616, -775 },
4024
+  { 14070, -13683, 6472, -2626 },
4025
+  { 13832, -11914, 5201, -2232 },
4026
+  { 18846, -19009, 9192, -1961 },
4027
+  { -11981, -10994, -6324, -2264 },
4028
+  { -10976, -9047, -6546, -3828 },
4029
+  { -11288, -10532, -7014, -4191 },
4030
+  { -10139, -10189, -7799, -2688 },
4031
+  { -10555, -9988, -9181, -2040 },
4032
+  { -11596, -11339, -10022, -2707 },
4033
+  { -13400, -13395, -11306, -4206 },
4034
+  { -9774, -12281, -7466, -4133 },
4035
+  { -10842, -13125, -8777, -4956 },
4036
+  { -11964, -15082, -9779, -5095 },
4037
+  { -9382, -10188, -9053, -4927 },
4038
+  { -11562, -11296, -3651, -985 },
4039
+  { -9287, -10083, -7918, -4069 },
4040
+  { -12821, -16556, -11410, -6195 },
4041
+  { -12628, -8959, -4521, -1113 },
4042
+  { -13845, -11581, -3649, -681 },
4043
+  { -12685, -10269, -5483, -1275 },
4044
+  { -14988, -12874, -5107, -1189 },
4045
+  { -13761, -11367, -6202, -1804 },
4046
+  { -13225, -11249, -7820, -3354 },
4047
+  { -14809, -11992, -3202, -312 },
4048
+  { -15620, -15519, -10210, -3433 },
4049
+  { -12954, -10200, -3139, -611 },
4050
+  { -11536, -9981, -5284, -923 },
4051
+  { -13034, -12417, -4612, -1098 },
4052
+  { -16911, -15505, -6123, -1352 },
4053
+  { -17396, -17685, -8330, -2171 },
4054
+  { -14120, -10764, -2265, -99 },
4055
+  { -12598, -7367, -5406, -3530 },
4056
+  { -14143, -12793, -10909, -5226 },
4057
+  { -14692, -16871, -11626, -5554 },
4058
+  { -12581, -11197, -9194, -3837 },
4059
+  { -16752, -16726, -9746, -2808 },
4060
+  { -10600, -10358, -6560, -1227 },
4061
+  { -14573, -13312, -8957, -3393 },
4062
+  { -10172, -8463, -8579, -3387 },
4063
+  { -11418, -12421, -5522, -1842 },
4064
+  { -11855, -14204, -6669, -2625 },
4065
+  { -13308, -8191, -3941, -2194 },
4066
+  { -10007, -12266, -5022, -1811 },
4067
+  { -13532, -15771, -9497, -3175 },
4068
+  { -11760, -11148, -10339, -5529 },
4069
+  { -12149, -12763, -11198, -3697 },
4070
+  { -12029, -12119, -8555, -1792 },
4071
+  { -16995, -19957, -11447, -3471 },
4072
+  { -13144, -14504, -9988, -3191 },
4073
+  { -9938, -11064, -6139, -3162 },
4074
+  { -8873, -11550, -8294, -6550 },
4075
+  { -9303, -13010, -6150, -2711 },
4076
+  { -15463, -10469, -1766, -170 },
4077
+  { -15985, -11693, -3007, -650 },
4078
+  { -17142, -10671, -1434, 47 },
4079
+  { -16063, -13858, -4817, -1058 },
4080
+  { -19446, -19599, -9594, -2464 },
4081
+  { -20076, -18744, -8313, -1889 },
4082
+  { -15047, -16085, -7590, -2250 },
4083
+  { -13481, -16195, -8552, -2998 },
4084
+  { -13829, -14869, -6704, -1932 },
4085
+  { -16357, -18484, -9802, -2959 },
4086
+  { -10551, -8393, -9303, -5070 },
4087
+  { -11345, -9156, -5641, -3107 },
4088
+  { -13217, -13449, -9270, -4541 },
4089
+  { -11988, -13732, -9995, -6374 },
4090
+  { -11007, -9519, -5168, -4107 },
4091
+  { 9930, -7858, 8061, -4375 },
4092
+  { 8274, -7867, 5992, -2096 },
4093
+  { 9692, -9675, 7621, -3670 },
4094
+  { 9589, -8110, 6509, -3010 },
4095
+  { 12617, -11976, 10122, -5360 },
4096
+  { 11867, -8895, 7948, -5323 },
4097
+  { 10388, -10482, 9234, -4324 },
4098
+  { 8188, -8220, 7810, -2737 },
4099
+  { 10407, -8787, 4806, -1930 },
4100
+  { 10348, -8845, 9233, -6614 },
4101
+  { 9422, -7091, 4820, -2878 },
4102
+  { 9758, -9796, 5584, -2256 },
4103
+  { 10188, -7994, 5347, -3343 },
4104
+  { 11133, -7455, 4015, -2306 },
4105
+  { 10676, -10744, 6093, -2629 },
4106
+  { 11522, -12184, 7848, -3375 },
4107
+  { 8805, -9883, 5317, -3071 },
4108
+  { 9498, -9654, 6555, -3592 },
4109
+  { 10488, -8008, 4066, -1252 },
4110
+  { 11261, -8930, 6068, -2738 },
4111
+  { 12180, -10397, 5027, -1531 },
4112
+  { 9138, -8531, 3601, -1959 },
4113
+  { 8107, -8380, 4970, -2061 },
4114
+  { 9737, -13248, 6438, -2617 },
4115
+  { 11178, -10423, 2622, -522 },
4116
+  { 9572, -12372, 5199, -2019 },
4117
+  { 12057, -12144, 4147, -1099 },
4118
+  { 9047, -9925, 2516, -665 },
4119
+  { 10790, -8030, 5882, -4386 },
4120
+  { 7199, -8426, 6337, -2841 },
4121
+  { 7778, -8285, 3529, -3442 },
4122
+  { 7559, -10569, 3484, -1332 },
4123
+  { 9404, -8115, 7484, -5541 },
4124
+  { 7792, -11976, 5546, -2573 },
4125
+  { 9313, -10264, 7661, -5195 },
4126
+  { 6701, -10725, 4370, -1784 },
4127
+  { 4918, -11361, 4507, -4527 },
4128
+  { 5147, -12305, 3978, -5556 },
4129
+  { 6525, -9899, 4481, -3129 },
4130
+  { 7538, -12855, 6060, -4826 },
4131
+  { 8659, -12111, 7159, -4430 },
4132
+  { 8440, -11304, 4547, -1747 },
4133
+  { 9216, -10918, 3507, -1195 },
4134
+  { 6165, -9254, 4771, -4677 },
4135
+  { 9163, -11019, 5637, -4935 },
4136
+  { 13441, -11509, 6676, -2434 },
4137
+  { 7912, -9398, 6663, -4048 },
4138
+  { 11723, -13745, 8131, -4148 },
4139
+  { 6065, -10257, 5005, -6327 },
4140
+  { 11618, -12417, 5336, -1894 },
4141
+  { 8891, -13924, 8407, -6131 },
4142
+  { 9622, -12563, 7908, -5109 },
4143
+  { 11479, -10315, 8349, -3991 },
4144
+  { 11676, -14103, 6611, -2330 },
4145
+  { 11951, -8953, 3829, -1550 },
4146
+  { 10486, -8044, 10493, -5920 },
4147
+  { 11801, -10769, 9763, -5305 },
4148
+  { 6109, -8676, 5827, -1346 },
4149
+  { 7030, -9611, 5624, -5761 },
4150
+  { 12808, -12886, 8683, -4148 },
4151
+  { 13213, -10464, 6381, -3189 },
4152
+  { 11796, -13681, 10703, -6075 },
4153
+  { 9639, -7949, 9625, -3944 },
4154
+  { 8538, -6997, 5309, 453 }
4155
+};
4156
+
4157
+/* quantization tables */
4158
+
4159
+static const uint32_t scale_factor_quant6[64] = {
4160
+        1,       2,       2,       3,       3,       4,       6,       7,
4161
+       10,      12,      16,      20,      26,      34,      44,      56,
4162
+       72,      93,     120,     155,     200,     257,     331,     427,
4163
+      550,     708,     912,    1175,    1514,    1950,    2512,    3236,
4164
+     4169,    5370,    6918,    8913,   11482,   14791,   19055,   24547,
4165
+    31623,   40738,   52481,   67608,   87096,  112202,  144544,  186209,
4166
+   239883,  309030,  398107,  512861,  660693,  851138, 1096478, 1412538,
4167
+  1819701, 2344229, 3019952, 3890451, 5011872, 6456542, 8317638,       0
4168
+};
4169
+
4170
+static const uint32_t scale_factor_quant7[128] = {
4171
+        1,       1,       2,       2,       2,       2,       3,       3,
4172
+        3,       4,       4,       5,       6,       7,       7,       8,
4173
+       10,      11,      12,      14,      16,      18,      20,      23,
4174
+       26,      30,      34,      38,      44,      50,      56,      64,
4175
+       72,      82,      93,     106,     120,     136,     155,     176,
4176
+      200,     226,     257,     292,     331,     376,     427,     484,
4177
+      550,     624,     708,     804,     912,    1035,    1175,    1334,
4178
+     1514,    1718,    1950,    2213,    2512,    2851,    3236,    3673,
4179
+     4169,    4732,    5370,    6095,    6918,    7852,    8913,   10116,
4180
+    11482,   13032,   14791,   16788,   19055,   21627,   24547,   27861,
4181
+    31623,   35892,   40738,   46238,   52481,   59566,   67608,   76736,
4182
+    87096,   98855,  112202,  127350,  144544,  164059,  186209,  211349,
4183
+   239883,  272270,  309030,  350752,  398107,  451856,  512861,  582103,
4184
+   660693,  749894,  851138,  966051, 1096478, 1244515, 1412538, 1603245,
4185
+  1819701, 2065380, 2344229, 2660725, 3019952, 3427678, 3890451, 4415704,
4186
+  5011872, 5688529, 6456542, 7328245, 8317638,       0,       0,       0
4187
+};
4188
+
4189
+/* 20bits unsigned fractional binary codes */
4190
+static const uint32_t lossy_quant[32] = {
4191
+        0, 6710886, 4194304, 3355443, 2474639, 2097152, 1761608, 1426063,
4192
+   796918,  461373,  251658,  146801,   79692,   46137,   27263,   16777,
4193
+    10486,    5872,    3355,    1887,    1258,     713,     336,     168,
4194
+       84,      42,      21,       0,       0,       0,       0,       0
4195
+};
4196
+
4197
+static const float lossy_quant_d[32] = {
4198
+          0,     1.6,      1.0,     0.8,    0.59,    0.50,    0.42,    0.34,
4199
+       0.19,    0.11,     0.06,   0.035,   0.019,   0.011,  0.0065,  0.0040,
4200
+     0.0025,  0.0014,   0.0008, 0.00045, 0.00030, 0.00017, 0.00008, 0.00004,
4201
+    0.00002, 0.00001, 0.000005,       0,       0,       0,       0,       0
4202
+};
4203
+
4204
+/* 20bits unsigned fractional binary codes */
4205
+static const uint32_t lossless_quant[32] = {
4206
+        0, 4194304, 2097152, 1384120, 1048576,  696254,  524288,  348127,
4207
+   262144,  131072,   65431,   33026,   16450,    8208,    4100,    2049,
4208
+     1024,     512,     256,     128,      64,      32,      16,       8,
4209
+        4,       2,       1,       0,       0,       0,       0,       0
4210
+};
4211
+
4212
+static const float lossless_quant_d[32] = {
4213
+    0,             1.0,      0.5,     0.33,     0.25,    0.166,    0.125,
4214
+    0.083,      0.0625,  0.03125,   0.0156, 7.874E-3, 3.922E-3, 1.957E-3,
4215
+    9.775E-4, 4.885E-4, 2.442E-4, 1.221E-4, 6.104E-5, 3.052E-5, 1.526E-5,
4216
+    7.629E-6, 3.815E-6, 1.907E-6, 9.537E-7, 4.768E-7, 2.384E-7,        0,
4217
+           0,        0,        0,        0
4218
+};
4219
+
4220
+
4221
+/* Vector quantization tables */
4222
+
4223
+static const int8_t high_freq_vq[1024][32] =
4224
+{
4225
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4226
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
4227
+  { -4, -2, 2, 1, -16, -10, 1, 3, 1, 0, 6, 1, -3, 7, 1, -22,
4228
+    2, -4, -3, 11, 14, 6, -1, 1, -13, 29, -28, 10, 10, -8, 0, -9 },
4229
+  { -8, 8, -7, 10, -3, -12, -5, -8, 1, -2, 9, -2, -5, -18, 1, 9,
4230
+    -8, -8, 3, 41, 7, -9, -9, 22, -42, -29, 14, -18, -14, -32, 1, -15 },
4231
+  { -16, 8, 15, 16, -16, 5, 2, 7, -6, -16, -7, 1, 1, -3, -2, 0,
4232
+    8, 20, -26, -11, 2, -17, 0, -3, -34, -37, 10, 44, -2, 22, 2, -4 },
4233
+  { 7, 14, 5, 6, 15, -1, 3, -3, -9, -23, -5, -14, 8, -1, -14, -6,
4234
+    -5, -8, 54, 31, -6, 18, 2, -19, -2, -11, -30, -6, -19, 2, -2, -14 },
4235
+  { 1, 2, -2, -1, -3, -3, 1, -5, 1, -3, -4, -8, 5, -4, 0, 1,
4236
+    3, 7, -5, -4, -3, -12, 3, -2, -3, 12, -53, -51, 6, -1, 6, 8 },
4237
+  { 0, -1, 5, 1, -6, -8, 7, 5, -18, -4, -1, 1, 0, -3, -3, -14,
4238
+    -1, -6, 0, -14, -1, -1, 5, -3, -11, 1, -20, 10, 2, 19, -2, -2 },
4239
+  { 2, 4, 3, 0, 5, 0, 3, 1, -2, 0, -6, -3, -4, -5, -3, -3,
4240
+    -7, 0, -34, 4, -43, 17, 0, -53, -13, -7, 24, 14, 5, -18, 9, -20 },
4241
+  { 1, 0, -3, 2, 3, -5, -2, 7, -21, 5, -25, 23, 11, -28, 2, 1,
4242
+    -11, 9, 13, -6, -12, 5, 7, 2, 4, -11, -6, -1, 8, 0, 1, -2 },
4243
+  { 2, -4, -6, -4, 0, -5, -29, 13, -6, -22, -3, -43, 12, -41, 5, 24,
4244
+    18, -9, -36, -6, 4, -7, -4, 13, 4, -15, -1, -5, 1, 2, -5, 4 },
4245
+  { 0, -1, 13, -6, -5, 1, 0, -3, 1, -5, 19, -22, 31, -27, 4, -15,
4246
+    -6, 15, 9, -13, 1, -9, 10, -17, 4, -1, -1, 4, 2, 0, -3, -5 },
4247
+  { -7, 3, -8, 13, 19, -12, 8, -19, -3, -2, -24, 31, 14, 0, 7, -13,
4248
+    -18, 0, 3, 6, 13, -2, 1, -12, -21, 9, -2, 30, 21, -14, 2, -14 },
4249
+  { -3, -7, 8, -1, -2, -9, 6, 1, -7, 7, 13, 3, -1, -10, 30, 4,
4250
+    -10, 12, 5, 6, -13, -7, -4, -2, -2, 7, -3, -6, 3, 4, 1, 2 },
4251
+  { -8, 9, 2, -3, -5, 2, 0, 9, 3, 7, -4, -16, -13, 3, 23, -27,
4252
+    18, 46, -38, 6, 4, 43, -1, 0, 8, -7, -4, -1, 11, -7, 6, -3 },
4253
+  { 1, 1, 18, -8, -6, 0, 3, 4, 22, -3, -4, -2, -4, -11, 40, -7,
4254
+    -3, -13, -14, -7, -10, 14, 7, 5, -14, 11, -5, 7, 21, -2, 9, -3 },
4255
+  { 0, 0, -2, 4, -2, 0, 2, 0, -1, 2, -1, 0, 0, 2, 2, 2,
4256
+    -1, 1, -3, -1, -15, -2, -63, -27, -21, -47, -14, 1, -14, 10, 0, 2 },
4257
+  { 1, 0, -4, 0, -3, -9, 4, 2, 6, -6, 0, -5, 11, -7, -15, 6,
4258
+    -7, -6, 3, 7, -15, -5, 23, -13, -6, 12, -8, 9, 2, -3, 3, 4 },
4259
+  { 6, 0, 3, 0, -2, -4, 2, 1, 1, -1, 1, -2, -1, -4, -22, -15,
4260
+    -46, -66, 10, 20, 2, -17, 12, -6, 1, -2, -2, 0, 1, -5, 1, 2 },
4261
+  { -1, 0, 0, 1, 0, -4, 0, 1, -10, -3, -8, 5, 7, -11, 2, -11,
4262
+    29, -25, 11, 10, 0, -1, 5, -7, -2, -5, -2, 4, 4, -3, 5, -2 },
4263
+  { 1, -1, -1, -3, -2, 1, -8, -3, 2, -2, 4, -5, -1, -7, -2, 1,
4264
+    -14, -7, 3, -30, -15, -14, 3, -4, -1, 3, -13, -1, -3, 1, 2, 3 },
4265
+  { -1, -2, -3, 2, 2, -3, 3, 1, -3, 2, 0, -4, 6, 5, -5, 10,
4266
+    -57, 3, 22, -50, 1, -2, -5, -6, -1, 5, 1, 2, 2, 1, -2, 2 },
4267
+  { 2, 0, -1, -7, 2, 1, 3, 2, 0, 4, 3, -2, 3, -3, 4, -4,
4268
+    24, -35, -3, 38, -6, -5, 15, 20, 3, 16, -7, -5, 0, -4, -5, 0 },
4269
+  { 0, 1, 0, 0, 0, -1, -1, 1, 1, -1, 1, -2, 0, 0, 0, 0,
4270
+    0, -1, -2, -1, -5, -2, -43, -3, 46, -52, -10, 7, -8, 11, -2, -1 },
4271
+  { 0, 0, -1, 0, -1, 2, -41, 33, -44, -48, -15, -26, -9, 6, 3, 3,
4272
+    -3, 2, 2, 2, 2, -1, -1, -2, 1, 3, 0, 0, 5, 2, 3, 1 },
4273
+  { -4, 1, 6, 1, -6, -1, -2, 1, -14, -4, 0, -5, -2, 2, -2, 0,
4274
+    -6, 1, 0, 8, -21, 32, -3, -36, -6, -2, -1, -7, 3, 0, 1, -6 },
4275
+  { -3, -2, 3, 0, 2, 2, 8, -4, -4, 6, 2, 1, 3, -6, 4, 3,
4276
+    13, 0, -12, -1, 25, -20, -2, -23, -15, 7, -3, -11, -3, 6, -1, 0 },
4277
+  { 0, 0, -3, -1, 0, 0, -2, -1, -2, -2, 1, -1, 0, 0, 10, 3,
4278
+    -2, 3, 3, -7, -6, -5, 0, -4, -60, -16, -6, 38, 5, 6, -5, 0 },
4279
+  { 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 1, 0, 0, 1,
4280
+    0, 0, -1, 0, -8, 2, -9, 10, 40, 31, -56, -21, 4, 20, -4, 7 },
4281
+  { -2, -2, 0, 4, -3, -1, 7, 3, 1, 3, -8, 0, 3, 1, 2, 5,
4282
+    1, -2, 14, 5, 4, 5, 5, 5, -5, 9, -66, 0, -20, -2, -8, 4 },
4283
+  { -2, -1, 4, -1, -8, -2, -4, -1, -3, -3, 2, -7, -3, 5, 7, -2,
4284
+    45, 31, -17, -16, -2, -2, -1, -22, 1, -1, -3, 3, 5, -3, 5, -1 },
4285
+  { -4, 0, 7, 5, 8, 7, 2, 9, -9, -9, -7, -11, -3, -8, 17, -4,
4286
+    34, 32, 18, 22, 1, 2, 1, -7, -5, 6, -1, 6, 4, 10, -2, -7 },
4287
+  { 6, 0, 14, 9, 6, -1, -2, -3, 4, -6, -8, 4, 7, -1, 28, 38,
4288
+    15, -1, 16, -11, 5, 8, 4, -10, 3, -10, -17, 5, 3, 3, 3, 1 },
4289
+  { 1, 1, 2, -1, 2, 1, 0, 0, -1, 0, 0, -2, 1, -3, 0, 1,
4290
+    2, -2, -4, -2, 0, -1, 1, -3, 1, 1, 1, -1, 8, 8, 66, 33 },
4291
+  { -5, 2, -3, -7, 2, -8, -4, 10, 17, -18, -7, 4, -4, -7, -6, -6,
4292
+    -5, 5, -12, 2, 0, 6, 8, -2, 1, 4, -11, 2, 1, 8, 31, 19 },
4293
+  { 6, 9, 16, -6, -6, -1, -2, -3, -11, -2, 7, 7, 17, 3, 4, 10,
4294
+    2, 5, -13, 8, 7, 1, 4, 5, 7, 6, 7, -8, 9, -8, 33, 6 },
4295
+  { 3, -1, 1, 0, -7, -5, 0, 14, -7, 1, -7, 1, 2, -4, 7, 10,
4296
+    -16, 12, 1, -6, 3, 8, -1, 10, -13, -6, -12, -23, 12, -3, 30, 14 },
4297
+  { -2, -15, 0, 8, 3, -19, 5, -3, 2, 3, 13, 7, 14, -3, -10, 0,
4298
+    8, 5, -6, -16, -8, -8, 14, 2, -1, 1, -9, -11, 11, -5, 27, 9 },
4299
+  { -8, 6, -4, 4, -4, -1, 5, 4, 1, -7, -5, -4, -15, 1, 9, 0,
4300
+    8, 4, 1, -17, 11, -2, -19, -1, -6, -8, 3, -12, 3, -17, 33, -10 },
4301
+  { -3, -1, 2, 7, 7, -2, 9, 8, -18, -1, -13, -10, -3, -3, 11, 8,
4302
+    -2, -12, -8, 1, 4, 9, 14, 10, -3, 0, 2, 1, -2, 3, 31, 10 },
4303
+  { -3, -10, 8, -1, -5, -11, 7, -5, 3, 6, 1, 4, -16, 10, 5, -4,
4304
+    -2, -10, -1, 13, 6, -5, -7, 12, 7, -3, -17, 1, 12, -4, 29, 8 },
4305
+  { 1, 2, 5, 2, -6, -7, 0, -1, 6, -1, 10, 6, -4, 5, 2, 2,
4306
+    -2, -8, -6, -11, 14, -13, 27, 3, -2, -12, 5, -16, 2, -26, 20, 15 },
4307
+  { -1, -3, -5, -3, -3, 6, -1, 3, -5, 1, 7, 2, 1, 0, -1, -1,
4308
+    0, -1, 9, 7, -6, -3, 4, -5, -4, 8, -8, -25, -8, -4, 34, 23 },
4309
+  { -1, -2, 1, 1, -1, -2, -1, 1, -1, 0, 0, 0, 0, -2, -1, 1,
4310
+    0, 2, 1, -1, 4, 0, 0, 1, -1, 0, 5, 3, 12, -9, 68, -16 },
4311
+  { 10, 0, -8, 14, -6, 1, -12, 0, 0, -3, -5, -11, -6, 12, 9, -10,
4312
+    -3, 5, 0, 7, 11, 2, 4, -3, -8, -3, 7, 4, 3, -3, 34, 4 },
4313
+  { -12, 13, -5, 7, -11, -2, -1, 1, -4, -14, -21, 3, -3, -3, -4, -7,
4314
+    -9, -4, 3, -17, -2, -13, 10, -2, 12, -4, 0, -9, 1, -5, 31, 10 },
4315
+  { -10, 6, 5, 6, 4, -7, 10, 0, -28, -3, 0, -11, -1, -5, 16, -10,
4316
+    -16, 7, 20, 2, -4, 2, -5, 0, 15, 6, 5, -10, 7, -9, 20, 4 },
4317
+  { 1, -7, -2, -7, 4, -3, -2, -7, -1, -14, 6, -16, 4, -5, -4, -6,
4318
+    -5, 0, -2, 2, -6, 9, -5, 4, -18, 8, -10, 8, 15, 0, 32, 1 },
4319
+  { -5, 7, -3, 7, 15, -4, 0, -16, 9, 5, -5, 5, 4, -3, -12, -9,
4320
+    -18, 10, 2, 2, -3, 7, 3, -1, 6, -9, -10, 3, 15, -4, 35, -7 },
4321
+  { -1, -10, 2, 2, -4, -2, 10, 2, -1, 2, -2, 1, -1, -14, -11, 3,
4322
+    -8, 5, -8, -2, 6, -1, -7, 1, 7, 5, 7, 8, 30, -4, 30, 14 },
4323
+  { 2, -2, 1, 2, 3, -8, 3, 0, -2, 0, -9, 2, 1, 4, -6, -1,
4324
+    -2, 5, 0, 1, -2, 12, 6, -3, 9, -3, 4, -12, 21, -39, 24, -2 },
4325
+  { 3, 5, 1, -2, -2, -2, -3, 6, -8, -2, -11, -8, -1, 4, 2, 2,
4326
+    -4, -10, 12, -5, -11, 1, -15, -34, -11, -7, -11, -1, 7, -14, 38, -1 },
4327
+  { -4, 4, 8, 9, 8, 1, -5, -9, 4, -2, 15, -4, 11, -15, 20, -1,
4328
+    -1, -3, 4, -9, -2, -2, -2, 8, 6, 12, -5, 0, 11, -12, 27, -4 },
4329
+  { 0, 8, -4, 3, -11, 6, -11, 2, 3, 0, 5, -8, -7, -6, -9, -21,
4330
+    4, -11, -1, -16, -7, 16, -3, 7, -7, 4, -5, 0, 11, -7, 31, 3 },
4331
+  { 1, 3, 4, 11, -11, -2, -3, -6, 6, 5, 0, 3, -9, -6, 4, -4,
4332
+    0, 4, -8, 13, -6, -13, -1, -5, -1, 4, 0, 0, 9, -22, 24, 18 },
4333
+  { -7, 3, 10, -13, -6, 6, -6, 6, 22, 1, 0, -14, 2, 3, 7, -1,
4334
+    8, 20, -1, 5, -4, 13, 9, -9, -9, 6, 0, -4, 0, -8, 31, -4 },
4335
+  { -3, -4, 0, 1, 7, 3, -7, 0, 5, -2, 1, 3, 3, 1, -5, -2,
4336
+    5, 2, -11, 4, 0, -1, 12, 0, -3, -13, 15, 8, -6, -27, 34, 0 },
4337
+  { -3, -3, 10, -4, 2, -1, -3, 0, -1, -1, -4, 2, 6, -2, 12, 1,
4338
+    3, -6, -7, -6, -5, 4, -19, -6, -8, -34, -4, -8, 10, -7, 23, 10 },
4339
+  { -7, 0, -1, -6, 8, 4, -4, 2, -5, -8, -7, -9, -8, 5, 9, 7,
4340
+    -6, 1, -12, -12, -1, -16, 5, 0, 16, 3, -7, -8, 27, -4, 23, 15 },
4341
+  { -8, 4, 8, 5, 6, 11, -3, 5, 3, -1, -11, 6, -5, 0, 2, -6,
4342
+    -3, -6, 4, -1, 5, -5, -12, -6, 7, -5, 9, 3, 6, -7, 29, 1 },
4343
+  { 1, 3, -2, -2, -6, -2, 1, 6, -6, -3, 1, 2, 3, 4, 1, 5,
4344
+    -1, 0, 4, 2, 11, 6, 2, -3, 13, -9, -19, 18, -15, -10, 36, 21 },
4345
+  { -3, -3, 2, -1, -7, 6, -4, 1, -3, -1, -2, 2, 3, -7, -3, 0,
4346
+    -2, 0, -2, 6, -19, 3, -8, 2, -6, 7, -1, 0, 29, -6, 28, -10 },
4347
+  { -5, 1, -3, -7, -12, -4, 1, 1, -1, 13, -10, -1, -9, -5, -13, 6,
4348
+    13, 3, -4, 2, 3, 11, 2, 6, -25, -16, -6, 0, 14, -1, 27, 16 },
4349
+  { -6, -1, -7, -5, -2, -5, -5, -1, 9, 1, 0, 3, -8, -12, -6, 5,
4350
+    -6, 5, 3, -9, 1, 4, -7, -10, -9, -7, -17, -5, -15, -23, 25, 3 },
4351
+  { -8, -2, 9, -3, -4, 3, -1, 8, -7, -7, -5, -4, -2, 9, 4, -1,
4352
+    -7, -4, -5, -16, 3, -6, 18, -13, -9, 16, -15, 8, 15, -10, 24, 5 },
4353
+  { 1, -38, 2, 34, 9, 10, 11, 2, 2, -6, 3, 2, -2, 5, 4, -7,
4354
+    -1, 1, 4, 0, 3, 1, -8, -1, -6, 5, 4, 2, -4, 5, 2, -1 },
4355
+  { 1, -22, 15, 18, -2, 10, -16, -9, -8, -11, 8, 4, 0, 7, -14, -5,
4356
+    -1, -7, 12, 17, 9, 5, -7, -4, -12, -6, 7, 0, 7, 2, -2, 1 },
4357
+  { -11, -29, 7, 10, 19, -1, -8, -9, 7, 1, 9, 6, 8, -7, -14, 8,
4358
+    -3, -11, -13, 0, -7, -23, -2, -8, 12, 9, 2, 14, 19, 1, -1, 5 },
4359
+  { -24, -27, -11, 36, 2, 6, -3, 4, -6, 8, 0, 12, -1, -4, -6, 3,
4360
+    4, -1, 2, -3, -2, 3, 2, -1, -2, -4, 0, -1, -2, 7, 2, 3 },
4361
+  { -9, -24, 11, 13, -10, -12, 12, -2, 7, 4, 8, 13, -3, -3, 2, 9,
4362
+    -3, -4, 4, 13, 5, 13, -6, -3, 1, 15, 7, -3, 0, 19, -2, -9 },
4363
+  { -8, -15, 7, 14, -4, -5, 2, -18, -19, -2, 2, 17, 16, 6, -10, 10,
4364
+    -9, 14, -1, -5, -1, -6, -7, 2, 9, 11, 13, 6, -5, -12, 3, 2 },
4365
+  { -10, -37, 13, 1, 3, -14, 0, -20, 4, -3, 8, 2, -2, -3, -9, -5,
4366
+    -3, -17, -1, 13, -11, 2, -6, 4, 4, 0, 3, 1, -9, -4, -5, -4 },
4367
+  { -2, -22, -5, 46, -8, 5, 9, -11, 8, 7, 7, -1, -1, -2, -7, 2,
4368
+    -3, 3, -1, -2, 7, 0, 2, -1, 1, -2, -2, -3, 6, 0, -4, -6 },
4369
+  { -16, -27, 15, 16, -4, 14, -7, -26, 2, -2, 6, 5, -3, 11, 0, 2,
4370
+    3, 9, -7, -1, 2, -4, -4, -1, 6, 10, 1, 1, -3, -2, 3, 0 },
4371
+  { -3, -22, 10, 26, 1, 2, -3, 3, 17, -3, -7, 9, 1, -21, -4, 5,
4372
+    3, 0, -7, -6, 3, 3, -8, -7, -9, 3, 7, 1, -8, 12, 6, -7 },
4373
+  { -9, -25, 3, 18, 9, -6, -11, 0, -5, -12, 9, -8, -7, -6, -6, 22,
4374
+    2, -6, -3, 15, 3, 2, -2, 9, 14, -10, -7, 15, 13, 6, -2, 11 },
4375
+  { 5, -20, -5, 28, 11, 10, -4, -4, 0, -7, 3, 5, 2, -5, -8, 2,
4376
+    6, 10, 9, -9, -18, 3, 14, 1, 3, -3, -1, -6, 7, 7, 2, -1 },
4377
+  { -8, -30, 7, 12, 10, 8, 7, -13, -16, 0, 1, -1, -6, -11, -15, 4,
4378
+    1, -2, 10, -15, 1, 11, -2, 8, 9, -7, -7, 9, -5, 2, 7, -18 },
4379
+  { -10, -32, 10, 11, 3, -1, 3, -5, 5, 2, 14, -6, 3, 1, 5, -15,
4380
+    -11, 6, 20, 4, 0, -12, -7, 3, 1, -1, 10, 6, -1, -9, -4, -1 },
4381
+  { 1, -25, -14, 12, -11, 9, 9, -16, -24, -17, 22, -9, 11, -30, -3, -4,
4382
+    6, -7, 9, 2, -1, -5, -6, 2, -1, -1, 10, 1, -3, 3, 4, 8 },
4383
+  { -14, -26, -6, 9, 8, 17, -11, -24, -7, -4, -8, -2, 10, 2, 2, -1,
4384
+    2, 13, 12, -7, 4, -6, -10, 6, 6, -13, -11, -7, -16, 0, -2, 5 },
4385
+  { -4, -30, -13, 12, 16, -6, 12, -16, -13, 5, 15, -2, -2, -10, -7, 7,
4386
+    11, -1, -4, -2, -4, 7, 4, -8, 1, 3, 0, 11, 3, -2, -5, 4 },
4387
+  { -4, -21, 20, 22, 2, 20, -8, 1, -12, -5, -9, 4, -10, -17, -3, -8,
4388
+    -3, 3, -12, 1, -3, 0, 7, 4, 7, 7, -3, 7, 5, 3, 1, -5 },
4389
+  { -12, -20, 2, 29, 11, -6, 9, -7, -6, -4, 0, 6, 17, -13, -2, -10,
4390
+    -17, -1, -18, 2, 0, 14, -6, 1, 0, 3, 2, -10, 1, -5, -2, 5 },
4391
+  { 16, -37, -1, 26, -2, -14, 1, -5, -14, 2, 2, 3, 6, 1, 1, 4,
4392
+    0, -1, 0, -2, -2, 4, 9, -6, 0, -2, 10, -7, -2, 4, 1, 0 },
4393
+  { -9, -24, -12, 5, 5, 3, -17, -14, 4, 3, 2, -4, 10, -22, -8, -3,
4394
+    6, 1, 12, -8, 4, 1, 9, -1, 18, -3, 6, 5, 3, -5, 9, -5 },
4395
+  { -14, -33, -2, 20, -13, -10, 2, -7, -1, 11, -9, -8, 18, -3, 1, 8,
4396
+    0, -2, 10, 7, -2, -13, 9, -3, -4, 5, -2, -2, -1, -5, 1, -7 },
4397
+  { -10, -23, 8, 14, 1, 7, 1, -3, -7, 4, 1, 1, 8, -7, 15, -14,
4398
+    13, 14, 2, 5, -13, -5, -8, -1, 6, 3, 6, 9, 6, 15, 14, 5 },
4399
+  { -13, -25, -10, 13, -17, -24, -7, -13, -6, -10, -8, 2, 0, -13, -10, -4,
4400
+    -8, 4, -9, 9, -4, 4, -3, -3, 3, 3, -5, -9, 1, -2, 11, 2 },
4401
+  { -12, -23, 1, 18, -11, -2, 5, 9, -5, 5, 14, -9, -3, -2, -6, 2,
4402
+    -2, 11, -13, 1, -3, 11, -9, -4, -2, -6, 8, 10, 1, 4, 2, 1 },
4403
+  { -5, -18, 16, 22, 2, 0, 8, -6, -9, -7, 10, -16, 23, 10, -11, -1,
4404
+    7, 2, 7, 2, 1, -5, 6, 1, 0, -4, 9, 2, -3, 1, 0, -4 },
4405
+  { -3, -26, 14, 11, 2, -9, 17, -2, -1, -5, -16, -9, -5, 10, -13, 1,
4406
+    6, 12, 10, 11, 0, 0, -3, -14, 6, -2, 0, 4, -5, -1, -7, -1 },
4407
+  { -10, -33, 1, 8, 11, -5, 1, -6, 7, 4, 5, 6, 1, -2, -10, -5,
4408
+    -6, 12, -11, 5, -10, 4, 12, -1, -1, -3, 4, -1, 9, 0, 16, -17 },
4409
+  { -14, -37, 7, 7, -2, 5, -8, -11, 2, -13, 4, -19, 1, 8, 8, 4,
4410
+    -9, 2, -4, 3, 12, 2, 4, -4, -8, 8, 1, 4, 8, -1, 6, -2 },
4411
+  { -6, -30, 18, 17, 1, -22, -3, 4, -7, -10, 7, 0, -8, 8, -1, 4,
4412
+    2, 8, 6, -2, 2, 7, 4, 4, 3, -6, 2, 1, -3, 1, -1, -5 },
4413
+  { -17, -18, -3, 22, -8, 1, 9, -2, -17, 20, -5, -5, -12, -5, 4, -5,
4414
+    -9, 8, -2, 16, -3, 0, 19, -8, 8, 1, 2, -4, 0, 11, 0, -3 },
4415
+  { -9, -23, 3, 10, 4, 4, -3, -2, -2, -2, 1, -22, 11, 0, -2, 5,
4416
+    -2, 14, -9, -11, -4, 7, 5, 32, 1, -3, -7, 0, 21, -9, 7, -6 },
4417
+  { 0, 0, 0, 2, -1, 1, 0, 1, 3, 0, 0, 1, 0, 1, 0, 1,
4418
+    -3, 0, -1, -2, 0, -1, -1, -3, -1, 1, -4, 1, -1, -5, -69, -19 },
4419
+  { -3, -5, -8, -12, 4, -3, -19, -11, -5, 0, -14, 7, 18, -6, 7, 22,
4420
+    8, 14, 15, 10, 3, -1, -3, 5, -1, 7, -7, 1, -6, 3, -26, -11 },
4421
+  { -1, -6, 4, -4, -5, -16, 0, -6, -3, 11, 1, 0, 9, 5, 16, 3,
4422
+    -4, -33, -4, 4, -7, 0, 1, 6, -11, -2, -13, -2, -18, 20, -25, -16 },
4423
+  { 4, 0, -1, 0, -5, 1, 0, 2, 0, 11, -10, 4, -10, 7, 16, 2,
4424
+    16, 15, 2, -1, 2, 9, 2, 8, -3, -5, -2, 0, -3, 0, -33, -2 },
4425
+  { -3, -15, 10, 10, -9, -1, 7, 3, 5, -5, -8, -8, -3, 15, -9, 4,
4426
+    12, 13, -13, -14, 10, -6, 9, 22, -27, 23, -1, 5, -24, 2, -30, 5 },
4427
+  { 0, -2, 7, -5, -5, 3, 5, 3, -3, -5, 2, 1, -4, 3, -3, -1,
4428
+    1, -2, 10, 22, -3, -4, -2, -2, -7, 3, 8, 1, 14, 4, -37, 9 },
4429
+  { -3, -4, -1, 1, -4, 0, 6, 2, 6, -7, -10, -10, -1, -4, 11, -3,
4430
+    7, -6, 4, -12, -1, 5, 1, -7, 10, -6, 17, -4, 8, 3, -40, 13 },
4431
+  { 2, 12, 4, -7, 14, -3, 16, -2, 18, 2, 13, 5, 5, 1, 11, -1,
4432
+    0, 9, 2, -6, -1, 2, -6, 2, -5, 3, 5, 1, -1, 1, -32, -7 },
4433
+  { -16, 11, 7, -4, 2, -5, -9, 9, 11, 11, 15, -13, -11, 11, 9, 4,
4434
+    3, -8, -10, 12, 12, 0, 0, -16, -9, 13, 2, 9, 4, -13, -33, 3 },
4435
+  { 6, 4, 5, 4, 3, -1, 5, 6, 4, 2, -11, -1, -15, -11, -1, 1,
4436
+    11, -3, -2, 24, -4, -6, -25, -10, -15, -8, 0, 0, -5, 4, -30, 2 },
4437
+  { 10, -3, -6, 1, -9, -5, 6, 9, -10, -3, 8, -1, 4, -1, 11, -11,
4438
+    3, 9, 11, -3, 6, -17, 5, -8, -33, 9, -13, 19, -2, 9, -25, 2 },
4439
+  { 0, 0, -1, -3, 0, -2, 1, 0, 0, 2, 1, 0, -2, 0, -1, 2,
4440
+    0, -1, 4, -1, 2, -3, 4, -2, 3, 3, 1, 0, -15, 12, -63, 27 },
4441
+  { -2, 14, 9, -1, 3, 0, 1, 1, -19, 15, 3, 4, 0, -10, 1, -5,
4442
+    3, 0, -5, -10, 2, -16, -4, 8, -12, -6, 7, -5, -10, -1, -33, -4 },
4443
+  { 0, 3, 1, 3, 1, 2, 4, 4, 9, -6, -8, -5, 1, -12, 3, 8,
4444
+    -10, 6, -1, 1, 13, -5, -5, 2, -4, 13, -18, -10, -7, -9, -33, 10 },
4445
+  { -6, -3, -12, 5, -1, 11, -6, 0, -2, 1, 2, -7, 3, 1, 3, -2,
4446
+    1, 8, -10, 7, -1, -3, 3, 0, 13, 1, 6, 7, -16, -7, -39, 8 },
4447
+  { -6, -1, 11, 6, -3, 8, 3, -5, 3, 0, -5, -2, -6, -3, -4, 2,
4448
+    -3, 13, -11, 1, 7, 5, 19, -5, -3, -15, -1, 7, -1, 6, -33, 8 },
4449
+  { -7, 3, -4, -3, -4, 1, 6, -5, -5, 6, -8, -1, -7, 4, -1, -6,
4450
+    -2, 1, 7, 0, 1, 1, -5, 2, -2, 0, -13, -2, -31, -14, -39, -12 },
4451
+  { -10, 9, 0, -3, 1, -1, -1, 0, 1, -5, -1, -4, -2, 5, 2, -7,
4452
+    18, -8, -2, -19, -7, -7, -12, -14, -11, -1, -9, -13, -7, -12, -31, -9 },
4453
+  { -3, -16, 10, 9, 1, -10, -12, 2, -2, 2, 7, -3, -3, 1, -4, -5,
4454
+    -9, 5, 7, 3, -1, 4, -11, -8, 4, 13, -10, 13, 10, -4, -36, 1 },
4455
+  { -7, -12, 4, -20, -7, -7, 2, 11, -1, -2, 3, -12, 1, 0, -6, -7,
4456
+    6, 4, 13, 3, -3, 4, 3, -6, -12, 5, -5, -22, -13, -8, -37, -6 },
4457
+  { -7, 5, 3, 5, 7, 9, -14, -3, 10, 17, -1, 1, -12, 5, -6, 0,
4458
+    -4, -9, 0, -11, -14, 3, 13, 6, -25, -8, -12, 4, -10, 18, -30, -1 },
4459
+  { -10, 6, -10, 6, 6, 1, -10, 0, -7, 5, -2, 17, -18, -4, 0, -3,
4460
+    -16, -6, -3, -8, 5, 1, -4, 6, -7, 16, 6, 10, -1, 0, -32, -11 },
4461
+  { -1, 9, 9, -5, 4, 9, 6, 9, -4, -2, 7, 11, 4, 2, -5, -4,
4462
+    -6, 0, 2, -3, -1, 5, 10, 0, 12, -10, -18, -3, -1, 14, -33, 2 },
4463
+  { 4, -8, -18, -4, -5, -11, 4, -10, -4, 9, 13, -12, 1, -6, 1, 2,
4464
+    4, -9, 8, 3, -6, 21, 13, -1, -2, 1, -2, 6, -7, 0, -30, 1 },
4465
+  { 6, -1, 2, -3, -1, -4, 6, -4, 0, 4, 2, 2, -9, 2, 6, 3,
4466
+    -2, 4, -1, 9, -6, 0, 7, -8, 5, 19, -2, 9, -5, 2, -33, -8 },
4467
+  { 2, 1, 12, -5, -8, 8, 3, -2, -4, 1, -2, 5, -4, -9, -8, -8,
4468
+    7, -11, -4, 6, -10, 7, -1, -1, -2, -1, 16, 32, -7, 20, -33, -6 },
4469
+  { -18, 2, 6, 13, 9, 9, -1, 3, -17, 24, -2, -6, 28, 8, -2, 6,
4470
+    3, -10, -34, -16, -13, -4, -15, -11, -12, -3, -10, 4, -8, 4, -31, -4 },
4471
+  { -11, 0, 18, 2, -16, -9, -13, -2, -2, -12, -3, -22, 30, 0, 8, 3,
4472
+    9, -4, -16, 1, 0, -11, 15, -2, -4, 6, -5, 6, 1, 2, -25, -12 },
4473
+  { 14, -1, 5, 7, 3, -15, -8, 1, 5, -2, 12, 13, 11, -25, 3, 1,
4474
+    0, -2, -4, -16, -23, 0, -5, -17, 7, 5, -9, 6, -5, 2, -32, -7 },
4475
+  { 3, -1, 6, 14, 2, -12, -9, -9, 4, 7, 4, 6, 5, -8, 4, 2,
4476
+    4, 5, -2, 8, 8, -6, 0, 10, -20, -1, 3, -1, 8, 23, -33, -5 },
4477
+  { -3, 11, -6, 3, -4, 5, 7, 3, 4, 5, -2, 3, -1, 30, 6, 1,
4478
+    8, -6, 0, 0, -9, 6, -9, 4, 2, 9, -6, 1, -12, 0, -34, 18 },
4479
+  { -17, 13, 0, 1, 9, -4, -11, 0, 7, 0, -10, -4, -1, 6, -6, 4,
4480
+    1, 6, -9, 3, -5, -6, -11, 2, -4, 14, 23, -3, 2, 5, -30, 12 },
4481
+  { -14, 5, -27, 2, 0, 7, 1, 4, 30, 8, 7, 5, 1, -1, 0, 5,
4482
+    8, -10, 48, -11, 12, 33, 6, 8, -15, 20, -2, -5, 32, 5, -19, 10 },
4483
+  { -16, -4, -12, -7, -2, 0, 8, -6, -20, -18, 16, -3, 0, 31, -2, 11,
4484
+    2, -9, 49, -19, -12, -23, 10, 26, 16, -2, 4, -21, -14, 13, -11, -9 },
4485
+  { -5, -9, -1, 3, -5, -21, 2, 10, 0, 0, 10, -21, -7, 7, -26, -9,
4486
+    22, 32, 58, 11, -3, 11, -5, -8, -13, 6, -5, -9, 1, 10, 14, -8 },
4487
+  { 7, 7, 10, 3, -2, -1, -11, -11, -6, -43, -3, 14, -19, -18, 19, 18,
4488
+    -32, 10, 45, -6, 6, 21, -20, -12, 2, 4, 6, 6, -4, 3, 3, 1 },
4489
+  { 21, 22, -3, -2, -11, -6, -1, -2, 8, 8, 32, -21, 7, 28, -4, -6,
4490
+    -3, -2, 50, 2, 2, 27, -5, -8, 12, 7, -5, -1, -4, -17, 27, 6 },
4491
+  { 13, 7, 2, -6, -12, 2, -10, -5, -17, 11, 4, 17, -12, -2, 5, -17,
4492
+    37, -16, 48, -14, -18, 29, 8, 24, 11, -5, -9, 11, -1, 1, -13, -3 },
4493
+  { 1, 1, -1, 2, 0, 0, 0, -1, 1, -1, 7, 2, -3, 3, 0, 6,
4494
+    2, 10, 54, -25, 7, 54, -5, -6, -1, -15, 9, 13, -24, -15, -12, 3 },
4495
+  { 21, 5, 8, 3, -3, -4, -2, -4, 3, -11, -5, -8, 9, 16, 8, -9,
4496
+    -10, -3, 46, -46, 2, 1, -10, 10, 17, 11, -20, -36, 10, 14, 0, -5 },
4497
+  { 7, -13, -6, -9, -24, 45, 2, 8, 8, 0, 17, 20, 12, -24, 1, -7,
4498
+    -15, -3, 46, -13, -2, 20, 1, -13, -11, -13, 2, 15, 1, 10, -1, 3 },
4499
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -2, -1,
4500
+    -16, -9, 31, -69, -34, 26, 7, 17, -1, -6, -1, 0, 0, 0, 0, 0 },
4501
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4,
4502
+    -5, -20, 18, -82, 22, 3, -7, 9, 4, 6, 2, -4, -1, 0, -2, 2 },
4503
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -1,
4504
+    15, -5, 62, -36, 4, 52, -7, 5, 0, 6, 1, 2, 1, 1, -1, 0 },
4505
+  { 3, -19, 19, -20, 13, -4, -11, 8, 8, -16, 10, 1, -14, 30, 1, -33,
4506
+    10, -11, 45, -30, 3, -4, -3, -13, 7, 12, 3, -22, 3, -2, -4, -2 },
4507
+  { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 1,
4508
+    11, 8, 70, 48, -10, 21, 4, 9, -9, -9, -4, -6, 0, -1, 0, 0 },
4509
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
4510
+    2, -1, 80, 2, -15, -36, -10, -5, -2, 8, -2, 2, 0, 0, 0, 0 },
4511
+  { 10, 8, -8, -8, -24, 12, -1, 0, 20, 9, -1, -2, 2, -2, 12, -10,
4512
+    -2, -13, 35, -43, 44, 15, -10, -25, 4, 10, -3, -5, -5, 7, -1, 3 },
4513
+  { 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, -1,
4514
+    -18, 9, 49, -72, 7, -8, 7, -5, 2, 3, 2, -2, 1, -2, -3, 1 },
4515
+  { -1, 4, -3, 10, 19, 4, 3, 20, 6, -24, 6, 9, 8, 15, 18, 18,
4516
+    -36, 19, 57, -11, 4, -3, 8, 7, 2, -3, -2, -9, -15, -2, 12, -4 },
4517
+  { 20, 3, 11, -9, -4, 22, 42, -25, 1, 5, -10, -19, 0, 9, -16, 5,
4518
+    2, 10, 44, -29, 17, -3, -9, -2, -1, 8, 14, -7, -1, 16, -5, 1 },
4519
+  { -7, 16, -11, 12, 6, 33, -15, 14, -23, 2, -26, 8, 2, 10, 0, -5,
4520
+    8, -8, 38, -38, -4, 5, 5, 5, 1, 22, -15, 7, 6, 0, 4, 28 },
4521
+  { -1, -12, 2, 10, -2, 0, 7, 17, 12, 22, -4, 10, 25, 29, 5, 18,
4522
+    4, 1, 27, -39, 31, 17, 2, 2, 22, -23, 13, 16, 1, -7, -4, -5 },
4523
+  { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -2, 0, -14, 0,
4524
+    -7, -11, 49, -22, -4, 19, 17, -39, 4, -29, 10, 2, 36, -4, 23, -1 },
4525
+  { -2, -2, -2, -2, 1, 15, -5, -7, -16, -8, -19, 16, -3, -20, 36, -9,
4526
+    -3, 20, 39, -20, 0, 2, 27, -16, 10, 10, -14, -22, -16, -3, 13, -8 },
4527
+  { 5, -9, 6, -25, 7, 37, 13, -10, -5, 3, -5, 7, 18, -22, -7, 9,
4528
+    -5, -4, 50, -11, -4, -5, -5, 8, -4, -2, -4, -27, 14, 20, 7, -9 },
4529
+  { 0, -14, -10, -27, -14, -17, -6, 26, 10, 2, 14, -12, -5, 0, 8, 9,
4530
+    0, -28, 55, -7, -12, -7, 4, -10, 10, 7, -12, 11, 3, 5, 9, -8 },
4531
+  { 2, 23, 4, -2, -1, -20, -2, 14, 10, -9, -9, -24, 10, 0, 11, -12,
4532
+    12, 11, 49, -25, -2, 29, 7, -13, 21, -10, 11, -17, 3, 1, -8, 5 },
4533
+  { 3, 0, -14, -6, 18, -2, 17, -9, -19, 9, -5, 9, 14, 6, 19, -3,
4534
+    27, 1, 41, -21, 20, -15, 33, 0, 26, 14, 7, 10, 3, 20, -3, -12 },
4535
+  { -1, 16, 15, -8, 3, -8, -8, 21, -5, -16, -29, 4, 1, -6, -4, -28,
4536
+    2, 31, 37, -26, -2, 13, 24, 8, -9, -6, -29, 10, 7, 2, 7, 8 },
4537
+  { -10, -10, 11, 13, -32, 2, 16, 9, 14, 23, -15, -13, 24, 13, 4, -27,
4538
+    14, 12, 31, -18, 17, 23, -2, -7, -14, 9, -17, -6, -10, 20, 9, 6 },
4539
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
4540
+    5, 1, 89, 8, 10, -6, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0 },
4541
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1,
4542
+    4, -7, 64, -50, 7, 37, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0 },
4543
+  { -2, 5, 3, -4, -4, -3, 2, -3, 3, -3, 5, 4, 1, -6, -1, 1,
4544
+    6, -2, 50, -35, -7, 43, 7, -7, -5, -26, 24, 21, 3, -15, 5, 6 },
4545
+  { -8, 21, -19, 33, -8, 22, -11, 17, 3, 0, 0, -2, 1, -3, 6, -1,
4546
+    10, -8, 4, -11, -4, -5, 0, 8, -4, 3, 1, -4, 4, 2, 8, 4 },
4547
+  { -7, 5, -20, 9, -22, 3, -14, 1, 6, 13, 23, -2, -4, -7, 2, 0,
4548
+    11, 4, 6, 3, -7, -11, -7, 4, 5, 5, -12, 8, 2, 4, 7, -3 },
4549
+  { -7, 6, -4, 20, -20, 16, -2, 7, 6, 16, 11, 12, -7, -7, 5, 3,
4550
+    -9, -4, 1, 2, 5, 2, 1, -9, -2, -17, -4, 6, -10, 7, -7, -6 },
4551
+  { -9, 18, -17, 12, -24, 1, -1, 4, 14, 9, 4, 3, 2, 8, -12, -14,
4552
+    4, -8, -4, 7, 7, 6, -1, 13, -9, -4, -1, 1, 0, -4, 15, 8 },
4553
+  { -25, 2, -11, 6, -5, 24, -28, -5, 8, 12, -2, 6, 8, -3, 8, -9,
4554
+    -1, -5, -1, -5, 6, -1, -1, -1, -4, 8, -12, -2, -13, 7, 2, 1 },
4555
+  { -14, 14, -18, 20, -10, 12, -2, 9, 1, 0, 12, -2, 15, -10, 26, -17,
4556
+    16, -11, 10, -10, 9, -2, 4, -8, 2, -3, 4, 4, 2, -3, -5, 1 },
4557
+  { -18, 12, -18, 21, -6, 12, -6, 13, -25, 18, 1, 11, -9, -5, 0, 10,
4558
+    -5, 3, -3, 8, -9, 7, 4, 2, -9, 0, 5, 0, 2, -3, 9, -8 },
4559
+  { -4, 16, 1, 18, -30, 9, 1, 6, -8, 13, 13, -12, -6, -1, 13, 7,
4560
+    6, 2, -15, -3, 5, 5, 1, -6, 1, -5, 0, 2, -16, 0, 3, -4 },
4561
+  { -21, 1, -2, 6, -43, 18, -1, 5, -1, 4, 6, -2, -1, -3, -1, -3,
4562
+    0, 1, 2, -9, 0, -1, 0, -2, 0, -1, -1, -2, 6, 0, 1, -2 },
4563
+  { -23, 10, 4, 7, -32, -11, -18, 2, -2, -7, -6, -3, -3, -12, 19, 3,
4564
+    -5, -6, 16, -6, 16, 2, 16, 16, 8, -2, 13, 8, -15, -11, 2, 10 },
4565
+  { -8, 2, -13, 2, -29, 24, -20, 19, 1, 10, -4, 10, 1, 2, -9, 11,
4566
+    -1, -2, 9, -5, 19, -7, 16, -9, -2, -18, 11, 1, 1, 0, 7, -3 },
4567
+  { -6, 3, 4, 13, -26, 10, -10, 28, -7, 28, 1, 7, 0, -14, 5, 7,
4568
+    4, -4, 3, -2, 3, 3, -11, 7, 6, 4, 0, -1, 2, -1, -3, 2 },
4569
+  { -6, 16, -31, 13, -10, 17, -6, 4, -14, 4, 4, -1, -10, 12, -5, 1,
4570
+    -14, 15, 0, -8, 1, -5, 3, 3, 9, -5, 7, -20, 7, 4, 11, -5 },
4571
+  { -19, 3, -17, 14, -12, 16, -22, 18, 14, 8, -2, 4, 10, 12, -14, 4,
4572
+    -3, 2, 3, 7, -7, 7, -6, 2, -2, -4, -5, 0, -5, -2, 2, 1 },
4573
+  { -9, -7, -11, 24, -36, -9, -11, 5, 7, -12, -13, 18, -2, 20, 1, -4,
4574
+    -1, -10, 15, -6, 14, 1, 0, 2, 1, 2, -9, -16, -11, 7, 13, 0 },
4575
+  { -24, 24, -18, 18, -22, 14, -11, 13, -12, 11, -10, 11, -7, 11, -5, -4,
4576
+    -1, 1, 5, 2, 3, -1, 1, -5, 7, -4, 5, -6, 8, -7, 8, -6 },
4577
+  { -6, 18, -22, 22, 5, 11, -1, 6, 19, 22, 8, 4, -8, 20, -2, 15,
4578
+    -6, -18, 0, -33, -9, -12, -1, 6, 5, 2, 5, 5, -5, -17, -3, -3 },
4579
+  { 1, 11, -16, 9, -18, 11, -4, 18, 20, 26, -10, 8, 1, -11, 8, -4,
4580
+    0, 7, 3, 5, 2, 2, 10, -2, -4, 4, -4, -2, 1, -4, -5, -1 },
4581
+  { -10, 6, -1, 18, -17, 27, -3, 10, -2, 12, -7, -9, 1, 1, -1, 7,
4582
+    -12, -1, -7, -6, -1, 8, 3, -15, 8, 9, 3, -7, 4, -1, 1, -1 },
4583
+  { -14, 6, -16, 22, 2, 5, 0, 5, -18, 11, 6, -3, 22, -20, -9, -3,
4584
+    6, -6, -7, -15, 1, 15, -8, 11, 8, -3, -8, 1, -8, 2, 6, -2 },
4585
+  { -21, 5, -19, 19, -7, 4, -7, 0, -8, 6, 12, 5, -3, -22, -13, -6,
4586
+    -1, -3, -2, -14, 6, -3, 1, -8, -7, -5, -6, 11, -3, -10, -5, 2 },
4587
+  { -1, 9, -12, 15, -6, 6, -19, 14, -9, 11, 3, 12, -17, -3, 8, -4,
4588
+    -3, -4, 1, -5, 4, 5, -7, -15, -7, 15, -6, -5, 1, -5, -3, 1 },
4589
+  { -12, 20, -15, 20, -14, 3, -14, 9, -6, 33, -13, 6, -2, 8, -6, 7,
4590
+    -5, -6, -3, -3, 0, 8, -3, -3, 1, -2, 2, 2, 6, -5, -5, -2 },
4591
+  { -7, 12, -18, 12, -18, 10, -4, 8, 2, 4, 8, 9, 0, 3, -8, 3,
4592
+    6, -12, -4, 1, 25, -5, -9, 6, -7, 0, -9, -7, 3, -5, -4, -4 },
4593
+  { -18, 12, -10, 11, -22, 0, -15, 5, -2, 2, -3, 6, -4, -4, -3, -15,
4594
+    -2, -3, 21, 6, -12, -11, 19, 3, 3, -14, 7, 0, -11, -22, -10, 0 },
4595
+  { -15, 2, -30, 15, -17, 13, -16, 8, -7, 10, -8, 2, 11, 3, 10, -7,
4596
+    7, -22, 12, -10, 3, -12, 6, -10, 12, -10, 7, -8, 5, 2, 9, 1 },
4597
+  { -9, 11, -14, 6, -10, 21, 5, 12, -5, 5, 7, 21, 6, 2, -2, -1,
4598
+    -1, 4, 2, -20, -18, -1, -14, 3, -1, 4, -7, 10, 1, 11, 4, -4 },
4599
+  { -22, 8, -30, 13, -21, -4, 4, -1, 12, 9, -2, -3, 2, -6, 4, -13,
4600
+    -2, 8, 8, 1, -7, 3, -4, -5, -1, -7, -2, 8, 8, 7, 8, 0 },
4601
+  { -6, -4, -35, 16, -13, 15, -11, 14, -7, 9, -1, 11, 7, 0, 13, 10,
4602
+    -1, 8, 1, 1, -2, 8, -1, 2, 2, 3, -10, -1, 7, -13, -3, -7 },
4603
+  { -15, 7, -16, 14, -18, 17, -6, 14, 3, 4, 7, -3, 10, -22, 5, -15,
4604
+    4, -4, -11, 15, -15, 11, -11, 20, 1, 0, 2, 1, 11, -3, 11, -7 },
4605
+  { -12, 3, 5, 16, -37, -1, 15, 15, -15, 10, 3, -10, 1, 15, 7, -15,
4606
+    -13, 8, 9, -3, 2, 12, -8, 2, -5, 0, -3, 4, 5, -9, -4, 5 },
4607
+  { -16, 26, -4, 14, -22, 26, 6, -3, -8, 4, 21, 6, 16, -4, -11, 7,
4608
+    -10, 3, 3, 7, -4, 2, -9, 8, -2, 2, 5, -2, -4, -2, 7, -1 },
4609
+  { -7, -10, 4, 3, 2, -4, -12, -10, -4, -5, 16, 19, -16, 1, 2, -9,
4610
+    -10, 0, 9, 7, -8, 3, 12, 8, -6, -11, -13, -1, -3, -20, 6, -5 },
4611
+  { -14, -17, 3, -5, 14, -12, -12, 8, -6, -25, 21, 21, 10, -8, -12, 4,
4612
+    10, -4, 3, -9, 11, 9, 0, 4, 2, -15, 1, -14, 4, 1, 0, -4 },
4613
+  { -4, -9, -3, -1, 6, 3, -6, 6, -10, -4, 14, 8, 2, -3, -12, -19,
4614
+    0, 11, -20, 1, 6, -2, -27, -6, 10, -17, -14, -17, -9, 8, -8, 3 },
4615
+  { -12, -13, 16, -4, -2, 12, -7, -11, 2, -13, 3, 7, -16, -18, -1, -12,
4616
+    -2, 1, -12, -9, -2, -6, 2, 9, -22, -3, -4, -14, -7, 7, -1, 2 },
4617
+  { -7, -8, -8, 15, 15, 18, 15, 16, -4, -37, 11, 15, -12, -1, -3, 3,
4618
+    6, 6, 0, -5, -3, -5, 9, 1, 1, -11, -1, -8, -6, 2, 3, 0 },
4619
+  { -6, 7, -5, -12, 13, 10, -18, -4, -3, -21, 6, 16, -15, -7, -12, -9,
4620
+    1, -12, -1, 10, -2, -1, -3, 4, -4, 1, -16, -1, 12, -9, 5, 9 },
4621
+  { -14, -5, 9, 3, 4, 26, -28, 3, -6, -24, 4, 5, 3, 13, 5, -1,
4622
+    3, -1, 3, 1, 1, -5, 3, 0, -7, -8, -7, -3, 3, -5, 4, 0 },
4623
+  { -4, 2, -10, -6, 25, 26, -6, 10, -6, -8, 15, 11, -6, -3, 2, -7,
4624
+    5, 14, 9, -1, 0, -12, 4, -4, -10, 1, -3, 3, -2, -2, -6, -1 },
4625
+  { -10, 8, -15, -10, 19, 17, -8, 0, -3, -7, 7, 5, -13, -1, 7, -7,
4626
+    1, 13, -12, -13, 17, -12, 1, 26, -18, -3, -5, -6, 4, 5, 8, 1 },
4627
+  { 2, -5, 3, 0, 0, 0, 2, -3, -2, -5, 7, 13, -4, 9, 0, -5,
4628
+    4, -1, -11, -8, -4, 0, -13, 2, -47, -23, -8, -11, -4, 4, -2, -3 },
4629
+  { -18, -4, 4, 5, -1, 17, -12, -8, 1, -12, 7, 20, -12, 3, -2, -11,
4630
+    16, 12, -6, 1, -13, -16, -6, -3, -3, -5, 4, -12, -5, -9, 10, 1 },
4631
+  { -11, 0, 4, 7, 7, 8, 3, -1, 3, -19, 32, 8, -19, -8, 2, 4,
4632
+    -12, 15, -16, 3, 1, 9, -2, 1, -2, 8, 5, 6, -4, -1, 11, -8 },
4633
+  { 3, -1, 4, -2, 14, 32, -9, -23, -10, -12, 22, 15, -1, -2, 10, 0,
4634
+    4, 6, -8, 4, -15, -2, -1, -4, 0, -8, 4, 1, -8, 3, 4, 1 },
4635
+  { -17, -12, 6, -8, 16, 13, -20, -8, -1, -16, 10, 21, -19, 11, -9, -5,
4636
+    7, 18, -6, 7, -7, -18, 13, 2, -2, 8, -12, -9, 2, 4, -5, 16 },
4637
+  { 4, 0, 17, -11, 12, 7, -12, 5, -1, -25, 30, -8, -7, -6, -4, -7,
4638
+    9, 8, 7, 3, 3, -16, 8, 0, -2, -2, -18, -3, -4, -5, 1, 4 },
4639
+  { -3, -6, 6, -16, 17, 6, -3, 2, -9, -17, 12, 11, 11, 2, -20, 8,
4640
+    1, 1, 0, 2, -2, -6, -21, -13, -9, -15, -1, -8, -6, -8, 0, -2 },
4641
+  { -11, -7, 6, -9, 3, 6, 8, 16, 4, -5, 23, 26, -10, -3, 4, 0,
4642
+    2, 2, -4, 4, -2, -12, 12, 10, -11, 0, -10, -16, 3, 0, 0, -10 },
4643
+  { -5, -16, 10, -6, 27, 13, -3, 4, -2, -13, 15, 5, 2, 5, 3, -4,
4644
+    13, 12, -11, -7, 0, 1, 11, 12, 2, 13, -15, -8, 9, -2, 3, 8 },
4645
+  { -5, -8, 4, 3, 9, 3, -11, 10, 14, -25, 14, 8, -2, 5, -12, -21,
4646
+    2, 10, -7, 2, -3, 2, 0, 2, -1, -3, -5, -6, -1, -16, 2, 8 },
4647
+  { -1, 5, 1, -11, 5, 9, -7, 8, -13, -12, 4, 12, -4, 1, -1, -1,
4648
+    27, 29, 10, 15, 2, -6, -3, 4, -21, 10, -9, -11, -6, -1, -9, -3 },
4649
+  { -6, -3, -1, -6, 11, -5, 0, -2, -5, -31, 11, 3, -1, 5, -3, 4,
4650
+    5, 7, -10, 5, -10, -13, 4, 12, -15, -2, 2, -7, 1, -9, -3, -10 },
4651
+  { -3, -7, 17, -8, -5, 36, 8, -7, -8, -20, 12, 8, 1, -1, 3, 0,
4652
+    1, 4, -10, 3, 1, 4, -2, -3, -2, -3, -10, 4, -1, -7, 3, 2 },
4653
+  { -13, -3, -5, 9, 22, 6, -23, 3, -10, -7, 17, 17, 18, -14, -8, -8,
4654
+    2, 4, -8, 2, -3, -8, 6, 4, -1, 7, 0, 0, -3, 0, -12, -3 },
4655
+  { -3, -10, -15, -3, 9, 3, -23, -9, -13, -18, 12, 13, -2, 0, 1, 8,
4656
+    -1, 2, -7, -12, -5, 14, 2, 1, -22, 6, -10, -8, -9, 28, -7, -14 },
4657
+  { -3, 1, 2, -1, 13, 7, -2, -7, 1, -3, 6, 9, -3, -2, 4, -2,
4658
+    2, 1, -10, -2, -2, -22, -2, -7, -10, -5, -11, -27, -12, -16, 4, -7 },
4659
+  { 2, -6, -3, 1, 8, 0, -2, 12, -3, -4, 58, 15, -10, -4, -2, 2,
4660
+    -2, 0, -2, -6, 2, 4, -1, 1, -4, 1, -1, -5, -4, -3, 3, 1 },
4661
+  { 10, -1, 0, 5, 21, 7, -14, 6, -3, -16, 15, 17, -16, 13, 3, -6,
4662
+    -4, 6, -12, -5, 1, -4, -7, -8, 2, 3, -6, 6, -1, -8, 5, 4 },
4663
+  { -6, -2, -8, -11, 15, 10, 0, 8, -6, -15, 33, 8, -2, 18, -15, -11,
4664
+    5, -1, 0, 15, -15, -4, -4, -1, 10, 7, -13, 4, -4, 0, 8, 3 },
4665
+  { -7, -2, 0, -2, 0, -2, -4, -5, -14, -16, 12, 38, 7, 12, 6, -4,
4666
+    0, -1, 0, 3, -2, -6, 0, 2, -9, 1, 0, -1, 0, -2, 4, 1 },
4667
+  { -8, -4, 18, 1, 14, 5, -12, -3, 20, -17, 5, 19, -11, -8, 11, -3,
4668
+    3, 9, -7, -8, 9, -17, 2, 15, -10, -11, 5, -5, 7, 15, -6, -2 },
4669
+  { -7, 2, 38, 5, 19, 16, -5, 4, -13, -20, 0, 4, -4, 6, 4, 2,
4670
+    -7, 6, -8, -2, -5, -7, 6, 3, -4, -3, -2, -3, 7, -6, -4, 0 },
4671
+  { -11, -12, 8, -15, -3, 14, -7, -22, -11, 2, 22, 14, -19, 2, -19, -6,
4672
+    1, 3, -18, 14, 2, -6, -2, -8, -3, -6, 5, -7, -8, -4, 1, 1 },
4673
+  { 8, 7, 25, -21, 12, -6, -5, -4, -10, 6, 0, 10, 1, -12, 18, -5,
4674
+    -15, 4, 1, 14, -1, 5, 8, -7, 1, -7, -3, 9, 10, 1, -1, 0 },
4675
+  { 9, 10, 32, -15, 8, 2, 11, -7, -18, -8, 2, -6, -9, -16, -3, 3,
4676
+    -1, 3, 1, -5, 4, -2, 1, -8, 0, -6, -3, -11, 1, 5, 0, 0 },
4677
+  { 14, 0, 23, -25, 22, 3, 7, 10, 0, -2, 7, 8, 0, 10, 0, 0,
4678
+    3, 2, 3, -10, 0, 10, 0, -7, 0, 10, -1, -5, -7, 1, -1, 2 },
4679
+  { 12, 0, 25, -18, -5, -4, 13, -10, 3, -6, 7, 21, 0, -16, 3, -10,
4680
+    -6, 5, -7, -3, 2, 5, 3, -6, 4, 9, -8, 12, -2, 3, 2, 4 },
4681
+  { 31, 15, 27, -20, 10, -7, 15, -10, 9, -8, 4, -5, 3, -3, 5, 6,
4682
+    11, -2, -12, -2, 6, -2, 1, 2, -1, -1, 1, 1, 3, 1, 1, 2 },
4683
+  { 12, -4, 13, -23, 12, -6, 2, 4, -3, 13, 6, -7, 5, -19, -7, 18,
4684
+    1, -7, 7, 1, 16, -7, 3, 0, 3, 0, -12, 8, -11, 9, 4, 7 },
4685
+  { 29, 1, 3, -22, -5, 6, 0, 12, -14, 11, 1, 6, -3, 4, 6, -2,
4686
+    4, -13, 12, 1, 1, 3, -11, 9, -10, -1, -7, 16, -11, -1, 3, 9 },
4687
+  { 4, 4, 36, -23, -5, -8, -15, 1, -6, 3, 13, -1, -5, -7, 4, 9,
4688
+    2, -11, -3, 5, 1, 3, -6, -1, -4, -4, -2, 2, 3, -1, -5, -2 },
4689
+  { 19, 10, 6, -17, 2, -4, -2, -4, -3, 13, 2, 2, -13, -7, -3, -11,
4690
+    9, -6, 1, -9, -5, 4, -5, -9, -18, -7, -11, 9, 4, -11, 8, 4 },
4691
+  { 16, -3, 9, -16, 18, -2, -12, -16, -11, 11, -18, 16, -13, 6, 2, 8,
4692
+    3, 8, -4, -16, 10, -11, -1, -3, -8, 5, -9, -4, 9, -4, 0, -3 },
4693
+  { 14, 15, 3, -23, -5, 7, -8, -6, 2, 17, 2, 12, -8, -12, 13, -1,
4694
+    -9, 3, 1, 1, 19, 15, 4, -1, 1, 2, -3, 2, -3, 1, 5, 3 },
4695
+  { 32, 5, -10, -47, -5, -1, 4, 11, -7, 0, 2, -2, 1, -7, 6, -4,
4696
+    6, 2, -4, -2, 2, -2, 0, -4, 1, -6, -5, 2, -2, -1, -3, -4 },
4697
+  { 20, 8, 10, -21, -7, -9, -16, 12, 1, 4, 6, -5, 9, -11, -7, 4,
4698
+    -11, 28, -3, 2, 4, -6, 10, -8, -5, -5, -9, 9, -2, -1, 6, -5 },
4699
+  { 38, 3, 23, -25, -6, -18, 3, -10, -8, 6, -10, 1, -10, 2, 2, 0,
4700
+    -7, 2, -4, 5, -1, 8, -3, 0, 3, 3, -1, 1, 0, -4, -4, 0 },
4701
+  { 20, 5, 16, -22, 24, -18, 2, -12, -14, -7, -3, 10, 2, 7, -10, 2,
4702
+    -8, 1, 8, -1, 4, 1, 4, -2, 5, -9, -18, -8, -13, 5, -11, 10 },
4703
+  { 14, 8, -12, -16, 9, -11, -3, -6, -25, -7, 6, 5, -7, -16, 10, 2,
4704
+    -7, -1, -9, -3, 16, 4, 3, 3, -3, -3, -15, 13, -3, 4, 13, -7 },
4705
+  { 16, -9, 19, -23, 7, -19, -3, -5, -15, 11, -21, 21, -16, 18, -1, 6,
4706
+    10, -10, 18, -14, 16, -15, 6, -5, -9, 5, -17, 13, -10, 13, 0, 10 },
4707
+  { 8, -4, 4, -24, 8, -21, -18, 9, -11, 4, -6, 17, 5, -9, -2, -2,
4708
+    2, 15, -2, -3, -2, 1, 7, -13, 15, -10, -8, -11, 3, 3, -1, -1 },
4709
+  { 14, 17, 6, -32, 5, -17, -2, 0, 15, -1, -5, 16, 1, -5, -2, 9,
4710
+    -3, 8, 4, -2, -2, -4, -3, 1, 0, 7, -3, 4, -5, 0, -7, 2 },
4711
+  { 24, 6, 22, -12, 8, 3, -14, 4, -7, 8, 6, 5, 6, 1, 6, -12,
4712
+    15, 10, 4, 11, 9, 6, -7, -4, 10, -9, 2, -1, -5, 11, 15, 3 },
4713
+  { 17, 12, 3, -23, 5, -1, -2, 1, -9, -1, -3, 1, 8, 1, -5, 17,
4714
+    11, 0, -2, -11, 7, 4, 0, -27, -7, 1, 2, -8, 9, 7, 5, 3 },
4715
+  { 12, 10, 12, -10, -4, 5, -1, 2, -24, 5, -8, 2, 6, -17, 19, 5,
4716
+    12, -2, 16, -7, -6, -14, 4, 1, -3, 13, -16, 5, -1, 4, 1, 1 },
4717
+  { 31, 9, 11, -17, 10, -3, -7, 7, 1, 2, 2, 4, -3, -1, 11, 4,
4718
+    -5, -8, 1, 4, 15, -6, -28, 1, 8, 3, -6, 5, 17, -2, 2, -4 },
4719
+  { 11, 19, 16, -26, 0, -7, -7, 2, -13, -15, -12, 9, -3, 27, 8, 4,
4720
+    -6, 1, 4, -6, 11, -1, -6, -7, -3, 0, -6, 4, -6, -7, -3, -1 },
4721
+  { 10, 18, 16, -32, 19, -9, -4, -3, -7, 8, 8, -3, -11, -2, -6, -16,
4722
+    13, 13, -6, -1, 10, -2, -2, -9, 0, -3, 9, 4, 11, -2, -6, 6 },
4723
+  { 9, 4, 19, -33, 4, 7, -12, 36, -3, -1, 8, -2, 2, -8, -9, -4,
4724
+    -8, 0, 1, -1, 0, -4, -4, 3, 0, 3, 6, 0, -6, 2, 0, -2 },
4725
+  { 25, 7, 15, -12, 2, -24, -1, 24, -4, 4, 9, 0, -2, -9, 4, 6,
4726
+    3, 13, -3, 1, 5, -1, -3, -5, -1, 7, -2, 3, 4, 4, 1, 0 },
4727
+  { 19, 6, 8, -20, 9, -9, 5, -4, -13, 7, 11, -3, 5, -13, -9, 6,
4728
+    -11, -1, 0, 4, 11, 26, 3, 6, -7, 12, 6, -3, 1, -9, 7, 1 },
4729
+  { 15, 6, 19, -23, -3, -9, 3, 16, -6, -4, 6, -5, -10, 1, 16, -14,
4730
+    2, 0, 2, -13, -3, 8, -6, 3, 1, 1, 2, -5, 12, -4, -8, -3 },
4731
+  { 14, 4, 16, -20, 1, 12, 0, 6, -3, 9, 4, 16, 10, -16, 5, 7,
4732
+    5, -4, -4, -18, -3, -11, -4, 4, -7, 3, 13, 7, 3, 3, 2, -7 },
4733
+  { 22, 3, -1, -30, 18, -3, -9, 9, -2, 11, -16, -2, -14, 12, 0, 4,
4734
+    -5, 4, -1, 3, -20, 12, 4, -10, -2, -2, -12, -12, 10, 6, 11, -3 },
4735
+  { 15, 7, 2, -21, 5, 4, 9, -9, -33, 7, 7, 3, -6, -14, -8, 10,
4736
+    12, 0, 2, -1, 5, 4, -2, 0, -7, 0, 2, 4, 0, 1, -3, 8 },
4737
+  { -7, 0, 12, 3, 0, -6, 8, -4, 0, 2, 14, -15, 2, -7, -31, -3,
4738
+    14, 0, 14, -15, -1, -4, -15, 10, 1, -3, 1, 2, 5, 2, -8, 1 },
4739
+  { -2, 5, 1, 0, -3, 3, 3, -6, -1, 2, -4, 1, -19, 0, -11, 18,
4740
+    11, 10, 21, 5, 6, 2, 10, 3, -6, 0, -2, 13, 5, -1, -2, 9 },
4741
+  { -9, 1, -5, 0, 0, -15, 8, 4, 8, 3, 8, 12, -13, -2, -39, -2,
4742
+    4, -4, 5, -3, -4, 3, -3, 3, 10, 5, 3, 2, -3, 5, -2, 8 },
4743
+  { -9, 6, 6, -8, 12, -12, 23, -18, 4, -15, -5, 2, -20, 13, -7, 7,
4744
+    7, -12, 14, -12, 6, 1, 1, -3, -8, 9, 0, 1, -7, 3, 7, -6 },
4745
+  { -18, 13, 4, 3, -10, -30, -10, -6, -14, 1, -7, -4, -35, 5, -25, 11,
4746
+    9, 8, 19, -4, -7, -3, -18, -8, 1, 5, 10, -4, -14, -9, 3, -4 },
4747
+  { -6, -1, 4, -9, -9, 4, 20, 0, 0, 3, 11, 7, -16, -17, -20, 11,
4748
+    -6, -14, 1, 4, 19, 2, -8, 6, -15, 3, 6, -5, -14, 3, 7, 2 },
4749
+  { 1, 6, -2, -8, -5, -3, 3, -8, 21, 1, 3, 16, -14, -2, -9, -4,
4750
+    13, -2, 18, 14, 14, 19, -13, 5, -10, 2, -3, 3, 5, 5, 1, -1 },
4751
+  { -1, -5, -6, -2, -11, -7, 5, -4, 5, -1, 0, 3, -3, 2, -19, 18,
4752
+    16, 4, 14, -22, -2, -11, -22, 1, -1, 11, 1, 2, 11, -10, 7, -12 },
4753
+  { 1, 4, 5, -1, -9, -5, 1, 12, 5, 6, 12, 9, -24, 23, 1, 20,
4754
+    14, -11, 13, 5, -2, -2, 5, 6, 2, 1, -9, 6, 10, 5, -4, 11 },
4755
+  { -1, -1, 1, 7, -3, -4, 8, -16, 15, -1, -7, 9, -22, -11, -11, 10,
4756
+    16, 9, -2, 4, 13, 10, 6, 16, 4, 7, 1, -8, -7, -14, -7, 4 },
4757
+  { 1, 3, -6, 0, 15, -9, -4, 0, 4, 6, 12, 9, -6, -5, -22, 17,
4758
+    7, -11, 15, -5, 1, 3, -19, 0, -15, -3, 16, 5, 5, -7, -11, 12 },
4759
+  { -2, -1, 13, 2, 4, -24, 37, -5, -2, -6, 12, 7, -2, -23, -4, 9,
4760
+    2, -3, 3, 2, 3, 3, -14, 11, 0, -4, -2, -2, 3, 10, -10, 4 },
4761
+  { 2, 9, 8, -6, -28, 14, 28, -11, 18, -11, 0, 2, -2, 4, -12, 3,
4762
+    6, 0, 7, -7, -6, 2, 5, -1, -1, -1, 5, 2, 3, 0, -3, 9 },
4763
+  { -7, 14, 5, -10, -3, 7, 4, -5, 7, -8, -7, 4, -12, 14, -16, 25,
4764
+    3, 0, 1, -5, 12, -10, 0, -10, 0, 12, 12, 17, 12, 10, -1, 0 },
4765
+  { -4, -2, 5, -2, -17, -3, 5, -5, 7, -17, 1, 5, -4, 4, -20, 0,
4766
+    11, -15, 13, -8, 10, 1, 1, 5, -12, 9, -8, 0, 6, -1, -11, 4 },
4767
+  { -3, 12, 13, -15, -7, -7, 0, 5, 33, 3, 3, -6, -13, -7, -15, 10,
4768
+    3, 3, 3, -5, 2, 7, -1, 0, -12, 2, 11, -6, -9, 0, 5, 11 },
4769
+  { -8, 5, 10, -7, -14, -4, 13, 0, 18, -3, -6, 7, 1, -6, 0, 21,
4770
+    8, -7, 10, -8, -3, 17, -9, 0, -5, 1, 4, 8, -3, 11, -5, 0 },
4771
+  { -8, 8, -3, -8, 8, -11, 16, -16, 17, 0, 8, 16, -17, 10, -16, 10,
4772
+    -8, 6, 11, 0, 10, 7, 4, 5, 7, -5, -5, -6, -7, -5, -1, 16 },
4773
+  { -6, 0, 6, 1, -8, -8, 8, -7, -5, -10, -11, 8, -19, 6, -7, 13,
4774
+    5, -3, 4, -8, 7, -1, -18, 9, 0, -5, 6, 26, 3, 8, 2, 4 },
4775
+  { -2, -2, 23, -2, -20, 2, 7, -7, -6, -15, 3, 9, -19, -2, -10, 7,
4776
+    -2, 7, 9, 11, 0, 4, -4, 6, 9, -2, 4, -3, 4, 3, 2, 8 },
4777
+  { -6, 12, 10, -10, -7, 4, 17, 11, -6, 1, 12, 11, -18, 8, -12, 4,
4778
+    1, 13, 6, -13, 23, 9, -5, 8, -2, -5, 1, 3, 0, -2, -4, 4 },
4779
+  { 7, 1, 7, -17, -8, 8, -1, -7, 5, -6, 4, -3, -16, 9, -24, 18,
4780
+    -3, 10, 13, -11, -6, -11, -4, 10, 0, 11, 8, 2, 6, -5, -11, 4 },
4781
+  { -4, 1, -5, -10, 0, -3, 9, -2, 4, -1, 1, 5, -41, -10, -7, 4,
4782
+    -3, 3, 1, 0, -12, 4, -3, 0, 2, -1, -2, -5, 3, 2, -7, 5 },
4783
+  { -2, 1, 4, 4, -3, -6, 1, 0, 12, -5, 11, 0, -17, -3, -1, 11,
4784
+    4, 1, 27, -12, 0, -14, 2, -15, -3, -9, 0, -7, -3, 15, -8, 6 },
4785
+  { -6, 4, 9, 2, 4, 3, 7, -10, 28, 1, -2, 48, 7, 0, -10, 10,
4786
+    1, -9, 2, -1, 0, 3, -5, 5, -4, -2, 7, 7, 1, 3, 2, 5 },
4787
+  { -3, 3, -1, 3, -9, 0, -1, 3, 2, -6, 39, -14, -12, 5, -19, 21,
4788
+    7, -6, 4, -1, -4, 0, -4, 1, 0, -9, 1, 10, 0, -2, 0, 7 },
4789
+  { 4, 2, -29, 12, 5, -3, 16, -6, 15, -13, -4, -1, -13, 22, -16, 17,
4790
+    16, 4, 9, -4, 4, -6, -4, 11, -8, 7, 8, 4, 3, -3, -7, -13 },
4791
+  { 0, 3, 3, -6, -4, 0, 9, 0, 5, 0, 10, 10, 4, -13, -12, 16,
4792
+    23, -4, -12, -6, -4, 20, 2, 0, -4, 23, 1, 8, 11, -4, -5, 15 },
4793
+  { -6, 4, -15, -9, -1, -19, 12, -30, -17, -4, 1, -13, -13, 4, -3, 26,
4794
+    5, -25, 11, -14, -6, -13, 0, -7, 9, 2, 8, -1, -8, 1, -8, 13 },
4795
+  { 1, 6, 1, -4, -4, 1, 2, 0, -3, 2, 10, 6, -6, -2, -11, 4,
4796
+    32, 15, 15, -47, -8, 3, -12, 4, -5, 4, -1, 0, -5, 5, 1, -7 },
4797
+  { 2, -1, 0, 0, -1, -6, 0, -6, 4, -4, 5, 9, -5, 1, -3, 51,
4798
+    4, -5, 4, -14, -1, -4, -3, 1, -4, -1, 0, 2, -8, 0, 1, 2 },
4799
+  { 0, 4, -2, -7, -2, -9, 6, -8, 11, -3, -6, 3, -11, -8, -12, 8,
4800
+    11, 5, 19, 3, -24, 19, -14, 11, -5, -18, -8, -12, -5, -4, -1, 4 },
4801
+  { 16, 9, 10, 14, -18, -2, -18, -27, 10, -5, 12, 14, 4, 0, -2, -6,
4802
+    -12, -7, -1, 3, 4, 7, 11, 10, 5, -5, -7, -16, -3, -6, 6, 9 },
4803
+  { 7, 15, -9, 10, -19, 4, -5, -37, -2, -4, 8, 2, 4, -1, 1, 9,
4804
+    -5, -5, -12, 1, -1, -8, 3, -3, 4, 6, 9, 3, 3, -1, 2, 4 },
4805
+  { 13, 17, 3, 9, -7, -7, -15, -17, -8, -13, -4, -8, 19, 2, 16, 25,
4806
+    7, 15, 2, 16, -5, -6, -10, -9, -7, -6, -2, -7, 7, 2, 4, 5 },
4807
+  { 24, 7, 9, 8, -13, -2, 0, -4, 1, -13, 3, 6, 7, 10, -4, 15,
4808
+    5, 7, -4, 5, -5, 3, 13, -7, 5, 15, -11, -2, 7, 5, 8, 6 },
4809
+  { 17, 6, -15, 23, -2, -1, -6, -2, 0, -4, 11, -3, 12, 15, 6, -8,
4810
+    -15, 10, -9, 7, -1, -11, 2, -8, -4, 3, 4, -10, 4, 4, 11, 1 },
4811
+  { 21, 12, -3, 6, -8, 8, -11, -8, -5, -5, 3, 7, -1, -5, 12, 15,
4812
+    -10, -11, 3, 15, 8, 4, 2, -15, 0, 14, 1, -8, -1, 3, 10, -7 },
4813
+  { 16, 12, 5, 13, -6, 15, -23, 0, -17, -9, 0, 4, -9, 13, 6, 18,
4814
+    0, 0, -4, -1, 0, 14, 5, -1, 8, -4, -8, -6, 5, -2, -2, 0 },
4815
+  { 14, 16, -1, 12, -15, -9, -6, -20, 4, 6, 8, 9, 3, 1, -9, -4,
4816
+    -1, -11, 9, 11, -12, 1, -14, -7, 2, -8, 11, 9, -4, 10, 4, -16 },
4817
+  { 13, 10, 3, 7, 0, -8, -33, -6, 4, -4, 19, -2, 14, 6, 5, 7,
4818
+    6, -3, -1, -10, -10, -9, 4, -3, 5, 9, 2, 2, 10, 9, -2, -3 },
4819
+  { 11, 10, 25, 18, -1, -6, -21, -21, -11, -16, 6, 5, 14, 4, 8, 7,
4820
+    0, -10, -7, -9, -5, -4, 3, -1, 1, 6, -1, 6, -2, 2, -3, -9 },
4821
+  { 15, 9, 5, 22, -17, 15, -9, 7, 7, -9, 13, 9, 10, -1, 8, -3,
4822
+    -2, 6, 1, 17, 8, -14, 7, -3, 12, 9, 1, 0, 1, -5, 17, -18 },
4823
+  { 25, 19, -17, 12, -4, -10, 1, -13, -19, -7, -3, 9, 6, -2, 3, 1,
4824
+    4, -2, -11, -14, -1, -7, -5, -9, 7, -1, -3, 4, -5, 1, 0, -1 },
4825
+  { 20, 8, -3, -10, -24, 3, -6, -2, 0, -12, 14, 6, 7, 11, 4, 7,
4826
+    -12, -5, -8, -10, 5, -1, -4, 4, 16, 7, -14, 6, -1, -2, -7, -11 },
4827
+  { 16, 18, 17, 1, -15, -6, -5, -3, -1, -19, 8, -2, 2, 8, 12, -19,
4828
+    -12, 8, 0, -3, -1, -1, 4, -14, 9, -1, -12, -1, -7, 10, -3, 5 },
4829
+  { 18, 12, -7, 7, 0, -3, -13, 0, -1, -4, 9, -2, 6, -1, 0, 1,
4830
+    15, -21, 1, -8, 25, -19, 13, -9, 2, 12, 5, -7, -3, -1, -3, 1 },
4831
+  { 13, 16, -4, 9, -2, 2, -1, -19, -7, -4, 18, -6, 14, 18, -5, 4,
4832
+    -6, -3, -19, -14, -1, -12, 10, 6, 7, 17, -12, -13, -10, -4, 5, 4 },
4833
+  { 27, 17, 4, 14, -9, -2, -4, -8, 0, -6, 14, -11, -7, 2, -3, -3,
4834
+    -2, -3, -13, 12, 16, 1, -5, -9, -10, -11, -2, 3, -7, 5, 11, -7 },
4835
+  { 7, 17, -16, -2, -14, -28, -7, -8, 15, -10, 7, 15, 8, 17, 13, -1,
4836
+    4, -7, -12, -11, 0, 0, 2, 3, -3, 7, -6, 6, 1, -16, 1, -2 },
4837
+  { 23, 11, -9, 15, -23, -4, -6, -4, 2, -9, -7, 9, -8, 3, -13, -4,
4838
+    8, 18, -6, -2, 1, -5, 6, -14, -5, -2, -6, -5, -3, -2, 4, -5 },
4839
+  { 12, 13, 18, 18, -35, 2, 7, -17, 3, -11, 6, 9, -3, -2, 10, -4,
4840
+    3, 3, -2, -7, 0, 2, -4, 0, -4, 0, -6, 5, 10, 4, -3, -1 },
4841
+  { 19, 11, 1, 20, -14, 4, -9, -13, -2, 11, 0, 17, -1, -1, -1, -1,
4842
+    -5, -8, 0, 5, -1, -8, 5, -1, 3, 2, -12, 21, -2, -24, 5, 7 },
4843
+  { 15, 15, -15, 17, -14, -22, 3, -4, -11, -3, -7, 1, 18, 10, 1, 10,
4844
+    -6, -3, 8, 2, -7, 0, -2, 1, 1, 2, -9, -2, 1, 2, -3, 4 },
4845
+  { 45, 13, 8, 17, -5, 2, -16, 2, 8, -2, 8, -15, 4, 5, -1, 7,
4846
+    -6, -2, -6, 2, -3, 0, 0, -9, -1, 7, 2, 3, -3, -3, -1, 5 },
4847
+  { 1, 18, -8, 18, -12, -10, 3, 4, -22, -12, 20, 8, -3, 9, 2, 10,
4848
+    -10, -3, 9, 3, 6, -3, 10, -1, -3, 2, -2, 4, 2, 3, -3, -18 },
4849
+  { 9, 10, -5, 9, -35, -21, -18, -16, -1, -12, -6, -7, -15, -19, 12, 4,
4850
+    4, 9, -7, 2, 14, 1, 4, 0, -1, 6, -7, 2, 1, 1, -4, 4 },
4851
+  { 31, 8, -17, 35, -8, 1, -5, -6, -7, -6, 10, -2, -3, 6, 9, 3,
4852
+    -6, -2, 3, 3, 5, -3, 0, 6, 0, 1, -5, -3, -2, -4, -1, 0 },
4853
+  { 18, 4, -8, 7, -8, -15, -1, -16, 12, 18, 3, 19, 2, 4, 8, 8,
4854
+    0, -5, -8, -12, 10, -5, 0, 1, 0, 4, -3, 16, 11, 11, -2, -6 },
4855
+  { 27, 15, -17, -10, -23, -22, -1, -14, -4, -7, 20, -2, -7, 6, 15, -5,
4856
+    32, 4, 9, -11, -3, -8, 11, -4, -1, -4, -8, -6, -4, -5, -2, -7 },
4857
+  { 22, 4, -7, 2, -15, -11, -17, -10, 2, 0, 15, 11, 7, 12, -8, 6,
4858
+    -10, -18, -6, -12, 7, 3, 22, 3, -7, 14, -5, -2, -13, -7, -1, -7 },
4859
+  { 18, 13, 9, 24, -4, -19, -9, -11, 13, 8, 2, 4, -1, 8, 14, 10,
4860
+    -12, 0, 0, 5, 10, 5, 4, -1, 5, 1, -1, 11, 2, -4, 0, -9 },
4861
+  { 15, 19, -5, 1, -4, -10, -8, -27, 6, 8, 5, 10, 4, 11, 5, -5,
4862
+    -11, 0, -11, -14, -4, -9, -8, -8, 6, -9, 4, -5, -1, 1, 5, -4 },
4863
+  { 18, 1, -13, 14, -14, 9, -15, -7, 12, 1, 13, -4, -20, 12, 10, 12,
4864
+    -12, 7, 1, -13, 10, -6, 5, -3, 4, 8, 10, -13, -3, -6, 9, -3 },
4865
+  { 19, -14, 5, -8, -6, 2, -5, 5, -3, -1, -28, 11, 18, -6, -4, -2,
4866
+    11, 14, -43, -42, 9, 2, 20, -23, 6, 32, 0, 5, 0, 6, 9, 5 },
4867
+  { 8, 11, -14, -1, 7, 12, -7, 2, -16, 2, 10, -3, -1, -7, -7, -1,
4868
+    1, -10, -60, -23, -18, 42, -13, 9, 18, -11, 0, 1, 0, 2, -5, 1 },
4869
+  { -5, -1, 2, 0, 3, -3, 3, -2, -6, 0, -3, -3, 7, 2, 0, -2,
4870
+    -2, 3, -34, -15, 37, 47, 10, 20, 9, 1, 3, -21, -25, -33, -14, 8 },
4871
+  { 5, 6, 2, -2, -2, -2, 6, 5, -5, 7, -3, 1, -5, -13, 9, 3,
4872
+    -17, -19, -2, -79, -12, -7, -8, -6, -2, -2, -1, -1, -7, -13, 6, -1 },
4873
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1,
4874
+    0, 3, 4, -87, 6, -11, 16, -9, -1, 8, 0, 5, 0, 1, 2, 1 },
4875
+  { -5, 6, 2, -24, 5, -9, -7, 0, 7, 3, -3, 16, -14, -16, 0, 18,
4876
+    15, -9, -14, -28, -17, 53, 14, -6, -28, -1, -3, -10, -7, -14, 19, -15 },
4877
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0,
4878
+    -13, 0, -53, 3, -22, 63, 19, 16, 1, -11, 0, -3, 0, -3, 0, 1 },
4879
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
4880
+    -1, -6, -43, -43, -2, 65, -13, -4, 9, 1, 1, 2, 1, 0, 0, 1 },
4881
+  { 0, 1, 0, 0, -1, 0, 1, 1, 0, 0, 1, 2, -1, -1, -3, -1,
4882
+    -23, 1, -61, -55, 3, -28, -6, -4, -4, 8, 2, 1, 1, -1, 0, 0 },
4883
+  { 0, 1, -1, 1, -1, 0, -1, 0, 1, -1, 0, 1, -1, 0, -9, -4,
4884
+    -48, -19, -52, -46, 11, -12, 5, -14, 0, -10, 0, 0, -1, -2, -1, 0 },
4885
+  { 0, -3, -1, -4, 2, -1, -7, 3, 1, 3, -1, 1, -3, 0, -7, 0,
4886
+    3, -7, -61, -51, -4, -21, -16, -21, -11, 14, -7, 8, 3, -5, 1, 2 },
4887
+  { 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, -1, 9, -3,
4888
+    56, -11, -6, -67, -1, 13, 0, 7, 1, -9, -1, -1, 0, 0, 1, 0 },
4889
+  { 14, 9, -2, 14, -10, -10, 9, -5, 1, -8, -23, 30, 8, -7, 23, 8,
4890
+    2, 10, -1, -27, -17, 57, 22, 4, -5, 2, -12, -6, 2, -7, -4, -9 },
4891
+  { 1, 5, 12, -2, -2, -3, 2, -3, 6, 0, 4, -2, -8, -6, 0, 16,
4892
+    -15, 29, -55, -29, -24, 29, 3, 10, 6, 13, 10, -5, 21, 11, -14, 5 },
4893
+  { 4, 2, 26, -6, 10, 11, -23, -10, -27, -20, 3, -24, -11, -10, -13, 25,
4894
+    -10, 5, -9, -36, -7, 43, 3, -13, 6, 13, -2, 0, 1, 3, -3, -4 },
4895
+  { -1, 0, -1, 0, 0, 0, 0, -1, 1, 0, -1, 0, 0, 0, -1, 1,
4896
+    -12, 12, -26, -64, -15, 29, 37, -7, -3, -12, -5, 14, 8, -8, -10, -2 },
4897
+  { 19, -4, -11, -16, 8, 14, 5, 19, 3, 22, -11, -21, -1, -6, -11, 11,
4898
+    10, -24, -23, -40, -8, 20, 17, 5, 13, -6, 3, 14, -20, -8, 3, 28 },
4899
+  { 2, -12, 10, -14, -18, 26, -22, 4, -2, 5, -21, 8, 3, 1, 19, 0,
4900
+    -12, 24, -14, -40, 15, 29, -15, 6, 15, 1, -19, 2, 4, 7, -12, -3 },
4901
+  { 0, 17, 13, 7, -5, -11, 2, -19, 3, 38, -21, -3, -6, -4, 7, 1,
4902
+    1, -5, -40, -10, -2, 35, 8, 8, -10, -8, -9, 33, 4, 4, 0, -2 },
4903
+  { -2, -12, 7, 29, -24, 2, 16, -1, -7, 16, 10, -2, -2, -2, 13, -2,
4904
+    -37, 15, -22, -40, -11, 33, 10, -1, 8, 10, 6, 8, 9, 0, -12, 2 },
4905
+  { 15, -8, -9, -2, 7, -17, 7, 19, 14, 4, 12, 27, 11, 10, 4, 11,
4906
+    -15, 14, -13, -48, 5, 18, 0, -9, -36, -11, 2, 4, 5, 5, -15, -12 },
4907
+  { -12, 0, 3, 4, 7, -5, 5, -14, -24, -18, -6, -15, -8, -20, 1, -7,
4908
+    -33, -28, -40, -38, -18, -10, -5, 17, -12, 4, 3, -5, 5, -13, 4, -7 },
4909
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
4910
+    -3, -9, -49, -60, -5, 45, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
4911
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
4912
+    -3, -9, -49, -60, -5, 45, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
4913
+  { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0,
4914
+    3, -2, 9, -29, -11, 55, 8, 32, -36, -13, -7, 37, 4, 11, 0, 3 },
4915
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4916
+    4, -1, -39, -4, -30, 63, 28, -17, -6, 10, 7, -14, -9, 11, 9, 7 },
4917
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
4918
+    13, -2, -50, -32, 22, 51, 4, 7, 6, 11, -20, -13, 9, -5, 21, -4 },
4919
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
4920
+    -3, -9, -49, -60, -5, 45, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
4921
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
4922
+    -3, -9, -49, -60, -5, 45, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0 },
4923
+  { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0,
4924
+    3, -2, 9, -29, -11, 55, 8, 32, -36, -13, -7, 37, 4, 11, 0, 3 },
4925
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4926
+    4, -1, -39, -4, -30, 63, 28, -17, -6, 10, 7, -14, -9, 11, 9, 7 },
4927
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
4928
+    13, -2, -50, -32, 22, 51, 4, 7, 6, 11, -20, -13, 9, -5, 21, -4 },
4929
+  { -8, 2, 1, 22, -31, -6, -25, -3, -3, 1, -15, -11, -2, -3, 4, -13,
4930
+    -9, 15, -18, 37, -7, -37, 12, -13, -11, -25, -10, -11, -22, 7, 16, 7 },
4931
+  { 14, 10, 4, -10, -1, -5, -7, -3, 16, 13, -5, -15, 5, 11, -1, 8,
4932
+    -27, 7, -12, 49, 17, -22, 9, -2, -9, -1, 2, -15, -1, 41, -18, -17 },
4933
+  { -4, -9, -15, -3, 3, 4, 4, 2, 7, -3, -7, -8, -5, 17, -19, -7,
4934
+    36, -9, -38, 17, 1, -48, 11, -18, -13, -2, -8, 4, -10, -5, 21, 11 },
4935
+  { 15, -13, 4, 2, 1, -5, -2, 1, -10, 7, -1, 3, -6, 0, 11, -11,
4936
+    8, 20, -17, 51, -17, -41, 2, 15, 4, 8, -2, 16, -32, -1, 17, 6 },
4937
+  { -8, 8, -18, -5, 4, 6, -3, 8, 0, -4, 2, 0, -1, -4, 5, 8,
4938
+    30, 30, -8, 70, 2, 8, 2, 0, 7, 1, 13, -1, -6, -7, -11, 2 },
4939
+  { -8, -7, 9, -10, -13, 6, -11, -14, 13, 25, -26, 5, 2, -5, -5, 5,
4940
+    -8, 4, 0, 33, 12, -38, -4, 6, 13, 6, 25, 34, -1, 25, -19, -5 },
4941
+  { 18, 3, -17, 4, -8, 7, 20, 1, -1, 5, -5, -2, -8, 8, -35, 15,
4942
+    24, 43, -5, 51, 5, -12, -3, 1, -2, 3, -3, -3, -9, 8, -9, 2 },
4943
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
4944
+    2, 10, 24, 76, -2, -22, 11, -1, 4, 33, 4, 1, -1, 1, 2, 0 },
4945
+  { 0, -1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, 0,
4946
+    24, 13, 32, 70, 26, 5, -21, -9, -6, -15, 2, -2, 2, 4, 1, 1 },
4947
+  { 5, -4, -11, 4, -4, 22, 10, -2, 13, -11, -4, -21, -17, 0, -7, 4,
4948
+    10, -34, 11, 52, 2, -46, -5, 0, 0, -1, 2, 4, -9, 1, 1, -7 },
4949
+  { 0, 1, 1, 0, -1, 0, 1, 0, 1, 1, 0, 1, 0, 0, -3, 1,
4950
+    -8, 9, -1, 64, -13, -61, -3, 3, -5, 10, 1, 3, -1, -1, -1, -1 },
4951
+  { 0, 1, 0, -1, 0, -1, 0, 0, 1, 0, 0, 0, 1, 1, 2, 1,
4952
+    10, -2, -31, 79, -10, 27, 0, -1, 3, 8, 1, 1, 0, -1, 0, -1 },
4953
+  { 3, 12, 10, 26, -19, 10, -9, 6, -4, -15, 10, 3, -16, 6, 11, -19,
4954
+    3, 10, 18, 44, 5, -30, 5, -9, 21, 4, 20, 10, 14, -25, 8, -17 },
4955
+  { 0, 0, 0, 1, -1, 0, -1, 0, 1, 0, 1, 1, 0, 0, -6, -2,
4956
+    8, -8, 13, 69, 26, -19, -25, -17, 16, 6, -12, 22, 2, -6, 9, 5 },
4957
+  { 0, -1, 0, 1, 0, -1, -1, 0, 0, 1, -2, 1, 0, 0, -4, -1,
4958
+    -34, -15, -33, 56, 9, -42, 9, 10, 6, 9, -8, -11, 0, -6, 15, 5 },
4959
+  { 10, 2, -14, -3, -15, -35, -1, 7, -18, 14, 8, -1, -15, -26, 6, -15,
4960
+    -18, 22, 9, 33, 0, -32, -9, 3, -11, 7, 4, -1, 5, 30, 9, 1 },
4961
+  { 4, 15, 0, 6, -5, -11, 9, 6, 6, 6, 14, 2, -1, 10, -24, -25,
4962
+    -2, -4, -1, 37, 2, -29, 14, -9, 22, 17, -2, 33, 10, -25, 11, -11 },
4963
+  { 0, 5, 2, 18, -12, 21, 22, 33, -7, 21, -9, -7, 7, -15, -7, 16,
4964
+    7, 0, -14, 44, 10, -25, 5, -4, 15, -8, 10, -4, 5, 9, -1, 16 },
4965
+  { 3, 13, 12, 12, 8, 25, -23, 8, -22, -3, -18, -8, 15, 12, 9, 19,
4966
+    0, 0, -9, 49, -27, -15, -9, -15, 12, -8, -16, -7, 13, 5, 13, 2 },
4967
+  { 12, -6, 7, -2, 20, -9, -14, 12, 13, -5, -17, 22, -8, -4, 2, 7,
4968
+    -13, -2, -15, 43, -5, -30, 27, 4, 10, -27, 5, 27, -10, -10, -18, 0 },
4969
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
4970
+    -1, 10, -18, 70, -2, -52, -1, -7, 0, 0, 0, 0, 0, 0, 0, 0 },
4971
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
4972
+    -1, 10, -18, 70, -2, -52, -1, -7, 0, 0, 0, 0, 0, 0, 0, 0 },
4973
+  { 15, -13, -20, 16, 2, 13, 5, -11, -8, -5, -3, 2, 24, -23, 30, -7,
4974
+    11, 30, -15, 43, 5, -15, 15, -3, -14, 1, -23, 8, 3, 9, 4, -11 },
4975
+  { 0, -1, 0, 1, 0, -1, -1, 0, 0, 1, -2, 1, 0, 0, -4, -1,
4976
+    -34, -15, -33, 56, 9, -42, 9, 10, 6, 9, -8, -11, 0, -6, 15, 5 },
4977
+  { 10, 2, -14, -3, -15, -35, -1, 7, -18, 14, 8, -1, -15, -26, 6, -15,
4978
+    -18, 22, 9, 33, 0, -32, -9, 3, -11, 7, 4, -1, 5, 30, 9, 1 },
4979
+  { 4, 15, 0, 6, -5, -11, 9, 6, 6, 6, 14, 2, -1, 10, -24, -25,
4980
+    -2, -4, -1, 37, 2, -29, 14, -9, 22, 17, -2, 33, 10, -25, 11, -11 },
4981
+  { 0, 5, 2, 18, -12, 21, 22, 33, -7, 21, -9, -7, 7, -15, -7, 16,
4982
+    7, 0, -14, 44, 10, -25, 5, -4, 15, -8, 10, -4, 5, 9, -1, 16 },
4983
+  { 3, 13, 12, 12, 8, 25, -23, 8, -22, -3, -18, -8, 15, 12, 9, 19,
4984
+    0, 0, -9, 49, -27, -15, -9, -15, 12, -8, -16, -7, 13, 5, 13, 2 },
4985
+  { 12, -6, 7, -2, 20, -9, -14, 12, 13, -5, -17, 22, -8, -4, 2, 7,
4986
+    -13, -2, -15, 43, -5, -30, 27, 4, 10, -27, 5, 27, -10, -10, -18, 0 },
4987
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
4988
+    -1, 10, -18, 70, -2, -52, -1, -7, 0, 0, 0, 0, 0, 0, 0, 0 },
4989
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
4990
+    -1, 10, -18, 70, -2, -52, -1, -7, 0, 0, 0, 0, 0, 0, 0, 0 },
4991
+  { 15, -13, -20, 16, 2, 13, 5, -11, -8, -5, -3, 2, 24, -23, 30, -7,
4992
+    11, 30, -15, 43, 5, -15, 15, -3, -14, 1, -23, 8, 3, 9, 4, -11 },
4993
+  { 16, -18, 7, -4, 31, -15, -9, -13, 20, -12, -6, 0, 12, -6, -2, 4,
4994
+    3, -3, -1, 0, 1, 3, 3, -2, 1, 6, 4, 0, -3, 2, -5, 1 },
4995
+  { 38, -5, -13, -4, 8, -15, 11, 1, 2, -4, -1, 9, 13, 4, -12, -7,
4996
+    0, -2, 7, 2, -6, -2, -3, -2, 3, -4, 6, 15, 1, 1, -11, -2 },
4997
+  { 47, -22, 9, -26, 3, -5, 2, -7, 4, -2, 2, -2, 3, 0, 3, -4,
4998
+    3, -3, 2, -3, 7, -3, -1, 1, 1, -5, 5, 0, 2, -5, -3, -2 },
4999
+  { 14, -16, 2, -6, 7, -2, -7, -4, -4, -7, 14, -3, 7, -19, -14, -17,
5000
+    -29, 6, 26, 16, -5, 13, -4, -1, 21, 14, 1, 3, -6, 0, -7, -1 },
5001
+  { 29, -11, 5, -3, 4, 11, 4, -10, 1, -22, -3, -10, 5, 4, 2, 8,
5002
+    -2, -7, -12, -12, -8, -3, -18, -2, -9, -5, -1, -3, 2, -14, -14, 7 },
5003
+  { 28, -12, 5, 3, 9, -7, 0, -2, 2, 1, 4, 0, -7, -3, -2, 4,
5004
+    4, 14, 8, -1, -4, 14, -7, 17, -2, -2, -9, 2, 19, -7, 9, -8 },
5005
+  { 31, -18, -22, 8, 15, -5, -10, -15, 1, 10, 6, 7, 6, -8, 2, -1,
5006
+    12, -3, 3, -1, 1, 5, -6, -4, 0, 1, 7, -10, -2, 4, -3, -4 },
5007
+  { 53, -30, -4, 12, 2, 3, -3, -3, 0, 1, 6, 5, -5, -4, -7, 1,
5008
+    0, 2, 1, 3, 1, 5, 0, 2, 2, -1, 0, 4, 2, 0, -2, 0 },
5009
+  { 27, -18, -3, -2, 4, -8, 3, -2, -11, 2, 10, -8, -8, -4, 0, -2,
5010
+    8, 0, 9, 0, -16, 11, 1, -6, 13, -3, -10, -13, -15, 25, 1, 0 },
5011
+  { 35, -5, -1, -8, 23, 11, -14, -3, 2, -2, 8, -6, 17, -2, 7, 0,
5012
+    -2, 10, -17, 13, -2, -2, 11, 11, -14, 2, -2, -3, -8, -1, -12, -5 },
5013
+  { 29, -9, 7, 3, 2, -10, 0, 3, 9, 0, -3, 5, 1, -10, 10, -5,
5014
+    3, 6, -20, -9, -6, -4, 1, 0, 12, 17, -8, 9, 3, -1, -9, 0 },
5015
+  { 15, -16, 18, -19, 16, -15, 17, -18, 13, -16, 17, -14, 15, -9, 13, -17,
5016
+    9, -7, 4, -5, 3, -4, -3, 0, -6, 7, -9, 7, -2, 7, -9, 9 },
5017
+  { 21, -10, 7, -2, 12, -7, 13, -17, 11, -2, 20, 3, 5, -11, -6, -6,
5018
+    -15, 0, -9, 5, -11, 7, -1, 7, 8, -10, -9, 3, -5, 9, -8, -2 },
5019
+  { 23, -22, 15, -5, 16, -4, -3, -12, 9, 3, -1, -2, -8, 2, -2, -16,
5020
+    3, 4, -2, -6, -7, 12, -8, 2, -14, 2, -7, 11, -2, 6, -4, -1 },
5021
+  { 34, -17, -4, 8, 4, -6, 1, 8, 4, 16, 3, 6, 12, -1, -1, -15,
5022
+    6, 4, -7, -6, 6, 0, 2, 1, -2, 2, 3, 3, -3, -2, 8, -6 },
5023
+  { 18, -18, 2, -2, 10, 1, 18, -23, -3, -10, 0, 4, 20, -19, -3, -4,
5024
+    2, 8, 6, 1, -3, 1, 1, 3, 5, -1, -11, 3, -7, 5, -1, 1 },
5025
+  { 15, -14, 2, 3, 10, -8, 12, -13, 13, -15, 6, -8, -4, -10, 14, -9,
5026
+    24, 2, -7, -18, 13, -11, 8, 14, -6, -2, 3, -1, -4, 7, -7, -4 },
5027
+  { 20, -12, 13, 5, -1, -10, 15, -6, 8, -1, -3, -10, 17, 0, -6, -19,
5028
+    2, -1, 8, -3, -16, 0, -3, 2, -2, 0, 8, -9, 0, 1, -10, -9 },
5029
+  { 32, 0, -9, -5, -1, 5, 13, -11, 8, 3, 11, -11, 0, -8, -2, -14,
5030
+    7, 10, 6, -5, 1, 10, 2, 12, -10, 4, 4, 6, 4, 0, -7, -10 },
5031
+  { 16, -14, 10, -7, 11, -11, 11, -11, 18, -13, 8, -15, 16, -11, 13, -9,
5032
+    8, -7, 12, -11, 7, -6, 3, -5, 9, -5, 4, -1, 7, -4, 8, -3 },
5033
+  { 24, -27, -1, 5, 8, -5, 12, 7, 4, -3, 3, -1, -9, -11, -13, -5,
5034
+    10, 0, -13, 7, 1, -5, 4, -9, 7, -3, 13, 2, -5, -3, -17, -2 },
5035
+  { 23, -19, 15, 1, -10, -18, -12, -6, 8, -3, 12, 0, -12, -10, -4, -4,
5036
+    8, -10, 4, 2, -2, -8, 13, -3, -2, -6, 2, -3, 5, -2, 2, 11 },
5037
+  { 25, -12, 4, 2, 24, -3, 3, -6, 14, 11, 0, -21, -3, -3, 1, -8,
5038
+    7, 0, 0, 3, 3, -6, -7, 6, 2, 1, -4, 5, -1, 10, -2, 9 },
5039
+  { 24, -8, -6, 7, 16, -12, 13, -1, 11, -21, 2, -6, 3, -12, 0, 9,
5040
+    4, 11, -7, 1, 4, 1, -8, 3, 3, -6, 3, 3, 0, -8, 8, 4 },
5041
+  { 25, -21, 13, 14, 13, -18, 4, -3, 0, -5, -4, 5, -3, 0, 4, 12,
5042
+    7, 3, 5, -5, 2, -2, 3, -10, 2, -9, -15, 6, 1, 7, -5, 1 },
5043
+  { 23, -16, -2, 10, 4, -1, 3, 1, 32, 3, -5, -2, 9, 10, -1, -4,
5044
+    -6, 2, 9, -1, 14, 12, -6, -1, -17, -2, -4, -9, -7, -6, -8, 3 },
5045
+  { 50, -8, 5, 2, -11, 10, 0, 0, 6, -3, 7, 0, -3, -2, -3, 0,
5046
+    6, -4, 2, -5, -9, 0, 3, 10, 1, -7, -2, -3, -6, -9, 1, -2 },
5047
+  { 28, -17, 0, -2, 2, -9, 1, 5, -4, -1, 0, 0, 19, -27, 5, -12,
5048
+    7, -14, -3, -6, 10, -2, -4, -2, 4, -5, -2, -7, 1, 7, -9, 4 },
5049
+  { 22, -19, -6, -6, 3, -22, 3, 5, 20, -8, -14, -5, 1, 1, 20, 2,
5050
+    16, 6, 3, 14, 4, 3, 5, 1, 5, -7, -10, -6, 3, -6, 1, -14 },
5051
+  { 29, -14, -8, 13, 8, -10, -6, 4, 4, -6, 5, -7, 1, 12, 14, 11,
5052
+    -7, 1, 2, -9, -11, -9, 0, 4, -1, 7, 10, 4, 4, 20, -1, -11 },
5053
+  { 18, -9, 4, 1, 7, -29, 12, 1, -1, -9, -2, -1, -2, 2, 9, -8,
5054
+    -13, 5, 4, -13, -4, 2, -5, -7, -6, 14, -10, -34, -3, 1, -3, -13 },
5055
+  { 38, -9, 24, 8, 11, 4, -6, -11, -2, -12, 1, 1, -11, -8, -5, -2,
5056
+    -15, -8, 8, 0, 1, -7, 5, 4, -1, 8, -2, 11, -3, -1, -5, -5 },
5057
+  { -20, 11, -4, 24, -11, 1, 15, 4, 0, -28, -10, -1, 10, 10, -6, 5,
5058
+    -6, 2, 7, -2, 1, -2, -6, -3, -7, 1, 2, 12, -1, 7, 0, -2 },
5059
+  { -9, 10, -23, 27, -4, -17, 20, -6, 14, -17, 5, -1, 5, -9, -7, 5,
5060
+    -6, 4, -2, 9, 0, 8, 0, 1, -3, -3, -5, -8, 5, -2, -2, 12 },
5061
+  { -10, 19, 4, 9, 1, -16, 17, -2, 9, -29, -16, -11, -4, 7, -5, 4,
5062
+    -1, -3, 3, 2, 3, -4, 5, -12, -2, 6, 5, -4, 4, 1, 4, 10 },
5063
+  { -20, 10, -24, 14, -5, 11, 9, 0, 16, -20, 10, -5, -6, -6, -1, 2,
5064
+    -4, 5, -16, 8, -2, 5, 5, -11, 9, -11, 4, -11, -1, -1, 4, 3 },
5065
+  { -9, 11, 3, 19, 24, 4, 5, -14, 30, -17, -4, -2, -17, 7, 2, 3,
5066
+    1, 3, -7, -4, 2, -3, 1, 4, -1, -1, 3, -12, -2, 3, -3, 10 },
5067
+  { -19, 18, 11, 19, 19, 19, 10, 4, 13, 6, 5, 4, 8, 3, -2, 12,
5068
+    -6, -2, 7, -6, 15, 12, 16, 16, 18, -3, -4, -20, 0, 10, -9, -3 },
5069
+  { -21, 9, 20, 12, 0, -3, 5, -9, 15, -13, 5, -5, -6, 24, 2, 9,
5070
+    -5, 2, -7, 2, 5, 7, -5, 2, 15, 3, 1, -1, -4, -2, 7, 0 },
5071
+  { -18, 16, 13, 15, 2, -10, 14, -11, 4, -11, 5, 12, 12, 20, 8, 30,
5072
+    2, 11, -9, 7, 0, -3, -16, -5, -6, 5, -4, -21, 0, 5, 6, 1 },
5073
+  { -26, 8, -13, 9, 6, -10, 2, -11, 7, -4, 6, -19, -11, -6, -12, 16,
5074
+    0, 5, -7, 8, 5, 6, 17, -9, 10, -10, 5, -3, -11, 2, 4, 10 },
5075
+  { -11, 17, -3, 22, -5, 18, 3, 1, 4, -5, 14, -27, 5, -7, -4, -5,
5076
+    -10, 11, 1, 15, 1, 1, -6, -5, 10, -22, -7, -7, -15, 13, -4, 5 },
5077
+  { -17, 14, -7, 13, 3, 0, 13, -6, 9, -14, -22, -1, 1, 19, 14, -3,
5078
+    4, -13, -13, 2, -4, 8, -2, -2, 13, -12, 13, -12, -7, -5, -3, 6 },
5079
+  { -17, 17, -1, 33, 6, 3, 9, -16, 3, -14, -8, 6, -17, 8, 3, 13,
5080
+    8, -6, 3, 1, -2, 0, -2, 8, 4, 9, 13, -10, 4, -17, 0, -6 },
5081
+  { -20, 7, 7, 21, 1, -3, 7, -3, -2, -12, 9, -7, 2, -3, 14, 1,
5082
+    -1, -7, 12, -10, 5, -20, 11, -2, 0, -24, -17, 6, 6, -4, 3, -1 },
5083
+  { -8, 10, 6, 7, -1, -6, 28, -6, 10, -33, 1, -20, 0, -12, 10, 1,
5084
+    -6, 8, -3, -1, -10, 8, 5, 0, 10, -2, 8, 16, -5, -3, -7, 4 },
5085
+  { -17, 13, 3, 15, 1, -5, 27, -5, 6, -6, 12, 2, -4, 8, -1, -3,
5086
+    -2, 12, -15, 3, 4, 1, 2, -9, 0, -16, -21, 2, -4, 16, -7, 4 },
5087
+  { -15, 20, 8, 17, 5, -14, 15, -11, 21, -11, 13, -13, 2, -15, -13, 1,
5088
+    -5, 5, 2, 10, -9, 4, -1, 3, 2, -4, 13, -5, 1, -4, 5, -3 },
5089
+  { -21, 8, 2, 16, -1, 2, 15, -16, 13, -12, -12, -7, -8, 2, -7, 11,
5090
+    -8, 5, 2, -7, 16, -4, 1, -7, 3, -15, 6, -5, -8, 2, -8, 5 },
5091
+  { -15, 17, -6, 3, -3, 3, 9, -7, 14, -23, 11, 1, -1, 4, 7, 6,
5092
+    -1, -14, 7, 6, -8, 5, 1, -15, 10, -9, 2, -3, -1, 4, -10, -4 },
5093
+  { -10, 18, 3, 11, 1, 4, 14, -14, 7, -4, 15, -10, 10, -11, 10, -4,
5094
+    5, -14, 10, 4, 15, -12, 15, -13, 20, -15, 14, -15, 8, -11, 4, -6 },
5095
+  { -7, 23, 2, 20, 7, 8, 19, -5, 9, -16, -8, -17, -5, 1, 5, -6,
5096
+    -8, 1, -6, -4, 10, 6, 6, 2, -11, -4, 0, 2, 4, 7, 9, -4 },
5097
+  { -15, 20, -5, 22, 11, -8, 9, -5, 10, -13, -8, 8, 2, -2, -3, 7,
5098
+    6, 10, 1, 2, -5, -9, 1, 10, 16, -22, -7, 0, 7, 7, 6, 1 },
5099
+  { -26, 19, -5, 3, 5, 25, 18, -5, 9, -14, -8, -6, -2, -6, 2, 3,
5100
+    -8, -2, -7, 7, -3, 7, 3, 4, -8, 0, 1, -8, -4, -2, -2, 1 },
5101
+  { -20, 14, -10, 6, -3, 7, 8, -32, -2, -7, -2, -10, 16, -12, -9, 15,
5102
+    -2, -5, -6, 2, -7, 5, 9, 1, 6, -7, -1, 0, -2, -4, -7, 3 },
5103
+  { -14, 16, 4, 11, -8, 1, 23, -4, 17, -13, -10, 1, 12, 9, 12, -4,
5104
+    7, -1, -1, 5, -8, -6, 3, 3, -6, -3, -18, 0, 18, 20, 4, -2 },
5105
+  { -33, 19, -10, 30, 15, 2, -3, -1, -4, -14, 7, -7, -1, 7, -8, 9,
5106
+    -1, -3, -5, 2, 2, 4, 0, 5, 0, 0, 2, 3, 3, -3, -3, 4 },
5107
+  { -6, 20, 0, 5, 17, -10, 18, -17, 9, -16, 4, -13, -6, 2, -14, 14,
5108
+    -28, 9, -12, 25, -4, 7, 7, -8, 6, -6, -2, -10, 2, -11, -1, 2 },
5109
+  { -12, 14, 12, 52, -3, 5, -5, 4, 8, -13, 2, -5, -4, 2, -2, -1,
5110
+    -2, 3, 3, 5, 2, 3, 0, 1, -5, 2, -4, -3, 1, -5, -2, 0 },
5111
+  { -13, 6, 9, 24, 0, 8, 14, -15, 18, -9, -11, -8, 3, 15, -2, -4,
5112
+    -9, 4, -3, 12, 14, -13, 11, -4, 2, -4, 0, -6, -6, -6, -14, -1 },
5113
+  { -10, 28, 3, 12, 9, 3, 11, -28, 6, -11, -7, 4, 0, 7, 8, -9,
5114
+    0, -6, 0, -16, 4, 7, 4, 4, 7, 3, 4, -7, 0, -3, -10, 6 },
5115
+  { -11, 14, -2, 19, -1, -1, 7, 9, -2, -27, 10, -14, 15, -4, 12, -4,
5116
+    2, -2, -6, 12, -6, 0, -5, -4, -5, 1, 3, -11, 5, -9, 3, -8 },
5117
+  { -18, 7, 13, 16, -4, 3, 9, -10, 10, -10, -3, -22, -4, -12, 3, -16,
5118
+    0, -3, -16, 8, -11, 1, 10, -7, 15, 3, 0, -1, -13, 8, 1, 6 },
5119
+  { -20, 10, -10, 10, 8, -1, 6, 0, 16, -12, 9, -10, -1, -5, -4, -13,
5120
+    13, 16, -8, 12, -2, 14, 18, 13, 0, -16, 2, -5, -5, -5, -4, 3 },
5121
+  { -14, 5, -7, -17, 5, -13, 23, 20, -4, -1, 1, -6, 13, 5, -1, 4,
5122
+    -14, -2, -7, 8, 3, 2, 2, -7, 2, -1, 4, 7, 3, -9, -1, -5 },
5123
+  { -19, 3, -24, -28, -9, -7, 19, 3, 2, 19, 7, 5, -13, 8, -15, -17,
5124
+    3, -11, 4, 13, 3, 2, -1, -3, -4, -4, 2, 0, -5, -6, 6, 2 },
5125
+  { -17, 18, -30, -20, -2, -3, 1, 15, -1, -11, 6, -4, 11, 11, -4, -5,
5126
+    -10, 0, 0, 1, 3, -7, 8, 2, 5, 1, 5, -5, 1, 6, 4, 1 },
5127
+  { -6, 1, -30, -25, -1, -8, -2, -9, -17, 16, 3, -1, -2, -9, -6, -7,
5128
+    -3, 12, 6, -4, -10, 0, 10, -8, -6, -5, -3, -11, -4, 0, -1, -3 },
5129
+  { -1, -1, -34, -28, 1, -10, 2, 9, 4, 16, 2, 6, 14, 17, 0, 7,
5130
+    -4, 4, 4, 4, 0, 1, -1, -5, 8, 1, -4, 1, -9, -2, 5, 6 },
5131
+  { -11, 14, 1, -31, -7, -24, 9, 7, 6, 5, -13, 1, -1, 3, 4, -1,
5132
+    -2, -8, -6, 3, 5, -4, -6, 7, -2, 5, 3, 3, 0, 0, -5, 2 },
5133
+  { -25, 8, -11, -18, 1, -4, 8, -3, -4, 15, 6, -5, 8, 2, 3, 4,
5134
+    -4, 5, 6, 8, -7, 6, 1, -11, -15, -13, 9, -4, -14, 10, 12, 7 },
5135
+  { -20, 11, -15, -25, 3, 4, 18, 13, -4, -5, -9, -1, -5, -2, -2, -7,
5136
+    16, 5, -4, -5, -7, -2, -3, -9, 11, -2, 0, -7, -17, -6, -11, 6 },
5137
+  { -11, 18, -5, -20, -15, -3, 9, 11, -20, 12, 5, 5, 11, -3, 7, 1,
5138
+    10, -6, -3, -3, 3, 3, 14, -7, 10, -17, 9, -11, -2, -6, 7, -12 },
5139
+  { -20, 8, -14, -17, -9, -13, -3, 0, -27, -14, -3, -14, 4, 3, 6, -6,
5140
+    7, 4, 23, 9, 11, 9, 3, -4, 9, 2, 4, -1, -6, 1, -8, -11 },
5141
+  { -9, 14, 2, -37, -7, 13, 6, -11, -6, 9, 18, -11, -6, 2, 12, 4,
5142
+    -1, 3, 1, -2, -2, 1, -9, -4, -2, -3, 3, 5, -6, 0, -2, -8 },
5143
+  { -29, 8, -1, -13, -2, 8, 23, 2, -10, 7, 13, -6, -5, 11, 13, 0,
5144
+    -10, -13, 11, -12, -10, 6, 4, 6, 4, 3, 6, -5, -9, -2, -1, 3 },
5145
+  { -18, 6, -10, -55, -4, -11, -2, 0, 1, -3, -9, -6, 3, -2, -1, 6,
5146
+    3, -1, 3, 1, -4, -7, -2, 6, 3, -2, -1, -3, -2, 0, 4, 1 },
5147
+  { -14, 5, 3, -21, -8, -16, -4, -2, -11, 27, 15, -20, 3, 0, 1, 1,
5148
+    2, -5, -5, 4, 1, -9, 5, -3, 3, 0, -4, -2, -11, -4, -3, 7 },
5149
+  { -17, -1, -9, -17, -8, -18, 12, -13, -9, 13, -3, 3, 3, -3, 1, -2,
5150
+    0, 16, -9, 6, 12, 9, 5, 11, 2, -15, 1, -4, -16, 7, -4, -12 },
5151
+  { -18, 8, -6, -11, -8, -7, 13, 7, 1, 6, 8, -1, 21, -4, 14, 15,
5152
+    18, -4, -3, 15, 0, 9, 4, 7, 3, -1, 9, -2, 0, 7, -8, 2 },
5153
+  { -10, 7, -18, -29, 3, 12, 12, 9, 11, 4, -1, -15, 1, -1, 8, -2,
5154
+    -2, 10, -15, -1, 0, 6, 12, -6, -1, 10, -6, -3, -11, -4, 9, -6 },
5155
+  { -14, 14, -9, -21, -12, -2, -1, -7, -5, -10, 5, -8, 0, 6, 9, -11,
5156
+    11, -3, -5, 3, 8, 15, -2, -4, -22, 4, -6, 12, 2, 13, 6, -7 },
5157
+  { -12, 11, -5, -29, -25, 4, 12, -13, -11, -7, 4, 2, 2, -5, 5, 8,
5158
+    7, -5, -5, 6, 3, -10, 1, -6, 6, -6, -5, -1, -2, -4, 7, 6 },
5159
+  { -15, 11, -5, -16, 0, -13, 26, -23, -6, -3, 5, -2, -2, 21, -6, -3,
5160
+    -5, -1, 6, -1, 0, -13, 2, -3, -9, -1, -4, -3, 5, -4, 12, -16 },
5161
+  { -9, 9, -1, -17, -3, -6, 12, 6, -18, -2, 11, -14, -6, 3, 14, -12,
5162
+    -11, -5, 14, 2, 5, -8, -4, -11, 2, -5, 16, 6, -7, -4, 8, 13 },
5163
+  { -13, 5, 3, -28, -14, 0, 6, 23, 5, 4, -1, -17, 1, -3, 0, 0,
5164
+    5, 4, 0, -18, 14, 10, 4, 2, 5, -2, 4, -3, 2, 0, 2, 0 },
5165
+  { -15, 4, -13, -16, -3, -12, -2, 2, 7, 10, 9, 3, 11, 4, 23, 14,
5166
+    9, 16, 4, 1, -12, -3, 4, -7, -15, -7, -10, -14, -6, -8, -1, -6 },
5167
+  { -7, 10, -5, -10, -3, -13, 16, -1, -12, 7, -3, -12, 2, 13, 13, 2,
5168
+    17, 15, -13, 1, -5, -2, 3, -1, 1, -3, 6, -3, -12, -16, 7, -7 },
5169
+  { -11, -5, -12, -30, -6, -22, 1, 4, -6, -3, 12, 6, 7, 0, 16, 6,
5170
+    -2, 0, -22, -2, -9, 2, -13, 8, 6, -8, 4, -7, -1, -6, 4, 6 },
5171
+  { -14, 5, 1, -27, -4, 2, 1, 14, -11, -7, -8, -4, 1, 8, 0, -6,
5172
+    -13, 11, -12, -7, -5, 1, 10, 7, 3, -2, 0, 6, -8, 2, 10, -1 },
5173
+  { -10, 10, -25, -13, -20, -4, 19, 3, 13, 5, 5, 7, -8, 2, 4, 2,
5174
+    3, -1, -1, -9, 14, 10, 9, 14, 3, 3, -6, 0, -5, 4, 1, -1 },
5175
+  { -9, 15, -18, -17, 4, -11, 6, 7, -12, 8, -1, -11, 2, 3, 7, 16,
5176
+    -3, -9, 7, -12, 23, 0, 6, 7, -14, -9, 8, 1, -2, 6, -2, -1 },
5177
+  { -6, 9, -16, -26, -14, -11, 9, -6, 5, -2, 13, 17, 21, 7, 18, -19,
5178
+    6, -23, -2, -15, -2, 2, -10, -8, 2, 1, -2, 4, -3, -4, -5, -4 },
5179
+  { 0, 6, -5, -28, -17, -32, 2, -10, 11, 3, -5, 9, 10, 3, 11, 11,
5180
+    -3, 12, -2, 2, 4, -6, 9, -4, -4, -4, -4, -9, 2, 0, 2, 4 },
5181
+  { 0, -8, -18, -34, -9, -7, -4, -11, 10, 15, 11, -1, -8, 15, 6, -13,
5182
+    9, 2, -4, -12, 0, -1, 19, 12, 6, 5, 0, -3, -10, -12, 3, -5 },
5183
+  { -10, 6, -9, -17, -12, -11, 9, -6, 11, 11, 18, -7, 0, 16, 4, 2,
5184
+    -6, 3, -12, -1, 0, 1, -5, -22, -2, -12, 0, 6, 17, 5, 5, 6 },
5185
+  { 12, -5, 7, 1, -5, -2, -1, 2, 2, -4, -3, -3, -3, -2, -29, 11,
5186
+    5, -13, -73, 24, 12, 4, -14, -10, 5, 1, 0, -11, -7, -7, 7, 3 },
5187
+  { 10, -3, -1, -3, 4, -11, -5, -2, -8, 7, 9, 2, -8, -6, 6, 7,
5188
+    21, 17, -54, 47, -14, -10, 14, 19, 13, 21, -4, 3, 1, 2, -4, 2 },
5189
+  { -12, 4, -16, -12, 5, -9, -4, 19, -7, -22, -22, -17, 3, 0, -6, 8,
5190
+    23, -4, -55, -28, 2, -26, 2, 1, 4, 0, -13, 6, 0, 10, -7, -11 },
5191
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1,
5192
+    35, -1, -67, -35, -24, -24, -6, 2, 2, -2, 1, 3, 2, 0, -1, 1 },
5193
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0,
5194
+    41, -4, -73, -15, 18, 4, 17, 8, -1, -16, -1, -2, 1, 0, 0, 0 },
5195
+  { -4, -4, 4, 6, -1, 2, -16, -10, -15, -10, 21, -2, -6, -2, 14, -7,
5196
+    10, -5, -55, 34, -12, 11, -13, -2, 2, 28, -26, 0, 7, 4, 21, -7 },
5197
+  { 2, 1, 15, -22, 10, -3, 14, -6, -2, 15, -2, -7, 20, 6, -15, -7,
5198
+    23, 10, -60, 8, -4, 29, -22, 2, -13, 9, -10, 12, -1, -3, 4, 7 },
5199
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -2, 11, -5,
5200
+    -21, -11, -60, -27, -17, -39, 6, 36, 0, -8, 2, 2, 0, 0, -2, 3 },
5201
+  { 2, -5, 9, -17, -1, 2, -3, -6, 8, 12, 7, -6, -33, -11, -14, -40,
5202
+    10, 36, -46, 0, -19, 5, 0, -10, 3, 12, -6, -8, 6, -12, -7, 1 },
5203
+  { 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 1, 0, -2, 0,
5204
+    4, -2, -87, -3, -2, 2, -2, 20, 2, 6, -1, 6, 0, 0, 2, -1 },
5205
+  { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1,
5206
+    1, 7, -76, 41, -7, -24, 0, -6, 3, 6, 0, -2, -1, 1, 0, 0 },
5207
+  { 0, -3, 4, 2, 3, 2, 2, 0, 3, -1, 4, 0, -1, 4, -2, -4,
5208
+    -32, -11, -64, -29, -9, -43, 2, -11, -1, -7, 0, -4, -2, -2, -2, 2 },
5209
+  { 10, -20, 3, -3, 13, 13, 0, -4, 2, 7, -8, 7, -2, 2, -20, -20,
5210
+    -19, 3, -47, -18, -16, -6, -15, -42, -17, 14, -6, 8, 12, -10, 11, -12 },
5211
+  { -3, -2, -2, -1, -1, 4, -3, -1, -6, -2, 3, 2, -3, 6, -1, -9,
5212
+    10, 13, -68, -9, 26, 3, 5, 3, -21, 10, -15, 21, -22, 19, 11, -14 },
5213
+  { 1, 5, 18, -19, -29, -13, -2, 18, -10, 20, 2, 10, -10, 11, 1, 8,
5214
+    -16, -17, -41, 10, -14, -25, 0, -14, -19, 17, 7, -12, 14, -11, 14, 5 },
5215
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -43, 5,
5216
+    6, -12, -48, 19, 8, -38, -8, -3, 22, -21, -10, 15, 20, -9, -5, 8 },
5217
+  { 0, 0, 0, 0, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 6, -3,
5218
+    22, -14, -71, -24, -2, -33, 23, 7, -8, 7, -3, 2, -4, 1, -8, -2 },
5219
+  { 1, 0, -1, 2, 0, -2, 0, 0, -1, 0, 4, 0, 26, -1, 10, -11,
5220
+    -17, -32, -58, 14, -14, -11, -2, 15, 2, -8, 12, 10, -9, 13, -33, -14 },
5221
+  { 15, -17, -19, 7, -8, -15, -32, -22, 7, 12, 18, 0, 0, -15, -4, 16,
5222
+    37, -2, -46, 11, 2, -8, -10, -8, 14, 9, -4, 5, 7, -17, 4, 3 },
5223
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0,
5224
+    -5, 3, -85, 23, -9, -17, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0 },
5225
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0,
5226
+    -5, 3, -85, 23, -9, -17, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0 },
5227
+  { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1,
5228
+    1, 7, -76, 41, -7, -24, 0, -6, 3, 6, 0, -2, -1, 1, 0, 0 },
5229
+  { 0, -3, 4, 2, 3, 2, 2, 0, 3, -1, 4, 0, -1, 4, -2, -4,
5230
+    -32, -11, -64, -29, -9, -43, 2, -11, -1, -7, 0, -4, -2, -2, -2, 2 },
5231
+  { 10, -20, 3, -3, 13, 13, 0, -4, 2, 7, -8, 7, -2, 2, -20, -20,
5232
+    -19, 3, -47, -18, -16, -6, -15, -42, -17, 14, -6, 8, 12, -10, 11, -12 },
5233
+  { -3, -2, -2, -1, -1, 4, -3, -1, -6, -2, 3, 2, -3, 6, -1, -9,
5234
+    10, 13, -68, -9, 26, 3, 5, 3, -21, 10, -15, 21, -22, 19, 11, -14 },
5235
+  { 1, 5, 18, -19, -29, -13, -2, 18, -10, 20, 2, 10, -10, 11, 1, 8,
5236
+    -16, -17, -41, 10, -14, -25, 0, -14, -19, 17, 7, -12, 14, -11, 14, 5 },
5237
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -43, 5,
5238
+    6, -12, -48, 19, 8, -38, -8, -3, 22, -21, -10, 15, 20, -9, -5, 8 },
5239
+  { 0, 0, 0, 0, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 6, -3,
5240
+    22, -14, -71, -24, -2, -33, 23, 7, -8, 7, -3, 2, -4, 1, -8, -2 },
5241
+  { 1, 0, -1, 2, 0, -2, 0, 0, -1, 0, 4, 0, 26, -1, 10, -11,
5242
+    -17, -32, -58, 14, -14, -11, -2, 15, 2, -8, 12, 10, -9, 13, -33, -14 },
5243
+  { 15, -17, -19, 7, -8, -15, -32, -22, 7, 12, 18, 0, 0, -15, -4, 16,
5244
+    37, -2, -46, 11, 2, -8, -10, -8, 14, 9, -4, 5, 7, -17, 4, 3 },
5245
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0,
5246
+    -5, 3, -85, 23, -9, -17, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0 },
5247
+  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0,
5248
+    -5, 3, -85, 23, -9, -17, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0 },
5249
+  { 16, 65, -2, -2, 4, 3, 0, -7, 3, 1, 3, 1, 0, 5, 1, -5,
5250
+    0, 2, -1, 3, 0, 0, -1, -2, 6, 0, -2, 0, 0, -1, 1, 1 },
5251
+  { 5, 37, -4, 8, -4, -1, 9, 17, 6, -7, 5, -1, 11, 6, -4, 7,
5252
+    -2, 4, 1, -3, 11, 3, 3, -9, 6, 0, -2, -4, -5, 4, -12, -11 },
5253
+  { 15, 24, -14, 2, 6, 17, 26, 5, 8, 11, -9, -7, -6, -8, 3, -5,
5254
+    9, 10, -3, 10, 0, 1, 4, -9, 4, 9, 3, 0, 4, 0, -5, 3 },
5255
+  { 9, 36, -9, -8, 7, 7, 4, 3, -1, -16, -2, 7, -5, -6, 6, 12,
5256
+    -11, -12, 9, -1, -3, -9, 12, 6, -6, 2, 2, 5, 0, 5, 6, -6 },
5257
+  { 25, 39, -5, 24, 3, 10, 3, -6, 13, -8, 3, -7, 2, -10, -5, 2,
5258
+    -2, 3, 5, -2, 1, 5, -2, 3, -4, 1, -5, -4, 0, 1, -2, 0 },
5259
+  { 16, 27, -1, 0, -14, 6, 4, -5, 7, -2, -6, 0, -3, -5, 2, -1,
5260
+    -1, -19, 5, -8, 0, 11, 12, 5, 0, 3, 10, 6, -14, 14, -13, -15 },
5261
+  { 12, 23, -14, 2, 1, 4, -3, 16, 7, -8, 2, -8, 8, 6, -8, -7,
5262
+    -3, 0, 2, 8, -13, 7, 13, -6, -4, 6, -13, -16, 14, 11, -7, 5 },
5263
+  { 16, 28, -7, -1, 6, -3, 9, 0, -7, 3, 0, 3, -12, 20, 8, 9,
5264
+    8, 23, 8, -13, -2, 4, 9, 3, -5, 13, 5, -2, 12, 14, 5, -1 },
5265
+  { 19, 37, 19, 5, 7, 5, 10, 5, 19, 10, 14, 0, 2, 5, 1, -4,
5266
+    -4, 2, 2, -5, -2, -1, 2, -6, -4, -4, -5, -3, 2, -2, -2, -2 },
5267
+  { 24, 21, 1, -11, -10, 17, -14, 14, 6, -1, -6, -1, 0, -13, -1, -12,
5268
+    -2, -5, 6, -4, -12, 14, 5, -2, -8, -8, 15, -7, -30, -12, 4, 0 },
5269
+  { 11, 26, -3, 3, 5, -1, -2, 3, -2, 10, 15, -4, 10, -28, 10, -17,
5270
+    -8, 1, 2, -7, -1, -6, -15, -1, 4, 5, -7, 9, 0, -5, -4, 4 },
5271
+  { 18, 32, 1, 2, -7, 4, 15, 2, -9, -2, 12, -11, 7, 11, 13, 2,
5272
+    0, 5, 9, -10, 16, 3, -3, 5, -9, -23, 2, -2, -1, 5, 2, 11 },
5273
+  { 35, 24, -20, 2, 4, -1, 5, 14, -10, -9, 8, -7, 0, 5, -7, -7,
5274
+    11, 1, 5, 3, 2, 0, -2, 3, 0, 1, 4, 0, -2, -8, 0, -4 },
5275
+  { 9, 35, -1, 2, -1, -19, -3, 12, -1, 8, 8, -13, -1, -2, 2, 5,
5276
+    -8, -1, 13, -2, 11, 1, 0, -10, 0, -3, -7, 2, 1, -12, 3, 12 },
5277
+  { 20, 27, -12, -12, 7, 4, -1, -13, -1, -9, 2, 13, -11, 5, 7, -9,
5278
+    9, 1, 1, 8, -9, 0, -6, 7, 4, 2, -2, 7, 3, -2, 1, -9 },
5279
+  { 8, 37, -20, -5, 0, -21, 10, -8, 3, 19, -9, 7, -3, -8, 10, -2,
5280
+    0, 5, 6, -4, -2, -1, 0, -7, 6, 1, 0, 4, -5, 6, -8, 2 },
5281
+  { 8, 27, 1, -3, -5, 1, 6, 0, 15, 2, 17, -1, 3, -17, 10, 5,
5282
+    5, -6, -6, 6, -10, 18, -5, 0, 0, 13, 7, 10, -5, -6, -2, -4 },
5283
+  { 14, 29, -20, -4, -3, 1, -5, -1, 2, 12, -10, -3, 4, -18, 4, 14,
5284
+    -4, -1, -9, 15, -2, 2, -5, -3, 2, 9, -2, -14, -3, 4, -4, -7 },
5285
+  { 23, 23, -23, -11, 27, 4, 4, -1, 7, 0, -5, 9, 2, -11, 3, 7,
5286
+    -2, -5, 2, -7, -7, 13, -3, -6, 2, 3, 3, -4, -1, -8, 5, -2 },
5287
+  { 16, 26, -6, 8, -9, -1, -2, -1, -8, 4, -2, 0, -12, 9, -1, 0,
5288
+    -17, -9, 30, -5, -15, -16, -13, 0, 10, -11, -7, -3, -1, 0, -11, -2 },
5289
+  { 12, 32, -4, -5, 10, 19, -10, 4, -12, 5, -6, 9, -12, -6, -6, -8,
5290
+    4, 1, 3, 0, 8, 0, -3, -4, -7, -4, 10, 8, 6, 5, -1, 4 },
5291
+  { 46, 42, -3, -14, -2, -6, 6, -2, -5, -1, -3, -3, 1, -1, 3, 1,
5292
+    1, 4, -1, 2, 3, 1, -2, 6, 0, -1, -2, 4, -2, -1, 2, 2 },
5293
+  { 9, 33, -13, 4, -11, 3, -8, 22, 12, -2, 4, 0, -16, 5, 4, -1,
5294
+    7, -6, -9, 1, 7, 5, 0, -5, 5, -1, 10, 3, -2, -1, 3, -2 },
5295
+  { 9, 30, 6, -3, 6, 1, -7, 5, 11, 14, 7, 1, 0, 2, 2, -1,
5296
+    8, 7, -6, -13, -10, -2, 1, -6, 10, 7, 6, 5, -2, -5, -1, -16 },
5297
+  { 9, 28, -11, -10, 9, -10, 15, 8, 4, 9, -4, -7, 0, -5, 9, 8,
5298
+    -7, 2, -15, -23, 4, -4, 4, 16, -8, -3, 0, -8, 14, 5, -3, 15 },
5299
+  { 17, 26, -5, -5, -1, -8, 20, 18, -7, -2, 4, -7, -8, -5, -4, 16,
5300
+    0, 0, -7, -2, -13, -5, -2, 3, 12, 1, 3, -5, 2, 2, 0, -1 },
5301
+  { 11, 37, 7, -23, 6, -1, 15, 13, 4, -9, 7, 5, 3, -3, -5, -8,
5302
+    -2, 3, -5, -1, -8, 7, 2, 13, 1, 3, 0, -3, -1, 2, 0, -2 },
5303
+  { 21, 33, 7, 20, 21, -10, 6, -5, -5, -6, -9, 2, 10, 0, 8, -4,
5304
+    10, 2, -2, -2, 0, -10, -6, -2, 0, -5, 3, -11, 3, -9, -3, 1 },
5305
+  { 6, 30, -15, -8, 16, 1, 4, 6, 4, 5, 8, -3, 8, -9, -1, -6,
5306
+    8, 2, -2, 4, -2, 5, 11, -21, 3, -10, 16, -11, 24, 10, 14, -6 },
5307
+  { 15, 36, -3, -9, -20, 12, 0, -7, -18, -4, -8, -9, 9, -7, -3, -1,
5308
+    2, 7, -5, -8, 6, 2, 2, -1, 7, 1, 1, -3, 3, -4, -8, 1 },
5309
+  { 16, 34, 21, 3, -9, 10, 7, 9, -7, 1, -4, -9, -4, -5, -5, 3,
5310
+    3, -19, 1, 5, 4, -2, -6, -5, -10, -11, -8, -2, 2, -5, -8, -7 },
5311
+  { 28, 29, -3, 18, -2, 0, -6, 12, -2, 10, -11, -4, -13, -12, -6, -4,
5312
+    0, 4, -1, -8, 6, 4, 12, 11, 10, 10, -3, -6, 1, 2, 1, 7 },
5313
+  { 3, 8, 22, -8, 3, 36, -8, -1, 9, 6, -13, -14, 8, -1, 1, 2,
5314
+    -2, -8, 0, 3, 1, 2, -1, 5, -1, -8, 0, -2, 2, 2, -1, 1 },
5315
+  { 0, 6, 0, 0, 4, 13, -7, -16, -6, 15, -14, -21, -9, -10, -10, -6,
5316
+    -21, 5, 4, 2, 12, 4, 12, 11, -4, -6, -6, -10, -7, -18, 1, 4 },
5317
+  { -1, 3, 10, 1, -1, 15, 4, -7, -16, 3, 0, -22, 10, 2, -3, -2,
5318
+    13, 5, -8, 16, -5, 4, 0, -11, -10, -22, 0, -4, -17, 5, 2, 1 },
5319
+  { 12, 8, -4, -9, 14, 40, -21, 0, 1, -15, -10, -12, 12, 6, -10, 2,
5320
+    8, 6, -12, -10, -11, 1, 0, -11, 2, 1, 13, 0, 6, 3, 8, 4 },
5321
+  { -10, 3, 5, -4, -3, 3, 0, -9, 2, 8, -22, -23, 17, 8, -17, -3,
5322
+    14, -8, -4, 1, -8, 3, 0, 5, -1, -3, -2, -4, 1, -10, 0, -2 },
5323
+  { 0, -1, 5, -7, 4, 12, -2, 0, -7, 2, -16, -15, 12, 21, -7, -4,
5324
+    7, -7, -11, -15, -7, -9, -5, -8, 0, -6, 8, -3, -8, 22, -7, -9 },
5325
+  { 7, 19, 4, -9, 24, 22, 2, -6, 8, 13, -14, -20, -4, 11, 8, -4,
5326
+    -1, 2, 0, -7, 5, -17, -3, 3, -6, 5, 3, 4, -5, -7, -3, 14 },
5327
+  { -2, 6, 2, 8, -2, 5, -4, -2, -10, 3, -45, -30, -3, -3, -12, -4,
5328
+    -3, -3, -1, 9, -6, -6, 5, -4, 0, 5, -1, -2, -1, 0, -6, -1 },
5329
+  { -3, 14, -16, -10, 10, 0, -2, -40, -9, 12, 2, -19, 15, -4, 4, 3,
5330
+    3, -4, 7, 1, -4, -5, 0, 4, -1, 0, -9, -2, -4, -1, -2, 0 },
5331
+  { 7, 16, 2, -7, 8, 2, 0, 1, 5, 21, -10, -26, 7, 2, -9, -7,
5332
+    -3, -16, 8, 5, 5, -6, 10, 4, -14, -6, 5, 3, -2, -2, -4, 1 },
5333
+  { -9, 14, -1, 3, 3, 11, 1, -5, -3, 13, -16, -18, 20, 6, -5, 0,
5334
+    -3, 2, 8, 4, -19, -9, 12, 0, -8, 2, 2, 1, 6, 13, -7, -11 },
5335
+  { 2, 5, 16, -4, 19, 15, 4, 0, -11, 7, -10, -10, -16, 18, -11, -12,
5336
+    -9, -4, 7, -4, -4, -17, 1, 1, -8, -3, -3, 5, -2, -6, -11, -5 },
5337
+  { 2, 12, 0, -9, -10, 14, 6, 2, -3, 2, -12, -28, 12, 1, -1, 2,
5338
+    0, -3, -4, 7, 16, 5, -7, 8, -4, -3, -1, 3, -12, 4, -17, -5 },
5339
+  { -4, 7, 11, 6, 1, 14, -4, -6, 5, 5, -6, -24, 23, -9, -15, 13,
5340
+    -7, -9, -15, 10, -1, 8, -5, 1, 12, 6, 2, 0, 4, -2, 9, -10 },
5341
+  { 1, 5, 11, 3, 6, 12, -3, 8, -21, 5, -7, -20, 12, -2, -9, -3,
5342
+    17, -7, -8, -9, -14, 3, -13, 18, -8, 9, 2, -8, 4, -8, -5, -2 },
5343
+  { -3, -3, -1, 5, -2, 15, 3, 2, 1, -8, 1, -39, -6, 13, -13, 0,
5344
+    -2, -5, -6, -3, 0, -5, -2, 15, -9, 5, -3, -6, -2, 7, 0, -13 },
5345
+  { 2, 8, 5, -12, -13, 22, 8, -16, 11, 5, -2, -32, -2, -4, 11, 5,
5346
+    5, -6, 1, 3, 1, 5, 3, 6, -5, 4, 4, -8, 8, 4, 1, 3 },
5347
+  { 13, 9, 5, -4, 9, 18, -11, 2, -1, 15, -10, -19, -2, 14, 0, -10,
5348
+    1, 1, -18, 3, 2, -6, -8, 20, 7, -8, 16, 9, 9, -13, -3, -2 },
5349
+  { -13, 11, 11, -9, -10, 13, -3, -18, 2, 10, 5, -21, 6, 15, -11, -21,
5350
+    3, 14, 0, -12, 9, -1, -2, -4, 3, -3, -9, -8, -5, -2, -8, 2 },
5351
+  { 3, 3, 11, 4, 0, 13, 1, -8, 10, 13, -6, -26, 2, 12, -3, -5,
5352
+    12, -2, 1, 8, -7, -17, -19, 5, 10, 7, -3, 2, -3, 0, 5, 0 },
5353
+  { 5, 0, 3, -3, -9, 5, -15, -5, -5, 17, -5, -31, 0, 13, 13, 5,
5354
+    -1, -6, -14, 7, -8, 9, -14, -2, -16, -4, -4, -6, 6, -6, -10, 6 },
5355
+  { 13, 3, 1, 7, -3, 4, -1, -2, -1, 4, -8, -32, -1, -4, 0, 3,
5356
+    -10, 7, 10, -10, 4, -1, 6, 2, -16, -9, 4, 3, 13, -23, -3, -4 },
5357
+  { 4, 11, -4, -9, 4, 11, -12, -12, -12, 6, 1, -28, -3, 14, 18, -2,
5358
+    -12, 7, 15, -3, -5, -7, -3, 2, -6, 4, 4, -2, -5, -3, 2, -13 },
5359
+  { 8, 7, -7, 0, 13, 7, -8, -7, 8, 36, -10, -22, 3, 23, -3, -10,
5360
+    -3, 11, 1, -7, 3, 3, -1, -7, -4, 2, 3, 2, 5, 3, -4, -1 },
5361
+  { -1, 1, 13, 1, -6, -1, -6, -9, -18, 17, -5, -37, -1, -1, -6, -4,
5362
+    1, -6, -15, 2, 17, -9, 0, -3, 0, 4, 0, -5, 0, 4, 1, -5 },
5363
+  { 0, 14, 5, 0, -7, 2, -6, 17, -6, -9, 7, -16, -5, 23, -14, -13,
5364
+    8, -15, 11, 10, -11, -13, -33, -5, -2, 1, 6, 8, 0, -13, -9, 5 },
5365
+  { 11, 7, -2, -8, 9, 11, 25, -14, 7, 3, -1, -33, 14, 8, -6, -19,
5366
+    3, 3, 2, -1, -3, -1, -2, -10, -3, 1, 2, 1, 4, 2, -3, 4 },
5367
+  { -2, 8, 4, -2, 9, 13, -4, -2, -15, -3, 19, -37, 9, 25, -9, 2,
5368
+    -5, -2, -2, -4, 4, 2, 2, 0, 3, 3, 3, 5, -2, -3, -4, -3 },
5369
+  { 10, 13, -1, -15, 4, 6, -18, -4, 25, 1, -23, -17, 15, 13, -8, -8,
5370
+    7, 4, -5, 3, 6, 9, -7, 6, 0, -5, 8, 0, -6, -1, -2, -2 },
5371
+  { 1, 3, 9, -5, 27, 15, -9, -31, -1, 23, -2, -9, 1, 8, -1, -7,
5372
+    -2, -8, -4, -4, -2, -1, 3, 5, 0, 0, -1, 1, -7, 7, -3, -3 },
5373
+  { -8, 7, 3, -6, 8, 3, -11, -2, 36, 14, 1, -30, 6, 10, -12, -6,
5374
+    -6, -2, -4, -3, -5, 0, 9, 4, -5, -5, -8, 12, 4, -3, 1, -8 },
5375
+  { -2, 9, 33, 0, 12, -3, -7, -4, -4, -1, 6, -25, 11, -6, -9, -11,
5376
+    -2, -4, -2, 6, -1, -3, -6, 15, -6, 3, 10, -4, 1, 0, 5, 8 },
5377
+  { -22, -21, -9, -19, -5, -7, -12, -15, -8, 9, -19, 14, -7, -4, 5, -8,
5378
+    -2, 7, 1, -3, 4, -4, 6, 11, 2, 6, -3, -5, 2, -2, 0, -3 },
5379
+  { -32, -13, 3, -24, 3, -8, 4, 1, -10, 14, -15, 0, 4, 6, -1, 6,
5380
+    7, -1, 6, 4, -3, -17, 1, 4, -6, -1, 1, 0, 3, 3, -7, -4 },
5381
+  { -32, -11, 7, -8, -12, 13, -5, -22, -4, 12, -16, 2, 0, 4, 0, 1,
5382
+    0, 6, -5, -8, 2, 6, 5, 0, -3, -6, 5, 6, 5, 5, 13, -4 },
5383
+  { -44, -33, 6, -4, 2, 0, -9, 10, 3, 4, 7, 0, -1, 7, 5, 1,
5384
+    1, -3, 1, 6, -1, 0, 2, 3, -4, 0, 0, 1, 0, -1, -2, -1 },
5385
+  { -30, -18, -24, -8, 5, 0, -2, 14, 7, 0, 1, 12, 6, 4, -9, 7,
5386
+    5, 7, -11, -5, 1, -8, -1, 2, 2, -9, 7, -1, 7, 5, 6, 6 },
5387
+  { -22, -20, -13, -9, 20, -3, 10, -8, 6, -4, 2, -7, 10, 8, 0, -1,
5388
+    2, -3, 6, -19, 2, 4, 3, 3, -7, 2, -1, -6, 1, 1, 6, -2 },
5389
+  { -27, -8, -1, 3, -1, -11, 24, 4, -1, 1, -8, 8, 5, -11, 15, -3,
5390
+    -15, -1, -1, -13, -1, 1, -5, 5, 2, 3, -9, 0, 4, 3, -7, 6 },
5391
+  { -33, -16, -1, -8, 10, -23, 6, 13, -1, -3, -9, 0, 5, -7, -5, -12,
5392
+    -2, 3, 3, 6, -2, -3, 2, -3, 9, -6, -3, -2, 0, 5, -3, -4 },
5393
+  { -22, -17, 11, -3, 3, 1, -1, -5, 17, 2, -15, -2, 10, -9, 6, 14,
5394
+    -16, -12, 20, -1, -7, 6, -3, -12, 1, 10, -10, -1, 7, -3, -1, 10 },
5395
+  { -28, -13, 1, -3, -1, -1, 0, 3, 3, 5, 1, 10, -10, -3, 7, 2,
5396
+    4, 19, -1, -1, 10, 5, -8, 1, 11, -15, -4, -3, -5, 4, -13, 3 },
5397
+  { -22, -13, 42, -20, 5, -13, 7, -11, 1, 1, -1, 1, 6, 3, 6, -11,
5398
+    3, 3, -2, 0, -4, 4, -3, -1, -5, 2, 0, 0, -9, -1, 4, 4 },
5399
+  { -26, -15, -2, -6, -4, -2, 16, 8, 21, 8, 1, -3, -10, 7, -8, -12,
5400
+    -5, 12, -9, 3, -2, -3, 18, 1, -12, -15, -4, 5, -3, 0, 12, 7 },
5401
+  { -26, -16, 5, 6, 14, -3, 15, 6, 1, -7, -13, 16, -15, 5, 11, -2,
5402
+    9, -7, -4, -2, 0, 0, -2, 7, -8, -6, -5, 2, 7, -3, 2, 12 },
5403
+  { -31, -17, -8, -30, 4, 14, 6, -6, 6, -11, 0, 3, -4, 0, 0, -4,
5404
+    0, -4, 1, 4, 3, 4, 0, -5, 3, 2, 2, 0, 2, 1, 3, 5 },
5405
+  { -61, -10, 4, 10, 4, 7, 0, -3, 0, 1, 0, -3, 0, 1, 0, -2,
5406
+    -1, 1, 2, -2, 4, -3, 1, 1, -1, 1, -2, -4, -4, 4, 0, 0 },
5407
+  { -28, -13, -8, -4, 3, -3, 2, 1, 11, 14, 3, 9, 1, 13, 3, 5,
5408
+    -3, -2, -2, -12, -14, -9, -11, -15, -12, -5, -4, -12, 3, -3, 0, -5 },
5409
+  { -41, 0, 12, -24, 13, 4, 5, 16, -5, -4, 0, 0, 13, -4, 1, -9,
5410
+    9, -6, -1, 6, -2, 5, 2, 9, 6, -9, -8, 8, -2, -3, -6, -4 },
5411
+  { -26, -19, -2, -15, 4, -14, 6, 0, 26, 20, 8, 9, 9, 3, -4, -5,
5412
+    -8, 1, 0, -1, 5, 9, 3, 4, 4, 7, 1, 3, -2, -2, -10, 0 },
5413
+  { -29, -18, 9, -4, 1, -5, -14, -12, 5, -10, -5, 4, -5, 0, -1, -1,
5414
+    4, -5, 7, -16, -11, 2, 7, -15, 2, -4, 6, -4, -6, 7, -3, 7 },
5415
+  { -27, -16, 9, -14, 3, -8, 9, 0, 7, -4, -3, -7, 0, -10, -1, 2,
5416
+    1, -2, 15, -10, 14, 7, 6, 17, 3, -4, 3, -10, 8, -8, 3, 11 },
5417
+  { -21, -20, -8, -8, 4, 5, -3, -2, 0, -5, 14, -10, 11, -4, 13, 0,
5418
+    5, -11, 19, -18, 18, 3, -5, -3, -4, -8, 11, -10, 10, 3, 4, -9 },
5419
+  { -35, -15, 13, -12, 4, 0, -2, -4, -12, -3, -8, -24, -7, 1, 7, 8,
5420
+    -3, 0, -2, -1, 3, -2, -2, -6, 8, 1, 0, 1, -6, -1, 2, -6 },
5421
+  { -19, -14, 13, -10, 9, -1, 1, 3, -12, 5, -16, 7, 13, 9, 4, -4,
5422
+    6, -5, 4, 9, -3, 17, -4, 12, -11, -6, -5, -6, 13, 2, 7, -9 },
5423
+  { -34, -8, -4, 1, 2, -1, 3, 6, -20, -11, 8, -1, 4, 2, -9, 4,
5424
+    -4, -5, 16, 10, -4, 14, -13, 1, -6, 0, 2, -10, 0, -3, -3, 7 },
5425
+  { -36, -10, -8, -3, 2, -2, 14, -4, -1, -7, -4, 10, -1, -3, 15, -11,
5426
+    0, 2, 3, -1, 4, 0, 8, -1, 0, 18, -11, -5, 15, -5, 13, -12 },
5427
+  { -22, -13, 14, -20, 15, 25, 16, 10, 8, -2, -10, -5, -1, -8, 11, 8,
5428
+    -1, -2, -4, 1, 2, -1, -7, 0, 0, 0, -3, 0, 2, -1, 0, 2 },
5429
+  { -31, -22, 7, 6, -2, 5, -20, 14, -6, 7, 0, 14, 3, -7, 3, -6,
5430
+    -2, 1, -3, -5, 1, -10, 1, -24, 6, -2, 3, -7, 1, -7, 8, 7 },
5431
+  { -25, -20, -3, -9, 10, 6, 12, 7, 5, 4, -3, 6, -1, -5, -6, -8,
5432
+    3, 5, 6, 5, -10, 10, -4, -15, -15, -2, -9, 2, 18, 1, 8, 12 },
5433
+  { -24, -19, -2, -4, -7, 11, 6, 9, 16, 2, -7, 18, 6, -7, 6, 6,
5434
+    -2, -9, 3, 12, -2, 3, -1, 6, 7, 8, 0, 8, -11, 8, 4, 2 },
5435
+  { -26, -20, -12, -12, -2, -3, 1, -5, -1, -2, 0, 3, 7, 9, -2, 2,
5436
+    9, 22, 13, 4, -4, -1, -2, -14, 5, 15, -8, -5, -7, -11, -14, -6 },
5437
+  { -21, -18, -1, -4, 0, 3, 7, -2, 10, 8, -8, -1, 15, 1, -9, 3,
5438
+    1, 3, -5, -2, 2, 4, 0, -1, 10, 2, -19, -8, 8, 30, -7, 8 },
5439
+  { -25, -6, 26, 4, -8, 4, -2, 21, 5, -4, -16, 5, 13, 4, -10, -1,
5440
+    -6, -2, 2, -10, -13, 1, 3, -3, -6, -8, 2, 11, 1, -7, 0, 5 },
5441
+  { 0, -1, -2, 19, -12, -48, -6, 11, 8, -2, -4, -2, -7, 5, -3, 2,
5442
+    -2, -1, -1, -7, 0, -3, -3, -4, -4, 4, 1, 3, -3, -1, -2, -5 },
5443
+  { -11, -8, -28, 18, 16, -24, -8, 19, 4, 8, -12, 9, -4, -2, 4, -7,
5444
+    6, 2, 3, 3, -4, 0, 1, -6, -4, -2, 2, 6, 0, -3, 1, -16 },
5445
+  { -9, -5, -26, 7, -3, -37, -16, -2, 2, -7, 4, -13, 0, -4, -6, -5,
5446
+    -6, -4, 0, 3, 4, -3, -4, -4, 4, -3, 9, -4, -2, 2, 7, -4 },
5447
+  { 2, 9, -18, 7, 29, -24, -1, 7, 14, 10, 3, -3, -2, -5, 6, -10,
5448
+    -6, -3, -8, 0, 5, 1, 4, 3, -12, 2, 6, 1, 3, 4, 1, -3 },
5449
+  { -20, 2, 8, 20, -9, -24, -4, 18, 3, 11, -1, -11, 6, 9, -1, -3,
5450
+    1, -1, -15, 3, 15, 9, 3, 2, -13, 2, -8, 8, 1, -1, 1, -8 },
5451
+  { -12, 5, -11, 6, 19, -26, -17, -6, 4, 14, 6, -8, 9, 5, -6, -5,
5452
+    2, -1, 20, 1, -11, -10, -18, 20, -7, 0, -3, 4, 2, 0, 10, 4 },
5453
+  { -15, 1, -2, 13, -8, -21, -22, 4, 4, 3, 3, -7, -31, 4, -10, -14,
5454
+    0, 8, 4, 5, 8, 11, 2, -8, 6, 7, 0, -2, 6, 8, 8, 7 },
5455
+  { -13, -10, -9, 12, 19, -16, -3, -2, 9, 2, 11, -29, -1, 9, 4, -3,
5456
+    1, -10, -10, 16, 1, 7, -7, -6, -4, -1, -5, 3, 6, 0, 3, 1 },
5457
+  { -17, -1, -5, 19, 12, -9, -21, -5, 2, 12, -7, -7, -3, 8, 7, -2,
5458
+    6, -9, -9, 1, -4, 1, 1, 3, -14, 2, -8, 0, 10, 1, -12, -6 },
5459
+  { -13, -5, 8, 15, 0, -20, -2, 20, 8, -8, 8, -19, 12, 10, 2, -11,
5460
+    0, 12, 1, -11, 0, -11, -15, 5, -11, 2, 4, -4, -11, 5, -4, -5 },
5461
+  { 3, -11, -7, 8, 0, -17, -26, 15, 19, -7, 10, -9, -5, -5, 14, -25,
5462
+    0, -8, 2, -9, -3, 9, 1, -6, 4, -4, 3, -9, -1, 6, 2, 2 },
5463
+  { -12, 5, 5, 9, 14, -18, -19, 4, 2, 16, 14, -21, -15, -9, -1, 16,
5464
+    12, -11, -10, -5, -7, 4, 15, -8, -5, -1, 1, 14, 13, -7, -1, -4 },
5465
+  { -10, -5, -1, 8, 7, -23, -10, 14, 6, 11, 10, -16, -3, 16, 6, 0,
5466
+    0, 9, 6, -2, -7, 1, 22, 5, 3, -8, 0, 3, -2, -10, 3, 0 },
5467
+  { -2, -14, 2, 16, 15, -17, -17, 6, 19, 4, -10, -15, -1, 15, 11, -14,
5468
+    -8, 5, 8, 8, -2, -8, -11, 10, 10, -8, -14, 2, 13, 4, -2, -12 },
5469
+  { -10, 3, 6, 4, 19, -23, -19, 1, 4, -9, -30, 3, -6, 18, 0, 2,
5470
+    0, -11, 0, 3, 7, -2, 8, 5, 2, -3, 6, -9, 1, -4, 7, -6 },
5471
+  { 9, 5, -2, 21, 20, -33, -13, 7, -10, 8, 8, -15, -6, -4, 1, 5,
5472
+    3, 7, -2, -9, -1, 4, -6, 1, 0, 9, -1, -5, 2, 1, -3, 3 },
5473
+  { -9, -3, 3, 15, -3, -30, -7, -7, -25, 6, 2, -6, 1, 19, 1, -12,
5474
+    1, -8, -13, 9, 13, 1, 8, 2, 5, 15, -2, 3, -9, 0, -4, 4 },
5475
+  { -6, -12, -17, 25, 22, -13, -10, 9, 2, 11, -7, -16, 4, 6, 1, 0,
5476
+    0, 18, -4, -5, 4, -2, -1, -5, 0, -4, 6, 1, 6, -1, 7, 0 },
5477
+  { -1, 0, -10, 8, 8, -27, 0, -2, 29, 16, -2, -4, 9, -1, 2, 0,
5478
+    6, 10, 6, 4, 2, -7, 9, -18, 3, 3, 3, -10, 17, 10, 9, -6 },
5479
+  { -3, -12, -6, 11, 20, -32, 5, 21, 3, -4, -9, 2, -10, 1, 7, -4,
5480
+    5, 0, 0, -1, -8, -9, -7, 4, -10, 5, 0, 2, -5, 4, 9, 1 },
5481
+  { -5, -1, -5, 1, 2, -19, -13, 1, 6, 12, 2, -16, -17, 11, 10, 13,
5482
+    16, -12, -11, 3, -6, 0, 6, 4, -3, 1, 8, 2, 5, -11, 3, -14 },
5483
+  { -19, 5, 10, 11, 2, -23, -9, 16, -2, 7, 0, -11, -7, 10, 6, -7,
5484
+    26, -15, -4, 8, 6, -4, 7, -9, -15, 1, 8, -4, 4, 2, -12, 16 },
5485
+  { -11, 1, 11, -4, 1, -31, -13, -1, 8, 5, 4, -2, 0, 13, 7, -17,
5486
+    7, -10, -6, 1, 4, -1, 2, -9, -4, 9, 3, 3, -4, -5, 3, 4 },
5487
+  { -3, 1, 10, -1, 0, -15, -22, 4, 40, -11, -4, -3, -14, 9, 11, -1,
5488
+    9, -1, -6, 6, 3, -6, 0, 0, -12, 7, -2, 0, 9, 3, 1, 3 },
5489
+  { -1, -1, -1, 14, 8, -24, -14, -8, 5, 8, 5, -12, -17, 8, 2, 7,
5490
+    10, -8, 0, 4, -6, -6, -10, 8, 4, -12, 3, -9, -12, 5, 4, -3 },
5491
+  { -5, 1, -11, 8, 9, -24, 0, 2, 2, 14, -12, -13, 1, 6, 7, 0,
5492
+    7, -6, 9, 26, 11, -14, 8, 10, 1, 9, 0, 11, -2, 6, 2, -10 },
5493
+  { -13, 1, 4, 34, 19, -17, -15, 0, 3, -2, -7, -1, 0, -3, -3, -1,
5494
+    1, -1, -10, 8, 5, 0, -8, 4, -17, 9, -2, 0, 0, 6, 2, -3 },
5495
+  { -6, -4, 1, 2, 2, -14, -29, 0, 9, 34, -3, -5, -14, 6, -10, -9,
5496
+    -5, -1, 0, 3, 3, 0, 1, -1, -2, -1, -1, -3, -3, -4, 3, -3 },
5497
+  { -4, 6, 3, 14, 14, -8, -29, 31, 11, 14, -4, -5, -6, 10, 6, -9,
5498
+    -1, -11, -7, 1, 7, 4, 1, -6, 4, 0, 10, -7, -5, -1, 2, 4 },
5499
+  { -4, -4, -2, 14, 6, -32, -6, -14, 14, -5, -11, 10, -18, -4, 6, -8,
5500
+    9, 5, -4, 1, -4, 5, -2, -9, 3, 5, 2, -10, -6, -17, 3, 17 },
5501
+  { -16, 9, 21, 19, 4, -20, -17, 14, 9, 15, -6, -17, -1, 1, 6, -3,
5502
+    1, 1, 8, -3, -6, 6, 9, 4, 9, -9, -5, 1, -1, 0, -1, 2 },
5503
+  { -7, -5, 3, 19, 1, -20, -9, 14, 21, -7, -18, -9, 26, -7, -17, -7,
5504
+    12, 6, 0, -9, -6, 14, 9, -9, -8, 4, 15, -7, -9, -1, 9, 1 },
5505
+  { -20, 30, -6, 11, 24, -4, 0, -6, -2, 8, -4, 12, -8, -17, 0, 5,
5506
+    -4, 1, -1, 3, -3, 5, 3, 3, 7, -2, -3, -2, 4, 0, 0, -1 },
5507
+  { -35, 17, 6, 1, -9, -1, -16, 3, -20, -13, 8, 7, -4, -7, -4, -20,
5508
+    7, 12, -5, 5, -5, -11, 12, -1, 15, -9, -6, 16, -4, -9, -13, 4 },
5509
+  { -21, 36, -19, 9, 0, -7, -8, 9, -4, -3, 3, 0, 7, -8, -2, -2,
5510
+    -11, 13, -1, 5, -3, 7, 2, 3, -1, -2, -5, 1, -1, -2, -5, -3 },
5511
+  { -12, 33, -4, 1, -12, -9, 0, -13, -1, 2, -8, 4, -10, 6, -16, -7,
5512
+    -1, -4, -10, 15, -1, 0, -5, -8, 5, 5, -3, 0, 2, -7, 1, -7 },
5513
+  { -14, 32, 5, -7, -15, 3, -5, 8, 14, 5, 9, 13, 3, 18, -3, 7,
5514
+    4, -10, -10, 10, -1, 2, 0, -2, -11, 5, -3, -4, 2, 2, 7, 4 },
5515
+  { -14, 34, 1, 20, -1, -12, 0, -3, -7, -4, 7, 18, 9, -3, 14, -7,
5516
+    -9, -20, -7, -4, -13, 12, 1, 12, 5, -6, 2, -4, 0, -15, 1, 3 },
5517
+  { -21, 23, 7, -8, 3, -13, -3, 0, -6, -2, -7, 6, -12, 9, -6, -2,
5518
+    -2, -4, -1, 6, 9, 5, -9, 15, 0, 8, -8, 7, 6, -15, 3, -5 },
5519
+  { -27, 32, -1, -4, -2, 4, -10, 12, -3, 8, 13, 7, 0, -15, 4, -2,
5520
+    3, 5, 7, -4, 9, -12, -1, -2, -1, -4, 0, -4, 2, -5, 6, -6 },
5521
+  { -17, 29, 15, 0, -1, -4, -10, 13, 12, -1, -8, -10, -10, 4, 7, -2,
5522
+    6, -5, -13, 19, 6, 1, -7, 2, -9, -2, 12, -4, -8, -3, 2, 4 },
5523
+  { -38, 27, 16, -15, -6, 3, -7, -4, 0, -1, 6, -2, -3, -6, 6, -6,
5524
+    -3, 0, 2, 0, -4, 6, 1, -1, 0, 4, -1, 3, 4, 1, -2, 5 },
5525
+  { -33, 40, -4, 2, 1, 0, 0, -10, -14, 0, -7, 4, -1, 3, -2, 5,
5526
+    7, 6, -1, 4, 1, 3, 1, -7, 1, -4, 5, 7, 0, 4, 3, -4 },
5527
+  { -20, 25, 12, -4, 16, -4, 2, 2, -14, -2, -3, 29, -1, 1, 3, 1,
5528
+    9, -5, 2, -8, -3, 1, -7, -2, -7, 1, 0, 4, 16, -2, -1, -1 },
5529
+  { -10, 30, 17, 3, -5, -2, 0, -5, -22, 4, 5, 5, -3, -18, -6, 10,
5530
+    -5, -7, 2, 8, 7, -7, -11, -2, 0, -3, 3, 2, 11, -4, 4, -4 },
5531
+  { -11, 30, 11, 4, -3, -8, 1, -2, 4, 18, 3, 1, -1, 0, -8, -4,
5532
+    -3, 10, 13, 14, 5, -5, 1, 1, -10, 2, 15, 4, 9, -1, -5, -3 },
5533
+  { -17, 32, 18, -18, -3, -5, 6, 10, 1, -15, -5, 9, 8, -12, -10, -6,
5534
+    11, 9, -5, -8, -7, 10, 5, -10, -14, -4, -3, 1, 9, -11, 2, 1 },
5535
+  { -13, 28, -11, -1, 2, -16, -2, 7, -24, 0, 3, 6, 3, -1, -8, -7,
5536
+    -12, 2, 2, -20, 10, 4, 0, -13, -2, -2, 1, 8, -14, 0, 4, 1 },
5537
+  { -14, 23, 12, 8, 8, -26, 2, -4, -14, 13, -14, 15, 3, -9, -1, -13,
5538
+    -10, -2, -10, 6, -16, 12, 8, 0, 9, -10, -7, -4, -4, 7, -8, 8 },
5539
+  { -20, 45, 10, -14, 4, 16, 8, -9, 1, -8, 10, 5, -7, -2, 2, -5,
5540
+    -1, 0, -5, 4, -6, -2, 4, 1, 3, 4, -4, 2, -2, -2, 5, 1 },
5541
+  { -20, 26, -4, 1, 7, 4, -8, 1, -5, -13, 2, 13, -7, -3, 6, -6,
5542
+    22, 0, 5, 11, -4, -11, 8, -9, 2, -2, -4, -2, 2, -13, -4, -8 },
5543
+  { -28, 18, 17, 3, -8, -23, -16, -6, 5, -10, 14, 10, 5, -1, -8, 4,
5544
+    -2, 13, -3, -2, 3, 4, 3, -2, -3, -4, 0, 1, 3, 4, 0, 4 },
5545
+  { -12, 32, -6, -16, 18, 12, -16, 0, 7, 13, -4, 5, -8, -1, -3, 4,
5546
+    6, -2, -1, -13, 4, -1, 3, 12, -3, -10, 1, 6, 8, -11, -2, 4 },
5547
+  { -18, 26, 2, 5, 0, -9, -17, 14, 5, 1, 7, -3, -8, -3, 11, 7,
5548
+    -5, -12, -8, 7, 0, -7, 2, -12, -9, 13, -11, 9, 6, -11, -5, 11 },
5549
+  { -24, 22, -15, -9, 8, 1, -7, -12, -9, 3, 11, 15, 14, -11, 12, -15,
5550
+    -5, 7, -2, 0, -8, 3, 3, -1, 2, 11, -11, 14, -6, 13, 1, -6 },
5551
+  { -20, 28, 18, -4, -6, -5, 12, 14, 2, 10, -13, -6, -8, -6, -13, -1,
5552
+    -26, 22, -3, -14, 6, 0, 10, -15, -13, -9, 6, -7, 1, -5, -4, -1 },
5553
+  { -19, 26, -8, -3, -14, -6, -9, -4, -8, 15, -8, 3, -12, -4, -2, -7,
5554
+    -5, 3, 13, -3, -4, -25, 4, -1, 5, -12, -1, -13, 5, 2, 0, 6 },
5555
+  { -18, 43, 14, -8, 1, -23, -2, -2, 1, 3, -7, 0, 0, 8, -1, -3,
5556
+    -5, 1, 5, 2, 0, -2, -2, -2, 1, -1, -1, -7, 0, 3, -3, 9 },
5557
+  { -11, 30, 10, -14, 3, 1, 10, -11, 1, -7, -4, 14, 2, 1, -9, 1,
5558
+    -11, -2, -7, 5, -11, 1, 3, 14, 1, -16, -8, 3, -5, 7, -4, 4 },
5559
+  { -18, 24, 6, 3, 8, 7, -22, -7, -7, 3, -8, 4, 23, 9, 3, -1,
5560
+    3, 6, 7, -1, -7, 6, 4, 1, -3, 1, -6, -1, 2, -7, 3, 3 },
5561
+  { -15, 38, -7, -1, -11, 2, -17, -24, 24, 8, 7, -4, -5, 2, 2, -7,
5562
+    1, 4, 0, -9, 5, 0, -1, 1, -1, -5, -6, 3, 0, 7, 8, -3 },
5563
+  { -14, 22, 1, -5, 9, -12, -9, -5, -6, 5, 7, 8, -1, -4, -9, -3,
5564
+    -33, -16, -9, -1, 12, -11, 17, -7, -3, -1, -7, 3, 2, -3, 16, -4 },
5565
+  { -14, 20, 6, 4, -10, -4, -4, -4, 1, -7, 2, 6, 8, -12, 4, 1,
5566
+    -1, 12, 10, 3, -14, -10, -3, 18, -2, 33, -5, -17, 17, -5, 9, 7 },
5567
+  { -12, 23, 13, 0, -11, -8, -11, 12, -5, -9, -16, 11, 6, 4, 12, -5,
5568
+    5, -13, 7, -12, -3, 1, 2, 12, 1, -4, -1, 5, 4, 11, -12, -3 },
5569
+  { 15, 2, 14, 7, 1, 2, 1, 12, 10, 23, 4, 6, -20, -10, 4, 26,
5570
+    -6, 13, 4, 3, 2, -11, 5, -7, -10, 4, 9, 1, 10, -4, 11, 4 },
5571
+  { 17, 15, 31, 17, 18, 16, 11, 24, 2, 4, 2, 3, -8, -3, 7, -3,
5572
+    -5, -7, -2, -6, -4, -5, -4, -1, -4, -2, -5, -6, 2, -1, 4, -2 },
5573
+  { 16, 8, 15, 14, 3, 7, 21, 9, 8, 15, 21, 6, 8, 12, 5, -5,
5574
+    7, -3, 10, 2, -3, 8, 6, 0, 5, 5, 6, -3, 2, 4, 0, -5 },
5575
+  { 5, -4, 6, 12, 6, 13, 24, 17, -5, 17, -1, -6, -7, -10, -8, -18,
5576
+    3, -2, 2, 7, -15, -11, 12, -3, -2, -2, -4, -7, 2, 0, 5, 5 },
5577
+  { 10, -6, 8, 11, 12, 20, 22, -11, -3, 15, -3, 15, -2, -2, 0, 2,
5578
+    5, -8, 4, -5, -9, -4, -1, 2, -1, -3, 1, 3, 13, -1, 9, 7 },
5579
+  { -5, 8, 5, 11, 14, -5, 14, -9, 2, 35, 8, 15, 1, -2, 2, -2,
5580
+    4, -9, -3, -14, -12, -2, -2, -4, -2, -8, -3, 1, -6, 3, 10, 0 },
5581
+  { 16, 0, -6, 15, -3, 4, 4, 3, 3, 20, 5, -4, 10, 9, -9, -3,
5582
+    -10, -2, -7, 11, -11, -10, 17, -1, 3, -15, 2, 9, -15, -10, 16, 10 },
5583
+  { 14, 4, -7, 19, 3, 0, 19, 8, 16, 34, -9, 6, -13, -1, 6, 5,
5584
+    -1, -2, 4, 3, 2, 1, 1, -1, 0, -7, 2, -1, 1, 0, 6, -1 },
5585
+  { 1, 6, 9, 13, 9, 10, 15, 16, 10, 18, 13, 17, 3, -1, -7, 2,
5586
+    -15, -11, -10, -4, -13, -6, -17, -13, -6, -14, 1, -10, 6, 4, -1, -1 },
5587
+  { 13, 1, 7, 10, 14, 13, -7, 5, 5, 28, 14, 14, -2, 2, 3, -3,
5588
+    -13, -4, 10, -9, 19, -4, -3, 4, -5, -5, 0, 5, -5, 0, 3, -4 },
5589
+  { 1, 0, 6, 22, 9, 18, 18, -3, 5, 10, 12, -2, 1, -3, -8, -12,
5590
+    9, -10, -7, 1, -1, 19, 0, 2, -8, -11, -10, 9, 6, 11, 0, 3 },
5591
+  { 10, 11, 19, 44, 0, 14, 1, -7, 6, 22, 2, -1, 9, 2, 0, -4,
5592
+    4, 0, -6, -6, 3, 0, 0, -2, 2, -5, 1, -2, 0, 1, 1, 1 },
5593
+  { 5, 7, 0, 32, 30, 26, 5, 4, -7, -3, 15, -6, 3, -10, 7, 6,
5594
+    -8, -7, 2, -13, -5, -1, -3, 7, 3, -2, -8, 0, 6, 4, 5, 0 },
5595
+  { 9, 8, -2, 4, 2, 11, 4, 29, -5, 14, 8, -5, -14, 8, 0, 9,
5596
+    8, -10, 5, -15, -6, -9, 9, -1, 18, -16, 9, -21, -3, -13, -2, 8 },
5597
+  { 25, 7, -9, 23, 20, 18, 6, 16, -9, 8, 8, -5, 11, 13, -8, 7,
5598
+    4, 10, -2, -1, -7, -9, -7, -9, -4, 1, 1, -5, -10, 8, 4, -5 },
5599
+  { 9, 2, 16, 14, -5, 14, 1, 0, -21, 17, -1, 9, 12, -3, -3, 4,
5600
+    -4, 14, 10, 3, 0, -10, 7, 4, 4, -11, 2, 4, -1, -3, 9, -1 },
5601
+  { 17, 8, 11, 26, 15, -3, 14, -1, 12, 9, 10, -8, 8, -18, -11, -3,
5602
+    -14, -7, 7, -3, -3, -4, 1, -7, -3, 2, -3, 16, 10, 0, 9, 6 },
5603
+  { 9, 8, 3, 8, 18, 14, 11, 1, 10, 6, 1, -4, -16, -2, 14, -2,
5604
+    1, 8, 12, 14, 3, -3, 8, 8, 12, -15, 3, -3, 3, -2, 14, 10 },
5605
+  { 22, -3, -11, 13, -7, 11, 4, 11, 3, 14, 0, -6, -2, -9, 4, 2,
5606
+    -2, 0, -5, -27, -10, 3, -1, 5, 8, -24, -3, -11, -3, 2, 11, -1 },
5607
+  { 19, 2, 8, 36, 5, -6, 3, 15, -3, -4, -5, 14, -10, 1, -12, -10,
5608
+    -3, -4, 3, -2, 1, -8, 4, 3, 5, -3, 0, 4, 8, -2, 8, 4 },
5609
+  { 8, 14, 15, 9, -4, 10, 5, 11, 9, 10, 8, 9, -15, 15, 6, -8,
5610
+    -10, -13, 5, -8, -20, -13, -6, -11, -1, -3, -6, -4, -1, 0, 13, 15 },
5611
+  { -2, -1, 9, 12, 2, 2, 13, 3, -23, 33, 15, 2, -4, -1, 3, 8,
5612
+    8, 6, 6, -7, 8, 6, 9, -1, 3, -8, 0, -4, 1, -8, 11, -1 },
5613
+  { 6, 5, -6, 16, 2, -3, 31, 21, -9, 12, 0, -1, -4, 1, -12, 3,
5614
+    -13, -18, 2, -11, -9, 2, -8, -6, 11, -3, -1, 0, -1, 0, 13, 5 },
5615
+  { 5, -1, 2, 0, 25, 5, 10, 16, -5, 21, 14, 12, 13, 2, -5, 5,
5616
+    5, -3, -2, -14, 0, -12, 7, 11, -1, -7, 19, -1, -1, -1, 8, -1 },
5617
+  { 10, 7, 3, 11, 0, 8, 22, 3, 3, 19, -4, 12, 15, 9, 5, 15,
5618
+    2, 1, 2, -10, -10, 0, 2, -1, 0, 1, -12, -1, 21, 16, 9, -7 },
5619
+  { 11, -4, -5, 24, -7, 11, 20, 11, -15, 18, 5, -13, -15, 0, -5, 9,
5620
+    1, 0, -1, -9, 4, -8, 6, -8, 1, -2, -7, 20, 9, 3, 9, 3 },
5621
+  { 20, 0, -12, -6, 9, 31, 9, 12, 8, 27, 15, 7, -16, 5, -3, -7,
5622
+    -1, -9, -2, -7, -3, 4, -8, -3, 3, -6, -2, -2, -3, -6, -1, 2 },
5623
+  { 6, -6, 48, 8, -3, 19, 12, 11, -7, 2, 3, 0, -1, 1, 8, -4,
5624
+    4, -6, 0, -4, -4, -3, 3, 6, 3, -13, -8, 5, -3, -7, 8, 5 },
5625
+  { 7, -2, 6, 11, 12, 2, 14, 4, -5, 12, 2, 9, 4, 2, 0, -1,
5626
+    2, 0, -15, -9, -16, -2, 8, -17, -5, -22, -19, -5, -1, -10, 1, -2 },
5627
+  { 11, -9, 3, 12, 6, 6, 1, 17, -6, 19, 14, 7, -7, -1, -1, -9,
5628
+    9, -11, -17, 0, -6, 16, 0, 1, 9, -24, 3, 3, -9, -3, 3, -2 },
5629
+  { 9, 0, 1, 8, 1, 7, 2, -5, -3, 8, -1, 7, 2, 6, -3, -6,
5630
+    5, -2, 6, -2, -4, -3, 0, -3, 13, -50, 1, -2, 2, 4, 4, 3 },
5631
+  { 7, 0, 26, 21, -4, 2, 17, 8, 7, 11, -7, 1, -1, -15, -1, -15,
5632
+    -11, -4, -17, -4, 1, -7, 3, 6, 3, -9, 2, 3, 6, 10, 6, 12 },
5633
+  { 1, -2, 2, -1, -10, -4, 6, -3, -5, -2, -8, 2, 2, 2, 8, 0,
5634
+    1, 1, 6, 0, 11, 13, 3, 4, 0, -12, 11, -5, 19, 20, 2, 5 },
5635
+  { 5, 3, -13, -2, 1, -12, 11, -7, -12, 7, 10, 0, 7, 0, -2, 4,
5636
+    -6, -9, -11, -12, -23, 12, 10, -3, 0, 6, 19, -1, 24, 18, 9, 12 },
5637
+  { 6, -3, 2, 5, 2, 2, -2, -5, -8, -11, -4, 3, -8, -4, 5, -3,
5638
+    -16, -4, 3, -12, -4, 3, 32, 7, 2, 8, 32, -18, -1, 12, 1, 7 },
5639
+  { 0, -8, -1, 0, -8, 7, -8, -1, -1, 4, -12, -1, 3, 0, 1, -18,
5640
+    8, 8, -14, -10, -11, 19, 9, 5, -7, 6, 8, -4, 26, 12, -1, 6 },
5641
+  { 3, 5, -14, 7, 14, 8, 20, -13, -16, -10, -2, 17, -7, 4, -8, -9,
5642
+    14, -5, 3, -4, -12, 7, 14, -10, -19, -20, 35, 8, 13, 14, -2, 9 },
5643
+  { -2, -4, -1, 1, -3, 0, -1, 1, 2, 2, 6, 0, 0, 4, 5, -2,
5644
+    3, 3, 3, -2, -7, -3, -3, -1, 6, -2, 29, 22, 13, 34, 0, 14 },
5645
+  { -3, -9, 3, 1, 5, -4, 2, 0, 7, -9, 0, 2, -5, -3, 0, 6,
5646
+    -1, -1, -1, 2, 2, 4, 8, 7, 20, -6, 7, 16, 33, 20, 6, -1 },
5647
+  { -11, 1, -3, -3, -11, 3, -9, -25, -1, -16, 4, -8, 15, 1, -2, 7,
5648
+    8, 23, 2, 18, -13, 16, 3, -7, 6, 3, 16, -8, 12, 16, 3, 4 },
5649
+  { 0, 5, 5, -5, 1, -1, 2, -3, -2, 1, -13, 2, 2, 10, 6, 7,
5650
+    18, 18, 7, 9, 8, 9, 21, 14, 7, 12, 15, 14, 15, 12, 11, 5 },
5651
+  { 1, -5, 11, -2, 17, 8, 3, 0, -1, 6, 11, -7, 6, 6, 7, 5,
5652
+    -15, 14, 1, 11, 4, 10, 12, 1, 2, 4, 30, 1, 11, 1, 6, 13 },
5653
+  { 2, 4, 3, -7, 5, 8, -11, 7, -5, 9, -10, 6, 8, -10, -3, 10,
5654
+    1, -29, -4, -26, 5, -8, 13, 4, 3, 6, 35, 1, 3, 6, 3, 0 },
5655
+  { -2, 1, 0, 0, -1, -3, -7, -3, -9, -3, -1, -6, 3, 4, 4, 0,
5656
+    5, -1, -2, -2, -1, -4, -10, 8, 0, -6, 10, -4, 46, 12, 2, 28 },
5657
+  { 4, -1, 4, 1, 0, 4, -2, -2, -2, -1, 2, -4, 1, 5, 0, -3,
5658
+    1, 1, -2, 0, 1, -2, -1, -1, 3, -6, 35, -11, 13, 53, -3, -1 },
5659
+  { -5, -2, 0, -13, -16, 5, -12, -11, 1, -30, 3, -18, -24, -8, -5, -19,
5660
+    1, -3, -8, 7, -7, -8, 15, -19, 4, 10, 30, 24, 6, 1, -9, 10 },
5661
+  { -4, 8, -7, -4, -6, 12, -1, -9, -4, 2, -9, 3, 2, -2, 4, 2,
5662
+    22, 9, 4, -5, 0, 5, -2, -9, -3, 1, 18, -12, 18, 16, 4, 16 },
5663
+  { -5, -8, -3, -5, -3, 6, -7, -3, -2, -5, -3, 1, 2, 2, 4, -6,
5664
+    10, 3, 12, -3, 20, 0, 27, -4, 16, 5, 18, -3, 23, 4, 12, 11 },
5665
+  { 0, 1, 0, 1, -2, 1, 2, 1, -1, 0, -2, 2, -2, -4, 1, -2,
5666
+    -2, -1, -5, -2, 0, 0, -2, 2, 9, 7, 63, 5, 12, -1, 1, 0 },
5667
+  { 4, -3, -7, -5, -11, -5, -12, -10, -10, -12, -15, -12, -14, -14, 1, 1,
5668
+    10, -10, 16, 6, 2, 9, 11, 9, 9, 8, 12, -1, 13, 12, 6, 3 },
5669
+  { 7, -3, -2, 4, 6, -8, 2, -3, -12, -5, -9, -8, -10, 15, -2, -4,
5670
+    8, 9, 7, -13, -18, 34, -5, 7, 12, 22, 16, -11, 13, 25, -15, -11 },
5671
+  { -3, -2, 0, -4, 1, 0, -3, -13, -7, 13, 12, -7, -10, 13, 19, 6,
5672
+    16, 15, -12, -15, -3, 34, 1, 5, 1, -9, 11, 21, 8, 17, -5, -6 },
5673
+  { 3, -5, 0, -4, 0, 4, -11, 4, -7, -3, -1, -8, 3, -2, 2, 1,
5674
+    11, 5, 6, 14, -3, 2, -4, -7, 0, 31, 15, -2, 24, 11, 5, 4 },
5675
+  { -1, -4, -9, 5, -8, -18, -4, -9, -20, -18, 7, -14, -16, 3, 8, -3,
5676
+    29, 11, -13, -13, 7, 1, 17, 6, 6, 21, 11, 1, 14, -8, 2, 5 },
5677
+  { -3, 8, -10, -6, 12, 2, 1, 3, 3, 3, 3, -6, -8, -14, 15, -5,
5678
+    16, 4, 16, 0, 7, -1, 0, 16, 2, 1, 22, 4, 19, 13, -11, 1 },
5679
+  { 2, -3, 10, 20, -4, -1, -8, 5, -8, -9, -6, -2, -4, -7, 8, -10,
5680
+    0, 8, -6, 1, -8, 14, 13, 5, 17, -6, 26, -1, 7, -1, 0, 12 },
5681
+  { -4, -7, -31, -2, -7, -1, 5, -5, -5, -12, 4, -7, -6, 3, 15, -2,
5682
+    5, -2, 7, -1, 10, 7, 8, -1, 14, 20, 14, 9, 16, 16, 8, 24 },
5683
+  { -7, 0, -3, -6, 1, 3, -13, -6, -4, -4, -5, -9, -1, -10, -4, -8,
5684
+    2, 0, -1, 1, 24, 24, 21, 31, 5, 2, 11, 12, 7, 4, 3, 6 },
5685
+  { -3, -5, 6, -4, -3, -1, 2, -1, -2, 1, 0, -8, -1, 2, 0, -4,
5686
+    6, 22, -1, -5, 8, 12, -1, -2, 28, 27, 20, -27, 14, 1, 2, -3 },
5687
+  { 1, -5, -2, -2, 6, -2, 9, 1, -2, -5, 3, 4, 11, 5, 2, 8,
5688
+    -3, -1, 1, -2, -3, -5, 5, 8, 49, 12, 8, -3, 9, 20, 12, 17 },
5689
+  { -6, 0, 1, 7, 0, 9, -2, -4, 8, 0, -2, -10, 0, 7, 21, -1,
5690
+    0, 1, 17, -7, -5, 2, 4, 16, -2, 17, 14, -20, 15, 14, 4, 15 },
5691
+  { 0, 3, -4, 9, -4, 0, 6, 4, -6, -6, -5, -7, 2, -9, -10, -2,
5692
+    -5, 0, -3, -21, 9, 14, -11, 13, 29, 2, 25, 4, 22, -1, 2, -3 },
5693
+  { 2, 12, -11, 2, 16, 9, -4, 7, 1, -10, -15, 11, -4, 3, -2, 4,
5694
+    4, -5, -10, 1, 4, 19, -15, 6, -4, -2, 30, -7, 11, 21, -12, 5 },
5695
+  { -2, -3, -2, 4, -1, -5, -3, -7, -5, 1, 0, -6, 1, -6, 7, 0,
5696
+    8, -7, -3, -2, 2, 14, 2, -3, -26, -1, 26, 22, 32, 1, -2, 6 },
5697
+  { 1, -38, -1, -20, -2, -3, -6, -4, 2, 2, 7, 0, 3, 5, 3, 10,
5698
+    6, 1, -3, -5, 7, 5, -5, -4, 8, 3, 1, -14, -1, -9, -5, -4 },
5699
+  { -5, -26, -7, -19, -10, -5, -11, 5, -11, -25, -8, -14, -9, -16, -8, -6,
5700
+    -17, -14, -1, -1, 6, 2, 2, 2, 3, 0, 2, 8, -8, 3, 0, -3 },
5701
+  { 17, -49, -3, -23, -1, 11, 7, 3, 4, -4, 0, 0, -1, 4, 2, 4,
5702
+    -2, -4, 2, -2, -1, -2, 2, 0, 0, -1, 0, 0, 1, 2, 0, 0 },
5703
+  { 4, -34, -6, -9, 1, 21, -7, 3, -2, -1, -3, 18, 2, -16, 7, -3,
5704
+    8, 7, -5, 7, 2, 4, 8, -6, -7, -2, -5, -1, 4, 1, 2, -4 },
5705
+  { 5, -29, 13, -2, -14, 3, 1, 18, -15, 4, -8, 8, -10, 8, 2, 1,
5706
+    -8, 15, 3, -10, -4, -4, -2, 0, -3, -4, 2, -3, -4, -3, 12, -6 },
5707
+  { 13, -20, 3, -18, -17, 4, -14, 13, 28, 11, -8, -6, 16, 6, 0, 10,
5708
+    3, 4, -9, 13, 5, -7, 12, -5, 0, -7, 5, 1, 3, 3, 2, 1 },
5709
+  { 3, -27, -5, -11, -21, -11, -12, 0, -5, 7, -22, 1, 3, 5, 0, -5,
5710
+    8, 7, 1, -5, -7, 2, -5, 4, 1, 3, -8, -2, 0, 4, -2, 6 },
5711
+  { 31, -45, 0, -1, -12, 1, 2, -6, 4, 3, -1, 3, 3, 0, 5, 3,
5712
+    -5, 12, 4, 6, 2, 1, -2, 1, 3, 2, 5, 2, 2, 2, 3, -1 },
5713
+  { 9, -45, 6, 5, -1, -17, -2, 18, -3, 2, 0, 1, 0, -1, 10, 8,
5714
+    -7, -2, -5, -8, 6, -1, 0, 4, 6, -3, 12, -1, -2, 0, 5, -7 },
5715
+  { 3, -26, -2, -12, -12, 2, -10, 16, -3, 12, 4, 5, 11, 8, -16, -17,
5716
+    -2, -3, -3, 2, 5, -9, 13, 1, 10, 11, 3, 5, -2, 2, 2, -7 },
5717
+  { 8, -26, 32, -7, -5, 22, 2, 14, -10, -8, -7, 3, 3, 7, 0, -5,
5718
+    0, -1, -3, 0, 8, 4, -5, -7, 6, -1, 4, 8, 1, 1, 7, -6 },
5719
+  { 4, -31, 2, -14, 2, 0, 1, 8, -6, -1, 17, -3, 13, -6, 5, -10,
5720
+    -2, -10, -2, -10, -3, 7, 1, 5, -8, 8, -14, -3, -15, 7, -10, -6 },
5721
+  { 16, -27, 13, -4, -23, 7, -9, 6, -7, 5, 4, 2, -1, -3, 23, -18,
5722
+    7, 0, -3, 4, -3, 9, -6, -2, -1, 8, -6, 2, 6, -3, 2, -2 },
5723
+  { -1, -35, -2, -8, 11, -1, -7, -3, -2, 11, 7, 6, -6, -10, 9, 6,
5724
+    -3, -5, -6, -3, 9, 16, -16, -9, -20, 12, 3, 5, -3, 1, -9, 4 },
5725
+  { 2, -24, 1, -12, -16, 5, -4, 3, -4, -1, -11, -11, -8, -14, 14, 10,
5726
+    -8, 20, 8, -3, -11, 1, 1, -4, -4, -7, -3, 15, 2, -6, -2, 7 },
5727
+  { 9, -21, 2, -19, -7, -5, -8, 25, 3, 17, 5, -3, 9, -12, 8, 2,
5728
+    -4, 3, 3, 1, 11, -9, -4, -3, 4, 3, -22, 6, 4, 6, 11, -5 },
5729
+  { 16, -23, 13, -17, -21, -12, 5, 9, -20, 7, 6, -6, 0, 2, -9, 6,
5730
+    -6, -13, -7, -1, 5, -3, 5, -7, -10, 1, 0, 8, -9, 11, 0, -8 },
5731
+  { 10, -26, -9, -7, -19, -4, 6, 16, -7, 5, -4, 4, 8, 0, 4, -1,
5732
+    6, -7, 1, -8, -11, 10, -14, 0, -16, 6, -3, 5, -1, 14, 12, 1 },
5733
+  { 8, -27, 12, -14, -1, -1, -19, 10, -11, 21, -14, 9, -8, -3, 8, -1,
5734
+    12, -13, 3, -4, -2, 0, -9, 0, -7, 2, -3, 12, 1, -3, 3, 1 },
5735
+  { 18, -20, -14, -14, -16, -3, -24, 6, -17, 2, -3, -11, 2, -3, 12, 10,
5736
+    10, 1, 10, 7, 8, 5, 5, 4, -1, 7, 2, 2, 0, 4, 7, 0 },
5737
+  { 0, -30, 9, -16, -18, 15, 12, -3, 4, -4, -5, -11, -4, -12, -10, 0,
5738
+    2, -2, -4, -1, 2, 0, -1, -6, 2, -3, 4, -5, 7, 3, 5, 7 },
5739
+  { 25, -24, -1, -6, -9, 6, -13, -2, 3, 15, -3, 11, 4, -8, -11, 2,
5740
+    0, -9, -2, 7, 4, 8, 5, -8, 5, 6, -1, -11, -15, -5, 0, 11 },
5741
+  { 0, -34, -7, -11, -7, 9, -3, 19, 4, -8, 3, -11, 11, -3, -9, 12,
5742
+    9, 9, 2, 1, -7, 1, -3, 0, -6, -2, -1, 3, 0, -7, -2, -5 },
5743
+  { 6, -34, -4, -5, -3, -9, 2, 9, -1, 9, -5, -3, -26, -12, 8, -6,
5744
+    -7, 11, -8, 4, 4, 1, -1, 0, 8, 9, -4, 7, -1, 1, -3, -1 },
5745
+  { 3, -30, 5, 6, -10, 3, -7, 6, 3, 3, -26, -19, -3, 1, 7, 5,
5746
+    -4, -5, 6, 10, 13, -10, 4, -7, -4, 5, -3, 9, -6, 3, 9, 5 },
5747
+  { 4, -24, 9, -19, 2, -4, -5, 8, -3, 2, 0, -15, -1, 9, -4, 22,
5748
+    6, 9, 3, 7, 11, -9, 0, -3, 4, 5, -5, 10, -8, 5, -7, -3 },
5749
+  { 8, -27, 7, -3, -1, 2, -9, 13, 7, 12, -4, -6, -6, 5, 0, 7,
5750
+    5, 1, 15, -3, -4, 0, -5, -2, 7, -5, -7, 1, -2, 13, -8, 13 },
5751
+  { 17, -22, -15, -11, -8, 16, -14, 18, 2, -1, 14, -7, 14, -6, -6, -7,
5752
+    -8, 17, 6, 4, 4, -7, -5, -9, -14, -6, -1, 9, -3, 1, 6, -5 },
5753
+  { 25, -30, 2, -12, -13, 18, -18, 16, 8, -3, 10, -8, -3, -1, -6, 3,
5754
+    -5, -7, 4, 6, 7, 1, 1, -11, -5, 6, 2, -4, 9, -1, -5, -2 },
5755
+  { 7, -23, 7, -15, -1, -3, -1, 0, -10, 12, 2, 5, -4, 0, 4, 6,
5756
+    -1, 5, -9, -1, -1, -7, 1, 17, 9, -17, -16, 8, 4, -14, 11, 14 },
5757
+  { 0, -31, 7, -13, 3, -11, -7, 6, 1, -11, 8, -7, 15, -3, 16, -11,
5758
+    -1, -15, 16, -3, 5, 0, -2, -2, -6, 11, 5, 6, 5, -5, 6, 3 },
5759
+  { 13, -24, -2, -20, -10, 7, -3, -1, 15, 2, 6, -5, -7, -10, -20, 1,
5760
+    -4, 14, 8, -2, 3, -13, -3, 1, -4, 1, -3, 2, 8, -7, 16, -4 },
5761
+  { 1, -2, -2, -3, -4, -7, 0, 3, 6, 7, 3, 2, 1, -2, -1, 0,
5762
+    -6, 4, 2, -4, -3, -4, 5, 9, 5, 0, -3, -3, -4, -7, -31, -50 },
5763
+  { -1, -3, 7, 2, -1, 2, 4, 6, 0, 10, -2, 0, -20, -6, -3, 9,
5764
+    -20, -22, -1, -1, 15, 9, -12, 10, -13, -20, 12, 3, 5, 6, -7, -26 },
5765
+  { 0, 4, -2, -14, -12, 6, -13, 11, -10, 3, 22, 6, 16, -2, -5, 1,
5766
+    -3, -11, 0, -7, 5, -5, 0, 1, -1, -6, 8, 8, 10, 9, -5, -27 },
5767
+  { -5, 10, -2, 7, 9, -9, 5, -9, 5, 4, -15, 14, 1, 3, -10, 5,
5768
+    0, -2, 7, 3, -13, 6, 9, -6, 5, -14, -17, -1, 11, 14, -2, -26 },
5769
+  { 0, 6, -3, 0, -8, 6, 0, 1, 4, -8, 2, -5, 4, 7, 15, 11,
5770
+    9, 19, -2, 14, -8, 7, -1, 3, -3, -3, -10, -2, 12, -2, -12, -29 },
5771
+  { -12, -5, 0, -3, -2, 6, 3, -3, 2, -2, 1, 11, 2, -7, 5, 1,
5772
+    2, -2, -14, 0, -1, -5, 3, 8, -28, -26, 6, -6, 3, 8, -10, -27 },
5773
+  { -1, -3, 6, 2, 4, 15, 1, 0, 2, -2, -2, 13, 3, 6, 0, 6,
5774
+    -1, -4, -1, -5, 8, -1, 5, -5, -15, 11, -8, -5, 14, -6, -14, -29 },
5775
+  { -5, -6, 0, 1, 0, 6, -3, 2, -5, -1, 5, -3, 2, -10, 3, 4,
5776
+    3, 0, 13, -3, -1, 4, -4, -6, 2, 9, 8, 2, -3, 28, -11, -31 },
5777
+  { 1, -4, -10, -9, -4, -3, -15, -6, 1, 5, -3, -6, 5, -6, -22, 27,
5778
+    -13, 5, 3, -7, -4, 20, -7, -12, -1, -24, -4, -13, -8, -11, -15, -21 },
5779
+  { -6, -4, 19, -6, 2, 11, -6, 1, -3, -10, 9, -9, 12, -10, 2, 1,
5780
+    -9, 1, 15, 7, -5, 5, -29, -35, 4, -30, 9, 9, 19, 17, 2, -17 },
5781
+  { -3, 3, -3, 1, 2, 5, -1, 5, -2, -3, 1, -3, -8, 3, -4, -2,
5782
+    -4, -1, 12, 0, 2, -8, -6, -4, 16, -1, -14, -2, 25, -6, -15, -36 },
5783
+  { 0, -1, 3, -4, -4, -1, 7, -4, 8, 0, 10, 9, -4, 1, 10, -1,
5784
+    -3, -13, -5, -4, -1, -4, 8, 11, 14, -7, -5, 16, 12, 13, -1, -28 },
5785
+  { 1, -2, 2, -3, -8, 10, 4, 9, 12, 3, 5, 0, 8, -3, -6, 2,
5786
+    16, -11, 11, 0, 1, 6, 1, 18, -10, -16, -1, -4, 5, -14, -15, -20 },
5787
+  { 1, -12, 5, 4, -7, 8, -1, -17, -2, -9, -14, -11, 6, -9, 5, -4,
5788
+    3, -2, 7, 18, -5, 5, 6, -1, -11, -2, -10, -3, 8, -3, -2, -32 },
5789
+  { -12, 5, 20, -5, -6, -11, -6, -6, -13, 4, -6, 19, -8, 2, 3, -9,
5790
+    -4, -4, -1, 9, -1, 21, -1, 7, 15, -10, -1, -3, 9, -3, 2, -24 },
5791
+  { 0, -3, 2, -6, 4, -1, -9, -2, -1, -3, 6, -1, -5, -6, -5, -8,
5792
+    0, -2, -6, 9, -4, 3, 2, -13, 1, -7, 23, -13, 4, -3, -15, -33 },
5793
+  { -7, 2, -15, 11, -10, 14, 0, -11, 3, -1, 12, -4, -4, 9, 11, -13,
5794
+    -13, -3, -14, 1, 3, 6, -5, 8, 0, 5, 5, -10, 4, 5, -6, -30 },
5795
+  { -6, 4, 0, -5, 4, 1, -1, -1, 3, 6, 5, -2, -5, 0, -2, 5,
5796
+    -4, -2, -4, -2, 4, 7, -7, -1, 1, -4, -3, -19, 37, 12, 10, -40 },
5797
+  { -7, 2, -7, -12, 17, 11, -7, 2, 2, 3, 1, -1, 3, 4, -2, -5,
5798
+    9, -9, 6, 4, 9, 12, 11, -5, 2, -1, 0, 9, 5, -7, -2, -24 },
5799
+  { -7, 6, 1, 3, 1, 0, 6, 0, 4, -12, -2, -2, 1, -9, 10, -2,
5800
+    11, -1, 21, -12, 15, -5, 10, -5, 5, -5, 14, -6, 5, -7, -3, -29 },
5801
+  { -2, 0, -5, -2, -3, 1, -3, 0, 4, 2, 3, 0, 2, -2, 7, -2,
5802
+    3, -5, 2, -1, 6, -4, 0, -3, 8, -11, 19, -8, 22, -34, 13, -35 },
5803
+  { -1, -3, -1, 9, 11, -3, -3, -1, 7, 18, 11, -5, 2, -12, -11, 18,
5804
+    9, -5, 1, -6, -9, 12, 1, -3, -3, -9, -14, 9, 9, 8, -6, -26 },
5805
+  { 0, 5, -5, -1, -1, -2, 4, 6, 8, 2, -1, -2, 5, 1, -5, -4,
5806
+    1, 1, 18, 1, 7, -10, 3, -2, 12, -1, -15, 9, 12, -14, 13, -38 },
5807
+  { 3, 0, -8, -1, 0, 8, -9, -3, -8, 16, 3, 16, -5, -9, 0, -1,
5808
+    -7, -1, -4, 13, 7, 0, 1, 2, -1, -16, 0, -2, 1, 8, -8, -28 },
5809
+  { 7, 9, -5, -3, -2, 2, 0, 3, 11, -6, -4, -2, -2, -5, 28, -18,
5810
+    -6, 2, 15, -10, -15, -10, -2, 0, -2, -2, 4, -3, 7, 11, 5, -30 },
5811
+  { 9, 0, -7, -1, -4, -7, 2, 2, 9, -2, 2, 3, -8, -6, -6, 3,
5812
+    -10, 4, 10, 5, 21, -4, 14, -18, 1, 3, -10, -2, 6, 14, -8, -26 },
5813
+  { -14, -1, 2, 3, -3, 7, 1, -22, -1, -1, 0, 1, 12, -14, 3, -5,
5814
+    0, 10, -3, 1, -5, 12, -3, 10, -8, -22, -11, -13, -7, -10, -13, -25 },
5815
+  { -2, -5, -4, -4, -9, -18, 9, -3, -5, 17, 13, 5, 6, 11, 3, 8,
5816
+    20, 4, 2, 9, 8, 5, 6, 1, 7, -7, -6, -2, -7, 0, -17, -23 },
5817
+  { -5, -5, 2, 0, 6, 2, -2, 2, -3, 4, 4, 0, -5, -2, -4, 6,
5818
+    8, 10, -1, 1, -5, 5, -14, -2, -11, 8, 6, 25, 7, -1, 0, -43 },
5819
+  { -4, 0, 4, -2, 7, 0, 3, 17, 5, 2, -5, 1, 21, 3, -2, -10,
5820
+    -16, -9, 7, -12, 9, -8, 2, 5, -5, -10, -2, -11, -5, -1, -9, -30 },
5821
+  { -2, 3, 1, -4, -1, 0, 8, 1, 12, 4, -1, -1, 3, -17, 13, 9,
5822
+    0, 7, -6, -5, 9, 1, 5, 4, -10, -18, 0, 14, 11, -4, -16, -28 },
5823
+  { -1, 0, 2, -1, 4, 1, -1, 1, -1, -2, -1, -2, 3, 0, 0, -1,
5824
+    -1, 1, 2, -2, 3, 3, -2, 4, -2, -1, -6, 1, -1, -1, 6, -70 },
5825
+  { 7, 3, -11, -1, 12, -4, -14, 4, 4, -4, 4, -2, 2, -12, -4, 15,
5826
+    -17, -4, -3, 6, 8, -5, 22, -22, 5, -11, 15, -4, 4, -1, -21, -1 },
5827
+  { 10, -2, -13, 11, 4, 14, 4, 9, 8, 8, 19, 15, 14, 15, 5, 10,
5828
+    8, 15, -5, 4, 14, -8, 1, 1, 2, 1, -1, -3, 21, 8, -29, 13 },
5829
+  { -6, 0, -6, 6, -1, 2, 8, -4, -5, 4, -4, -5, 0, -2, -4, 0,
5830
+    9, -2, 1, -2, 26, -19, 21, -10, 4, 1, -8, 5, 22, -10, -13, 15 },
5831
+  { 11, -5, 1, 0, 6, 3, 7, -2, -2, -3, -5, -1, -2, -6, 1, 1,
5832
+    -8, -5, -13, 13, -2, -3, -1, -9, -28, 4, 2, -11, 18, -20, -24, 9 },
5833
+  { 7, 4, -3, 6, 6, -6, -7, -5, -7, -4, -4, 0, -7, -5, -6, -5,
5834
+    2, -13, -12, 2, 0, 5, 18, 15, -13, -7, 13, -20, 16, -10, -19, 6 },
5835
+  { 5, -8, -1, 5, 10, 2, -1, -10, -11, 23, 8, -5, -8, 4, -5, -4,
5836
+    -5, -5, -11, -8, 5, 1, 7, -9, -9, -6, 12, 14, 17, -12, -22, 3 },
5837
+  { -5, -8, -3, 3, 12, -1, 0, -4, -5, 1, 1, 6, 1, 5, -5, 7,
5838
+    -2, 7, 1, 6, 6, 2, 0, -5, 17, -4, -5, -24, 13, -20, -27, 14 },
5839
+  { -1, 2, -3, 1, -3, 1, -3, 0, -2, 3, -2, 1, 2, -1, -2, -1,
5840
+    -2, -5, 5, -2, 0, -7, 1, -6, 8, 8, 11, -5, 24, -43, -13, 2 },
5841
+  { -2, 4, 7, -3, -4, 4, 13, -4, 0, 0, -2, 9, 0, -3, -6, 1,
5842
+    -7, 1, -1, 10, 0, 5, -1, -24, 25, -15, 7, 2, 22, -10, -21, 0 },
5843
+  { -5, 2, 6, -2, 13, 3, 5, -12, -11, 16, 6, 10, -5, 0, -3, 6,
5844
+    5, -5, -5, 10, 12, 10, 11, -7, 8, -14, 2, -15, 13, -14, -8, -3 },
5845
+  { 5, 6, -7, -5, 5, 2, 9, 5, 0, -1, -4, 2, 8, 0, 3, 5,
5846
+    -12, 3, -3, -6, 2, -1, -5, 14, 11, -20, -21, -25, 24, -1, -10, 6 },
5847
+  { -5, 5, -2, 9, 4, -4, -1, -6, 11, -6, 5, 0, 2, -3, 6, -1,
5848
+    -17, -18, -4, -13, 9, -1, 9, -7, -4, -8, 2, -3, 12, -31, -18, 5 },
5849
+  { -7, -11, 6, -8, 4, -3, -12, 0, -1, -6, -3, 0, 5, 9, 7, 2,
5850
+    1, -8, -6, 8, 2, -5, 7, -1, 16, -10, 16, -12, 18, -1, -25, -12 },
5851
+  { 3, -12, 1, 2, -2, -18, -8, -15, -10, -9, 2, -7, 11, -11, 2, -1,
5852
+    -1, -1, -9, -6, 3, -14, -2, -1, 2, -13, -7, -9, 19, -5, -17, 2 },
5853
+  { 7, 1, -8, 7, 17, -13, -10, 5, 7, 1, -6, 4, 9, -4, 0, 3,
5854
+    8, 1, -14, -9, 4, 7, -9, 0, 6, -5, -12, -2, 25, -2, -19, 1 },
5855
+  { 7, -3, 6, -3, 1, 6, -7, 0, 10, 0, 4, -5, -17, -4, 4, -1,
5856
+    0, -3, -7, 19, 24, -1, 21, 8, 10, 9, 8, -1, 23, -2, -18, -2 },
5857
+  { 3, -3, 0, 5, 8, -2, -9, 2, 9, 6, 19, 8, 2, 6, -9, -2,
5858
+    -4, -3, -8, 7, -7, -8, 5, 4, 26, -6, 7, 18, 24, 0, -13, 4 },
5859
+  { 0, -13, -11, -1, 3, -9, 5, 4, -7, 3, 0, 2, -1, 4, -5, 2,
5860
+    9, -2, -11, 15, 1, -21, 1, -1, 0, 4, -14, -4, 24, -16, -13, 1 },
5861
+  { 1, -9, -8, 0, 0, -4, 11, -1, 14, 16, 0, 17, -2, -9, -12, 0,
5862
+    -1, -14, -9, -14, 0, -2, 19, 4, 6, 4, 4, -11, 8, -17, -19, -5 },
5863
+  { -3, 1, 2, 12, -4, -18, -1, -4, -7, 14, -3, 2, 0, -7, -8, 12,
5864
+    -5, -9, 14, 12, -9, -2, 4, -6, 4, 18, -1, -25, 22, 2, -23, -5 },
5865
+  { -2, 0, 0, 0, 1, 3, 5, -1, 5, -2, -2, 2, -3, 0, 1, 2,
5866
+    0, -1, 2, -1, -9, -6, -7, -4, -2, 4, -7, -5, 64, -3, -25, 4 },
5867
+  { 12, -2, -3, 0, 8, -9, 13, -7, 6, -3, -12, 12, 15, -9, -4, 2,
5868
+    9, -4, -12, 3, 14, 1, 7, -15, 15, 0, -6, -12, 0, -3, -20, 6 },
5869
+  { 2, -1, -4, 5, 9, 6, -7, 2, -2, -7, -2, 0, -1, -18, -4, -6,
5870
+    -15, -5, 11, 5, -10, -1, 2, 7, 12, -19, -7, 8, 21, -4, -15, 4 },
5871
+  { 4, 2, 5, 5, -5, 1, 3, 2, -8, 13, 0, -5, -2, -14, -11, 6,
5872
+    2, 17, 8, -13, 26, -2, 5, -15, -4, -14, 12, -9, 13, -21, -23, -4 },
5873
+  { 2, -3, -2, -3, 3, -2, 6, 9, -9, 13, 4, 2, 12, -3, -3, 1,
5874
+    -17, -22, -3, 4, 3, -2, 1, -9, 1, -6, 11, -13, 14, 0, -15, 6 },
5875
+  { -16, -4, 17, -2, -20, -11, 11, 10, 5, -8, 16, 2, -17, -14, 11, 11,
5876
+    -6, -11, -7, 12, 12, -10, -6, 5, 8, -4, -2, -5, 28, 3, -13, 4 },
5877
+  { 0, -3, 3, -7, 6, 8, -12, 20, -19, 18, -11, 10, -5, 0, -9, 11,
5878
+    3, 0, -2, 9, -7, -5, 18, 3, -2, -16, 1, 6, 12, -7, -16, 1 },
5879
+  { 4, 1, 5, -5, 15, 2, -8, 3, 5, -11, 15, -3, 8, -8, -1, 7,
5880
+    4, 7, -2, 6, -9, 5, 12, 2, 33, -2, -6, -18, 4, 0, -18, 11 },
5881
+  { 3, -1, 1, -1, 0, 1, 4, -1, -5, 0, 1, 0, 4, 2, -1, 4,
5882
+    -3, 2, 0, -2, 4, 6, -1, 6, 42, 19, -4, -37, 19, 1, -15, -4 },
5883
+  { 2, 0, -5, 0, 10, 0, 0, -5, 3, 0, 0, -3, -3, 0, 2, -4,
5884
+    -10, 2, -6, 4, 4, 1, 27, -7, 17, -34, 5, -9, 15, -16, -7, -5 },
5885
+  { -2, 7, 7, -2, 9, -2, -15, 11, 11, 7, 5, 1, 15, 1, -9, 31,
5886
+    2, -15, 2, 4, 3, 4, -1, -8, 2, -7, 6, -17, 11, -14, -11, 2 },
5887
+  { 1, 1, -11, 9, 9, -6, -14, -11, -10, 8, -3, 11, 16, -9, -8, -13,
5888
+    -8, 9, 0, 6, 6, -2, 13, -8, -2, 3, 13, -3, 10, -6, -17, 4 },
5889
+  { 14, 5, 4, -6, -12, 10, -7, 8, 21, -8, -30, 15, -2, 1, 11, -9,
5890
+    -5, 1, 0, -1, -1, -6, -2, 3, -5, 7, 9, 5, -5, 2, 0, 1 },
5891
+  { -1, 2, 20, -17, -15, 3, 3, 7, 11, -17, -13, -6, -3, 18, 17, -15,
5892
+    -4, -4, -5, 22, 14, -14, -2, -10, -7, 11, 8, -7, -3, 0, -7, 11 },
5893
+  { 7, -11, -7, -8, -14, 22, 5, 2, 6, 13, -12, -2, 10, 3, 0, -21,
5894
+    -4, 20, 3, 10, 21, -10, -12, 8, 11, 2, -5, 2, 1, 3, -1, 15 },
5895
+  { -1, -2, -1, -2, -13, 8, -4, 0, 7, -2, -17, 8, 18, 5, 3, 8,
5896
+    -8, -2, 3, -4, 14, -18, -13, 14, 15, -13, -1, -2, 4, 11, 1, 12 },
5897
+  { 13, -6, -4, -16, -17, 16, 21, -2, 5, -11, -9, 19, 21, -17, -3, -17,
5898
+    3, 12, 8, -12, -6, 1, -7, 9, 9, -7, -5, -1, -3, 5, -6, -4 },
5899
+  { 11, 5, 12, -20, -6, 10, 4, 12, 8, -5, -10, 15, 13, 14, 10, -15,
5900
+    -13, 1, 6, 14, 15, -17, -13, 4, -5, 10, 7, -6, -8, -3, -4, 12 },
5901
+  { 25, -1, 7, -5, -7, 11, 1, 17, 13, -15, -14, -4, 5, 3, 8, -3,
5902
+    -2, 2, 0, 6, 16, -12, -6, -4, 4, -3, 7, -10, -3, -7, -13, 7 },
5903
+  { -8, 10, -3, -13, 5, 2, 4, 9, 9, -17, -13, 2, 11, 1, 6, -4,
5904
+    8, -10, 4, 1, 19, -15, -4, 12, 31, 7, -5, -17, -4, 9, -2, 7 },
5905
+  { 14, -6, -6, -6, -14, 13, 17, -5, 4, -14, -9, 7, 7, -9, 3, -16,
5906
+    -15, 11, 11, 6, 4, -11, -19, 3, 5, 8, 13, -14, -14, 3, -4, 12 },
5907
+  { -2, -4, 10, -4, -7, -1, 27, 5, 2, -16, -18, 4, 12, -2, -3, -2,
5908
+    -1, 1, -8, -12, 3, -4, 8, 15, 2, 4, 9, -13, -14, 9, -7, 5 },
5909
+  { 4, 2, -10, -5, -7, 2, 1, 4, -1, -6, -15, 6, 1, 10, 5, -10,
5910
+    -9, -1, 13, -3, 5, -21, -11, 8, 8, 5, 27, -21, -18, -5, -1, 15 },
5911
+  { 11, 1, -16, -8, -11, 0, 5, -8, -12, -13, -17, 22, 4, -6, -1, -18,
5912
+    -10, 0, 19, 2, -2, -8, -7, -3, 2, -2, -9, -17, -5, 4, 4, 10 },
5913
+  { 8, -6, -19, -5, -4, 12, 14, 15, 10, -9, -1, -9, 19, 12, 0, -1,
5914
+    2, 4, 7, 9, 16, -16, -14, 9, -4, 3, 1, 0, -2, 10, -1, -1 },
5915
+  { 12, -8, 12, -9, 0, 25, 7, 9, 2, -31, -9, -4, 15, 4, -5, 1,
5916
+    -10, 11, 8, 10, 0, -6, 5, 11, -1, -6, 4, -10, -9, 6, 4, 5 },
5917
+  { 14, 6, -17, -2, 17, 12, -9, 2, 0, -25, -14, 5, 20, 14, 8, -20,
5918
+    5, 2, -2, -3, 9, -13, -3, -1, -6, 3, 7, -6, 0, 2, 3, 1 },
5919
+  { 8, 4, -15, -3, 10, 18, -4, 13, 8, -22, -10, 9, 19, -15, 7, -5,
5920
+    -13, 12, -4, 9, 2, -9, -6, 0, 2, 1, -9, -6, 6, 1, -1, 11 },
5921
+  { 4, 1, 4, -5, -10, 18, 7, 2, -4, -9, -11, 0, 32, -7, 4, -16,
5922
+    -1, 0, 6, 3, 6, -3, -14, 16, 9, -2, 7, -1, 0, -5, 5, -3 },
5923
+  { -3, 2, 3, -8, -6, 4, 6, 2, 4, -12, -15, 2, 8, 8, 9, -3,
5924
+    -18, 6, 34, 11, 12, -15, -1, 2, 9, 2, -4, -4, 2, 4, 2, -3 },
5925
+  { 18, -6, -12, -8, -1, 15, 20, -4, -1, -11, -5, 6, 6, -11, -15, -7,
5926
+    3, 7, 10, 2, 8, -10, -5, 8, 15, -5, 5, -17, -13, 13, 11, 7 },
5927
+  { 8, -4, -6, -1, -14, -3, 6, -2, 1, -5, -1, 10, 10, -15, 5, 0,
5928
+    -10, -4, -3, 7, -4, -19, -15, 27, 11, 18, 3, -19, -2, 6, 0, 12 },
5929
+  { 12, 0, -5, 0, 4, -5, 1, 5, 10, -7, -11, 21, 29, 1, -2, 1,
5930
+    -4, -11, -1, 13, 11, -20, -1, 4, 4, 4, -5, 6, -13, -2, 11, 9 },
5931
+  { 2, -7, -7, -3, -10, -1, 20, 12, 1, -19, -19, -1, 5, 4, -7, -25,
5932
+    14, 1, -3, 2, 12, -4, -3, -3, -2, 6, 1, 0, 3, 2, 5, -1 },
5933
+  { 12, -8, 3, -12, -10, 10, 13, 0, 23, -14, -18, 10, 0, 15, 3, -12,
5934
+    -3, -5, 5, -4, 2, -14, -10, 8, 2, 9, -1, -11, -3, 5, 13, 2 },
5935
+  { 9, -6, 7, -7, -30, 17, 6, 13, 1, -14, 0, -1, 6, -9, 8, 3,
5936
+    -4, 0, -1, -7, -5, -13, -19, -3, -4, 4, -6, -2, -13, 1, -2, 3 },
5937
+  { 10, 1, 3, -18, -26, 17, 4, -16, 4, -3, -13, -4, -6, -11, -4, -21,
5938
+    7, 8, 2, 5, 13, -6, 1, 5, 8, 7, 9, -6, -6, 1, -1, 2 },
5939
+  { -3, -1, 0, -2, -2, 0, -1, 3, 4, -14, -8, -9, 13, 2, 50, -23,
5940
+    -8, 8, 7, 11, 16, 3, -7, 0, -2, 6, 5, -1, 1, -2, 4, 3 },
5941
+  { 1, 3, 1, 1, -6, 3, 6, 6, 2, -2, -3, 10, 2, -8, -5, -5,
5942
+    5, 4, 4, -2, 10, -8, -40, -1, 21, 8, 3, -4, -1, 13, 4, 7 },
5943
+  { 2, 0, -4, -8, 5, 2, 7, -5, 5, -8, -4, -1, 12, 2, 12, -13,
5944
+    -9, 0, 1, -12, 9, -43, 1, -5, 12, 1, 3, 6, 1, -1, 3, -2 },
5945
+  { 6, -2, -1, 1, 0, 4, 8, 14, 4, -7, -23, -5, 23, -17, -6, -15,
5946
+    -8, 7, 10, -1, 7, -16, 4, -6, 2, 3, -3, -3, -1, 8, -1, 4 },
5947
+  { 10, 4, -4, 1, 7, -3, 2, 11, 4, -6, -3, 8, 5, 4, 1, -45,
5948
+    -6, -4, 4, 2, 1, -14, -10, 1, 1, 6, 2, -8, -1, -3, 3, 3 },
5949
+  { 1, -1, 2, -3, -8, 9, 3, 3, -2, -5, -8, 8, 7, -7, -4, -6,
5950
+    5, -9, 11, -2, 46, -5, -1, 9, -2, 0, 3, -5, -3, -5, 7, 0 },
5951
+  { -4, 1, -2, -1, -11, 11, 8, -3, -2, -10, 0, 4, 9, 9, -17, -17,
5952
+    -34, -4, -5, -7, -3, -12, -3, 11, 18, 3, -2, -5, -18, -5, -3, 6 },
5953
+  { 7, -5, -3, 1, -4, -3, -5, -1, 2, 5, -2, 3, -10, 12, -18, -5,
5954
+    -10, 12, -9, 4, -6, 2, 0, 16, -17, 15, 14, -12, -10, -2, -9, -1 },
5955
+  { 4, -5, -3, -5, -3, -1, 7, 18, -7, 12, 3, 5, -8, -4, -20, 1,
5956
+    -25, 1, -8, 13, -10, 8, -19, -1, -8, 10, 6, -9, -1, 0, 12, 4 },
5957
+  { -4, 5, 0, -1, 2, 5, -8, -2, -6, 4, -8, 9, 3, 2, -7, 4,
5958
+    -25, 13, -23, 10, 14, 15, -11, 3, -18, 4, 16, -4, 1, -10, -10, 3 },
5959
+  { 5, -3, -1, -3, 4, 1, -3, -4, -5, 1, -12, 14, -7, 11, -15, 6,
5960
+    -6, 24, -4, 13, -1, 15, -13, 8, 3, 7, -5, 2, 2, 0, 3, -7 },
5961
+  { -3, 1, 0, 8, 6, -1, 6, 5, -5, -2, -12, 4, 0, -2, -3, 5,
5962
+    -6, 0, -8, 9, -10, 4, -28, 12, -20, 11, -13, 7, -18, 1, -11, 1 },
5963
+  { 1, -4, -15, 5, 0, -13, -5, 13, -11, 4, -4, -5, 5, -14, -16, 0,
5964
+    -14, 5, -20, 12, 10, -7, -5, 6, 6, 22, 6, -4, -2, 3, 8, 11 },
5965
+  { 13, -11, -2, 16, 16, -7, 0, 20, -7, -1, 0, 5, -9, 12, -2, -5,
5966
+    -22, 5, -10, 12, -6, 11, 9, 21, -8, 15, 4, 0, -8, -4, -4, 10 },
5967
+  { 18, -4, -13, 0, 1, -15, -1, -3, 2, 10, -1, 6, 1, -4, -20, -5,
5968
+    -8, 6, -8, 17, -5, 5, -10, 8, -22, 6, -5, -2, 8, -17, 8, 2 },
5969
+  { 1, -2, -9, 6, -31, -8, -8, 8, 0, 5, -9, -4, 2, 3, -12, 11,
5970
+    -18, 10, -5, 3, -11, 13, -6, 11, -3, 12, -7, 3, -9, -1, 2, 11 },
5971
+  { -9, -6, 21, -8, -15, 4, -11, 12, -11, 17, -1, 2, -6, 0, -15, 13,
5972
+    -12, 19, 0, 2, -6, -3, -9, 10, 3, 17, -2, 5, -10, -3, 0, 1 },
5973
+  { 4, -6, 5, -10, 1, -5, 1, 0, 0, 0, 2, 7, -2, 2, -2, 0,
5974
+    -4, 3, -4, 1, -12, 6, -49, 16, -10, 13, 0, -2, 8, 6, 1, 8 },
5975
+  { 5, -8, -7, 9, 13, -5, 7, 0, 10, 11, -4, -3, -1, 13, -14, 6,
5976
+    -15, -6, -14, 16, 15, 1, -18, -4, -20, 20, -7, -1, -9, -2, -10, 10 },
5977
+  { -12, 4, 0, 10, 0, 3, 8, 4, -27, -1, -2, 19, -4, 2, -13, 3,
5978
+    1, 9, -12, 1, -22, 19, -5, 4, -9, 12, 2, -9, -8, 11, -3, 7 },
5979
+  { 4, -5, 11, -6, 17, -17, 5, -4, -2, -6, 1, -5, 2, 4, -14, 6,
5980
+    -20, 19, -20, 12, -21, 5, -14, 13, -2, 11, 4, -3, 0, -10, -4, -2 },
5981
+  { -2, -1, -3, 8, -9, -7, -22, -3, -24, 13, -2, 10, -15, 5, -9, 4,
5982
+    -7, 0, -5, 15, -8, 11, -13, 6, -4, 19, -8, 12, -4, 6, 9, 7 },
5983
+  { 2, -3, 2, -1, 0, 3, 1, 2, 1, -4, -2, -3, 1, 5, -12, 6,
5984
+    -16, 14, -23, 10, -14, 17, -15, 16, -2, 9, -25, 9, -10, 16, 4, 9 },
5985
+  { -3, 7, -8, -3, 2, 2, -4, -8, -9, 10, 3, -11, 25, -10, -28, 27,
5986
+    -9, 7, -13, 9, -2, 4, -12, -8, -14, 6, 7, -10, 3, 3, -3, 5 },
5987
+  { -8, -3, 1, -10, 8, -3, -9, -4, 13, 7, 2, 4, -10, 4, 3, 7,
5988
+    -18, 2, -22, 15, 4, 20, -7, 5, -6, 13, -1, 4, -7, -6, 6, 13 },
5989
+  { -2, 3, 0, 2, -4, -2, 0, 0, 1, 2, -2, -5, 0, 1, -4, 0,
5990
+    -2, -3, 1, 2, -1, 2, -8, -1, -24, 68, -3, 8, 3, 3, -1, -1 },
5991
+  { -15, -2, -9, -7, -1, 8, -14, 8, 3, 6, 0, -1, -8, 8, -23, 2,
5992
+    -14, 17, -15, 8, -4, 7, -18, 0, -8, -3, -1, -4, -10, 4, -1, 4 },
5993
+  { 8, 0, 2, -7, 0, 5, 1, 3, -11, 4, -8, 14, 3, 20, 1, 26,
5994
+    -11, 13, -13, 20, -2, 0, -8, 2, -6, 6, -1, 9, 3, -6, -3, 10 },
5995
+  { 5, 0, -1, -7, 10, 1, -3, 5, 4, 7, -5, -1, -3, -1, 12, -3,
5996
+    -15, 7, -9, 22, -19, 8, -9, 4, -23, 13, -14, 6, -6, -14, -4, 7 },
5997
+  { 14, -5, -8, -10, 25, 3, -23, -7, -28, 0, -1, -9, 4, 1, -13, 20,
5998
+    -8, 10, -16, 8, 12, -13, -21, 5, -13, 11, -2, 1, 12, -7, 2, -10 },
5999
+  { -5, -4, 9, 5, -6, 35, -7, 8, 15, 2, -1, -9, -6, 2, -18, 7,
6000
+    -15, 6, -3, 2, 8, 12, -30, 7, -4, 20, 2, 6, 13, -6, -4, 0 },
6001
+  { 1, 8, -9, 9, -5, 12, -9, 16, -9, 16, -17, 14, -13, 15, -18, 14,
6002
+    -15, 17, -12, 14, -13, 7, -16, 13, -9, 5, -11, 10, -9, 6, -12, 13 },
6003
+  { -10, -4, 5, 3, 1, 6, 8, -14, -5, 15, 7, 4, 8, 7, -22, 8,
6004
+    -7, -8, -15, 26, 1, 13, -3, 17, -5, 9, -2, 4, -6, 3, -8, 9 },
6005
+  { 8, -3, 2, 3, 3, 1, -2, -1, -11, 8, -4, 0, -6, -5, -1, 13,
6006
+    -37, 9, 1, -6, -10, -2, -10, 11, 8, 13, -3, -2, -6, 8, -4, 13 },
6007
+  { 3, 2, -3, -4, -4, 7, -8, 9, -8, 9, -20, 12, -19, 15, -18, 17,
6008
+    -15, 7, -1, 20, -11, 6, -6, 3, 1, 9, 2, -14, -2, -2, 2, 1 },
6009
+  { -7, 1, -1, -3, -6, 4, 4, -3, 3, -1, 5, -4, 3, 2, -1, 9,
6010
+    -59, 5, -4, 30, 3, 3, -2, -3, -1, 2, 2, 1, -1, -1, -2, 1 },
6011
+  { 0, -3, 2, 0, -1, -8, 0, 2, -3, 4, -4, 1, 10, 6, -6, 8,
6012
+    -7, 4, 10, 11, -41, 27, -20, 3, -3, 8, 1, 11, -5, -8, 0, 4 },
6013
+  { 5, 1, 4, -2, 1, 2, -1, 6, -7, 2, 11, 4, 0, 0, -8, 7,
6014
+    -10, 0, 0, 8, 2, 10, -1, 1, -2, 44, -2, -21, -12, -3, -1, 2 },
6015
+  { -4, 4, -2, -2, 6, -8, 2, 1, -10, 14, 8, 6, 5, 1, -2, 4,
6016
+    -13, 4, 2, 5, 10, -2, -21, 32, -3, 18, 9, -6, -9, -9, 10, 2 },
6017
+  { 9, -16, -6, -2, 1, 4, 22, 2, -2, 1, -3, -2, -9, 3, 16, 19,
6018
+    -24, -6, -6, -5, -8, -7, 8, -7, -1, -12, 5, -3, 0, 4, 2, -3 },
6019
+  { 10, 3, -16, -4, -1, 13, 4, 4, 1, -3, 1, -6, -14, 18, 3, 8,
6020
+    -8, -28, -16, 4, 4, 2, 12, 7, 9, -4, -4, 5, -1, -1, 2, 2 },
6021
+  { -5, -13, -22, -3, -8, 21, -2, -9, 21, -4, -9, 5, -8, 15, 5, 1,
6022
+    -5, -9, -7, -2, -5, -5, -1, -5, -5, -5, 3, 10, -4, 0, -7, -2 },
6023
+  { 5, -10, -18, 2, 20, 4, 13, -10, 8, -15, -11, -3, -1, 16, 10, 9,
6024
+    -8, 6, 7, -5, 6, 11, 5, 17, -4, 7, -11, 5, -3, -6, 2, 1 },
6025
+  { 3, -5, -19, 1, 1, -3, -2, -25, -11, -17, 0, -13, -4, 10, 10, 2,
6026
+    -5, 4, 0, 3, -3, -5, -10, -2, 13, -22, 0, 3, -11, -5, 7, -1 },
6027
+  { 12, -14, -29, 6, -1, 10, 7, -17, -12, 14, 3, 9, -9, 9, 7, 6,
6028
+    -3, -13, 0, 5, 3, -1, -6, -1, 0, 2, 4, -12, -5, -1, 2, 11 },
6029
+  { 12, -15, -7, -2, -12, 17, 20, -16, -2, -12, -6, 15, -6, 12, 11, 9,
6030
+    7, -6, 7, -4, -19, 6, 2, 2, 3, -11, -10, -4, -5, -3, 3, 2 },
6031
+  { 11, -22, -6, 0, 8, 18, 3, -11, -4, -7, -15, -17, -12, 6, 16, 4,
6032
+    -9, 4, -5, 3, 6, -16, 10, -7, -7, -3, 5, 0, 1, -15, -4, 5 },
6033
+  { 12, -22, -16, 5, -6, 8, 12, -4, -9, -17, -11, 3, 5, 8, -17, 0,
6034
+    11, -4, -13, -6, 2, -1, -1, 3, 3, -11, -12, -1, 1, 1, 12, -2 },
6035
+  { 8, -10, -33, -5, -3, -6, 1, -7, -8, -4, -6, -1, 5, -4, -6, -12,
6036
+    -16, -8, 11, 8, -14, 7, 12, 11, 4, -14, -3, 6, -7, -5, -3, 3 },
6037
+  { 0, -8, -7, 2, -4, 24, 2, -9, -11, -3, -7, 11, -12, 17, 1, -1,
6038
+    3, -5, -7, 12, 4, 11, 0, 3, 2, -18, -3, 4, 7, -6, 3, 15 },
6039
+  { 10, -15, -16, -2, -4, -9, 7, -15, -6, 2, -16, 13, -8, 7, 19, -21,
6040
+    -4, -12, -9, -3, -3, 6, 11, -3, -1, -19, 3, -7, -9, -4, 3, -6 },
6041
+  { -5, -10, -21, 0, -3, -7, 18, -21, 15, -5, -12, -4, -13, 2, 6, -9,
6042
+    -9, -11, -4, 13, -3, 6, 4, -1, 7, -9, -4, 9, 5, 2, 6, 3 },
6043
+  { 15, -1, -27, -2, 10, 3, 7, -8, 9, -2, 7, 1, -2, -5, 18, 9,
6044
+    -11, -17, -2, 7, -9, 11, 10, 0, -8, 6, -16, -3, 2, -7, 3, 11 },
6045
+  { 4, -9, -39, 19, 6, -13, 13, -5, -5, -15, -2, 9, 0, 4, 14, 6,
6046
+    -10, -4, -5, 2, -4, -2, 5, -11, 3, 3, -2, -2, -7, 9, 7, -10 },
6047
+  { 5, -11, -8, 10, -2, 12, 16, 0, 12, -2, -6, 8, 14, 8, 7, 1,
6048
+    18, -30, 4, 10, -4, -6, 2, -11, 9, -10, -8, 5, 0, 0, -7, 6 },
6049
+  { -1, -16, -10, 11, 0, 13, 12, -4, -4, -5, -21, 12, 4, 13, 14, -7,
6050
+    6, -16, -13, 8, 2, 9, 15, -12, 1, -9, -22, 10, -9, 9, 9, -7 },
6051
+  { 4, -12, -27, 1, -2, 11, 15, 3, 14, -14, -9, 0, -9, 16, 22, 10,
6052
+    16, -10, 5, -5, -9, 1, 1, 6, 6, -4, 2, -17, -5, -6, -15, -1 },
6053
+  { 7, -12, -17, 1, -9, 5, 20, -7, 3, 23, -8, -8, -8, -1, 13, 17,
6054
+    -7, -13, 4, -4, 7, 14, 8, 11, -3, -3, 4, 0, 4, 6, -1, -9 },
6055
+  { 7, -15, -15, -4, 10, 12, 3, -13, 6, 14, 9, -8, -15, 14, 23, -5,
6056
+    -10, -5, 1, 15, -10, -7, 1, 9, 4, -13, -10, 10, 7, -3, 2, 3 },
6057
+  { 4, -10, -14, 0, 3, 4, 0, -9, -3, -4, -11, 2, -17, 8, 2, 15,
6058
+    6, -12, -12, 15, -5, 17, 18, 3, -3, -3, -4, -6, -8, 13, 4, 10 },
6059
+  { -2, -18, -26, 10, -4, 10, 13, 4, -4, -16, -7, -17, -3, 5, -4, 2,
6060
+    -15, -10, -1, -8, -7, -3, 2, 2, 8, -10, -7, 2, 2, -4, 4, -1 },
6061
+  { 4, -19, -5, -1, -1, -6, 2, -8, 10, -16, -28, -6, 8, -1, 11, 28,
6062
+    2, -10, -4, 6, -6, 6, 11, 15, -4, -2, 7, 3, 7, -7, 4, 1 },
6063
+  { -3, -6, -10, -5, 13, 18, 10, -15, -5, -3, -13, 5, 1, 2, 18, -5,
6064
+    -10, -10, -7, 4, 2, 1, 5, 4, 2, 5, 4, 8, -9, -17, 7, 7 },
6065
+  { 20, -12, -2, -4, 5, 14, 7, -11, -1, -16, -6, -4, -11, 17, 14, 0,
6066
+    -8, -10, -8, 10, 3, 5, 10, -16, 3, -8, -14, 10, 3, 9, 0, 3 },
6067
+  { 12, -10, -36, 0, 7, 15, 2, -16, 2, -1, 0, -1, 5, 4, 5, -3,
6068
+    1, -10, 5, -1, -15, -3, -12, 12, 2, 5, -1, 5, 6, -3, -2, 2 },
6069
+  { 17, -15, -31, 23, -4, 15, -2, -3, 6, -7, -5, 1, -12, 4, 6, 8,
6070
+    -10, 8, 3, 5, -4, 1, 5, 3, -1, -4, -3, 1, 10, -4, -2, -2 },
6071
+  { 6, -18, -5, 12, 10, 12, 14, -11, 15, 2, -9, -6, -5, -2, -9, 4,
6072
+    -5, -28, -4, 14, 0, -16, 9, 14, -1, 3, -4, -4, 2, 1, 0, 4 },
6073
+  { -5, -14, -31, 8, 16, 7, 13, -13, 5, 6, -16, 10, -5, 2, -2, 2,
6074
+    14, -5, 8, -5, 7, -16, 6, -13, -5, 0, -5, 8, -3, -1, 4, 3 },
6075
+  { 1, -2, -1, 0, 6, 5, 2, -4, -3, -1, 0, 1, 4, 2, 43, 28,
6076
+    -12, -35, -2, -2, -7, -1, 0, 2, -1, -2, -2, 1, -4, 0, -2, 3 },
6077
+  { 2, -9, -22, 12, 3, 3, -7, -4, -19, -22, -14, -4, -1, 21, 9, -3,
6078
+    -15, -16, -13, 1, -11, 4, -9, 1, -7, -1, -1, 0, -2, 9, -13, -3 },
6079
+  { -1, -3, -23, 0, 2, 12, 3, -9, -4, 7, 3, 9, -10, 1, 27, 28,
6080
+    0, 9, -15, -2, -2, 1, 6, 8, -8, 7, -3, 20, 0, 0, -1, -6 },
6081
+  { -1, 11, 8, -2, 1, 5, -6, -1, 4, 2, -4, 0, -1, -5, 4, -6,
6082
+    -10, -12, 19, 1, -7, 9, -8, -9, -16, -11, -2, 12, 14, 4, 4, 34 },
6083
+  { 17, 7, -6, 1, 4, -10, -5, 4, -11, 3, -18, 4, 14, -13, -3, 1,
6084
+    0, 0, -11, 0, 7, -17, -4, 4, -11, -6, -8, 18, 0, 0, 0, 26 },
6085
+  { -6, -7, -1, -1, 11, -8, 1, 3, 2, 11, -6, -6, 10, -3, 1, -3,
6086
+    7, 4, -12, -8, 0, -9, 8, -22, -5, 0, -6, 22, -2, 11, -13, 24 },
6087
+  { -3, 4, 0, 3, 9, 10, -1, 3, -9, -12, 1, -5, 18, 0, -3, 8,
6088
+    25, 15, -8, 2, 2, -2, 4, 8, 9, -1, -5, 10, -3, 1, -1, 23 },
6089
+  { -5, 2, -9, -1, -3, 0, 3, -1, -10, -4, 0, -13, 16, 9, -1, -14,
6090
+    2, 6, -2, -6, -5, -2, -7, 7, 5, 3, 11, -2, -14, 0, -9, 30 },
6091
+  { 4, 6, 6, 5, -3, -1, 4, 5, 10, 0, 5, -4, 7, -11, 14, 14,
6092
+    7, 34, -9, 0, -10, 22, -7, -1, 7, -9, 2, -8, 0, -7, -5, 29 },
6093
+  { -4, 3, -1, -4, -3, 5, 1, -4, 0, 2, 4, 2, 1, -1, -10, 1,
6094
+    6, -6, -4, 1, 4, -3, -3, -5, 0, 3, 7, -12, 0, -2, -10, 55 },
6095
+  { 5, 9, -1, 0, 4, 9, -21, -9, 4, 2, 6, -7, 11, -7, 1, -5,
6096
+    0, -4, 2, -3, -13, -8, 0, -9, -4, 2, 16, -2, -15, -7, -11, 31 },
6097
+  { 8, 2, -1, 0, 3, -5, -5, 5, 1, -1, -9, 1, 0, -6, -2, -1,
6098
+    5, 2, 0, 0, 12, 20, -19, 1, 8, -12, -11, 0, 6, -5, 2, 31 },
6099
+  { -1, -1, -2, 1, -1, 3, -9, -5, 8, -2, 5, -1, 0, -2, 4, -2,
6100
+    -3, -12, 0, -2, 3, 0, 9, 4, -1, 21, -8, 3, -4, 9, -6, 30 },
6101
+  { -4, 0, -7, 17, 10, -12, -2, -10, -12, -3, 10, 0, 11, -4, -13, -3,
6102
+    5, 6, 10, 7, -8, 0, -7, -13, 1, 0, -2, 7, -12, 4, -3, 24 },
6103
+  { -13, 9, 4, -2, 2, -4, -14, -1, -3, -5, -10, 4, 13, -2, 5, 13,
6104
+    8, 3, -2, 1, 5, -6, 7, -18, -10, 1, -1, 5, 4, 1, 0, 25 },
6105
+  { -5, -1, 18, 12, 8, 8, -16, -1, 1, 1, 1, -4, -5, 3, 3, 4,
6106
+    4, -11, -12, -16, -6, 2, 12, -13, 0, 9, 7, 9, -9, 0, -10, 24 },
6107
+  { -4, 1, -3, 0, 2, -4, 4, 1, 5, 0, -3, 2, -3, -2, 2, -1,
6108
+    1, 4, -1, -2, -2, 1, -1, -1, -4, -1, -4, -2, -6, 6, 12, 69 },
6109
+  { 8, 5, 11, 0, -15, -4, 13, 6, 0, -4, 9, 1, -5, -3, 15, 0,
6110
+    1, 6, -5, 0, 1, 6, 5, 8, 0, 7, 1, -1, -4, -11, -9, 41 },
6111
+  { -4, -9, 32, -6, 0, 7, -4, 6, -6, 1, -6, -2, 4, -8, -5, -3,
6112
+    -16, -1, -2, -6, 1, 15, 0, 21, 3, -3, -4, 3, -12, 16, 2, 27 },
6113
+  { -6, -5, 1, -9, -5, 3, 7, -3, 5, 5, 14, 13, 20, -7, -1, 12,
6114
+    -1, 10, -11, -11, -7, -4, -14, 7, -14, 13, 22, 18, -1, 0, 14, 28 },
6115
+  { -8, 3, -2, 0, 5, 6, -1, -4, 1, 3, -7, 3, 1, -15, 4, -9,
6116
+    22, -10, -9, -4, 1, 8, -4, 9, -15, 2, -6, -4, -16, 12, -10, 23 },
6117
+  { 0, 0, 2, 0, -1, 3, -3, -1, 3, -5, 7, 1, 5, -5, -8, 1,
6118
+    13, -15, -5, -7, 12, -6, -2, 3, 10, -5, -8, 17, -5, -11, -14, 23 },
6119
+  { -7, -4, 6, -4, 5, -6, -5, 2, -4, 11, 9, -4, 2, -2, -4, 6,
6120
+    15, 3, -3, 18, -15, -2, -6, 3, 3, -20, 17, 11, -4, 2, 3, 29 },
6121
+  { 6, 1, -6, 2, 3, 0, 0, -3, 3, 3, -1, 3, -4, -6, -6, -7,
6122
+    -3, -2, -7, -2, -4, 5, 3, -5, -20, -13, -4, 10, -14, -29, 14, 37 },
6123
+  { 3, 4, 3, -6, -4, 5, 0, 3, 2, 3, 0, -2, 4, 0, -3, -5,
6124
+    -4, 4, -4, 4, 4, 3, 1, -4, -4, -9, -14, 20, -30, 3, -18, 33 },
6125
+  { 0, 2, 5, -2, -4, -2, -1, 2, -6, -3, -2, -2, 2, -5, -1, 4,
6126
+    3, 2, -3, 0, -1, -1, -10, -7, 2, -4, -18, 2, -37, -1, 12, 40 },
6127
+  { -7, 2, -1, 0, -2, 4, -8, 1, -4, 12, 7, 4, 15, -7, 1, -9,
6128
+    18, 0, 12, -17, -3, -1, 0, 0, 0, 2, -6, 0, -4, -3, -1, 26 },
6129
+  { -6, 4, 8, -5, -6, -2, 2, -1, 1, -1, -15, 8, 7, -1, -17, -4,
6130
+    1, 5, 6, -11, -6, 14, 17, -5, -15, 11, 8, 0, -3, -15, -6, 28 },
6131
+  { -1, 0, 0, 0, 1, 0, -1, 0, 1, 3, 2, -2, 3, -1, -1, 2,
6132
+    2, -1, -1, -7, 1, 2, -9, 0, -1, -4, -18, 7, -10, 49, -13, 32 },
6133
+  { -1, -3, 4, 1, 2, -5, 1, -7, -1, 5, -9, 4, 4, 25, 1, -1,
6134
+    2, -5, 2, -7, 17, -2, 10, -5, 0, 2, -15, 3, -9, 7, -9, 30 },
6135
+  { -5, -1, 0, 2, 1, -1, 2, 5, -33, 3, -5, 14, 11, 7, 5, -3,
6136
+    2, -8, -4, -2, -7, -6, 4, -8, -1, -8, 2, -2, -8, -1, -4, 27 },
6137
+  { -1, 0, -1, -2, 1, -1, -2, -1, 2, 0, 1, 2, 2, 4, 1, 3,
6138
+    4, 2, 1, -7, -4, 1, -3, -4, -35, -25, 17, 10, -3, -26, -7, 32 },
6139
+  { -5, 1, 6, -2, 6, 6, -9, 3, -1, -4, 5, -4, -2, -2, -9, 2,
6140
+    -5, 2, 2, 4, 3, 5, -5, -16, -31, -12, -11, 2, -19, 20, -2, 21 },
6141
+  { -5, 2, 7, -7, -7, 5, -7, 2, 0, 0, -4, 3, -1, 0, -1, -2,
6142
+    0, -3, 5, -11, -8, -3, -7, -7, 28, -11, -7, 0, -16, -11, -4, 29 },
6143
+  { 2, 1, -3, -2, -1, 3, 4, 0, 1, 0, -1, -5, 4, -5, -12, 2,
6144
+    -2, -5, -22, -2, -1, 11, 8, -7, -12, 0, -34, 6, -5, 11, -8, 19 },
6145
+  { -1, -3, 5, 11, 18, -2, -2, -5, -2, 4, -1, 8, 5, -6, 1, -1,
6146
+    2, 8, 4, -5, -8, -2, 5, -18, 7, 12, 7, 19, -18, 2, -6, -13 },
6147
+  { 9, 0, 0, 5, 4, 3, -6, 4, 1, -4, 5, -1, -4, 8, 8, 6,
6148
+    -8, -6, 0, 6, -3, 3, 5, -3, 17, 31, 16, 10, -13, 0, -9, -19 },
6149
+  { 12, -10, 2, -2, -2, -1, -3, 6, -12, -5, -2, 14, -16, 4, 12, 12,
6150
+    17, 4, 7, -16, 7, -6, 11, 7, 7, 2, -25, 23, -24, 5, -7, -9 },
6151
+  { 10, 4, 13, 10, 10, 3, -6, 3, 3, 2, -1, -6, 8, 4, 10, 0,
6152
+    1, 2, -4, 2, -3, -8, 0, -1, 9, 9, -10, -3, -29, 1, -1, -27 },
6153
+  { 2, 2, 0, 7, 9, -2, -10, -1, -1, 1, -9, -5, 8, 4, 1, 2,
6154
+    -10, 1, 13, 12, -3, 15, -9, 2, -7, 1, -10, 23, -20, -18, -9, -15 },
6155
+  { -3, -5, -1, 8, 0, -5, -1, 4, 7, -1, -7, 2, -8, -5, 11, 7,
6156
+    -6, 3, -3, -9, 7, 9, -22, 1, 6, -4, 14, 27, -25, -14, 3, -5 },
6157
+  { 1, 3, 8, 4, 7, 6, 12, -17, -15, 1, -8, -10, 7, -14, -8, 6,
6158
+    -2, -2, -11, -11, -7, 13, -2, -2, 4, 5, -5, 13, -23, -6, -17, -8 },
6159
+  { -5, 4, -14, -5, -4, -5, 6, 5, -8, -5, -2, -11, -7, -12, 3, -11,
6160
+    2, -6, 4, -10, -5, -7, 14, 5, 23, 11, 7, 12, -16, -6, -4, -16 },
6161
+  { 5, 6, 2, 5, -2, -5, -5, -6, -5, -19, -13, -1, -3, -13, 5, 0,
6162
+    6, -2, -2, -6, -7, -7, -1, -9, 4, 14, 17, -12, -27, 3, 0, -1 },
6163
+  { 7, -1, 9, -10, 8, 2, -7, -2, 5, 2, -3, -7, 3, 0, 6, 4,
6164
+    12, 5, 11, 14, -13, -1, 8, 1, 13, 9, 12, 12, -18, -14, -11, -16 },
6165
+  { -7, -5, -6, -5, 0, -1, -3, 2, 2, 1, 4, 9, 2, 3, 5, -2,
6166
+    2, 1, 8, 0, 3, 0, -2, 2, 1, 7, 29, 0, -36, -5, -9, -21 },
6167
+  { 14, -6, -9, 0, -1, -8, -8, -11, 2, 2, -9, -12, 12, -4, 5, 3,
6168
+    -5, -9, 11, -1, -3, 12, -21, -3, 12, 5, 3, 11, -18, -15, 1, -2 },
6169
+  { -1, 3, -9, -3, 7, -7, -18, 2, 4, 12, -10, 2, 8, -3, -14, 13,
6170
+    17, -5, 5, -9, 13, -3, -7, -18, 17, -2, 5, 7, -20, -3, -6, -11 },
6171
+  { -3, 3, 3, -1, 1, -6, -5, 1, 5, -3, -14, -6, -5, -8, 14, -6,
6172
+    7, -1, 5, 1, 15, -1, -7, -4, 6, -11, 9, -2, -37, 16, -7, -3 },
6173
+  { -1, 0, 6, 1, -3, -9, 0, 11, -8, 2, -2, 0, 5, 2, 12, -10,
6174
+    10, 13, 2, 7, -6, 2, -10, -10, 21, -5, 5, 5, -12, -23, 3, -14 },
6175
+  { 6, 0, -2, 1, 0, 1, 0, -4, 1, 1, 8, -2, 2, -5, -2, 1,
6176
+    8, -4, -1, -1, 4, -1, 2, 6, 32, 1, -5, -20, -40, -4, -18, -14 },
6177
+  { 2, 2, -7, -2, 4, 4, -1, 2, 0, -2, -4, -7, 3, 5, 0, -5,
6178
+    1, 2, -6, 4, -1, -2, -1, -15, 8, 3, 9, 46, -7, -18, 6, -11 },
6179
+  { 5, 5, 16, 21, 3, -11, -4, 11, -12, 2, 4, -12, -1, 11, 8, 1,
6180
+    -4, 11, -11, -21, 1, 1, -11, 3, 13, 1, 5, 12, -25, 1, -3, -2 },
6181
+  { 1, 6, -7, 4, 2, 3, 1, -5, 8, 9, -15, 3, -3, -14, 17, 4,
6182
+    -8, 14, -2, -8, -4, 5, 8, -7, 8, 9, 7, 6, -29, -17, 8, 4 },
6183
+  { -7, -7, 4, 0, 13, 1, 0, 4, 4, -16, -10, -7, 5, 9, -15, -10,
6184
+    -10, 8, -4, -1, -11, -1, -10, -15, 3, 3, 14, 10, -19, 2, -18, -12 },
6185
+  { -4, 0, 2, 0, 5, -2, -9, 0, 4, -4, 2, -1, -2, 2, -4, 9,
6186
+    2, -6, -4, -2, -1, -3, -3, -1, 2, 5, -1, 11, -24, -44, -9, -15 },
6187
+  { -1, -10, 6, 21, 11, 15, -7, 10, -14, -9, -8, -8, 4, 6, 19, 1,
6188
+    -6, 1, -5, -17, -8, -10, 9, 5, 11, 18, -1, 10, -16, -7, -9, -8 },
6189
+  { 3, -5, 0, 0, -2, -2, -6, 4, -4, 1, -1, 0, 7, -3, 4, -4,
6190
+    -7, 7, 17, -20, 6, 4, 1, -6, -12, 31, 13, 19, -14, -10, -7, -2 },
6191
+  { -2, 6, -10, 3, 9, 6, -14, 15, 2, -5, 2, -11, 9, -8, 4, 6,
6192
+    20, -15, -3, -3, -1, 32, -21, 6, 1, 9, 11, 17, -19, 6, -1, -3 },
6193
+  { 8, 10, -2, 0, -8, -16, 7, 7, 6, 10, 4, -14, 7, -6, 21, -7,
6194
+    10, 5, 5, 0, -7, 2, -6, 0, -7, 11, -9, 15, -20, -7, -11, 2 },
6195
+  { 0, -7, 5, 2, 0, -3, -6, -4, -2, -1, -4, -5, -13, -1, 27, -9,
6196
+    -6, -11, -7, 1, 11, -4, -4, -14, -2, 11, 6, 10, -19, -6, -15, 2 },
6197
+  { 0, 7, -1, 2, -7, -15, -2, -3, 13, -5, -5, 12, 3, 0, 5, -5,
6198
+    -22, 2, 7, 22, 13, 0, -1, 2, 3, 2, -7, 7, -27, -4, -4, -12 },
6199
+  { 11, 1, -16, 6, -15, 1, 3, 2, 0, 2, -3, 2, 5, -2, -5, 9,
6200
+    5, -3, 3, -2, -11, 3, 9, 6, 9, 3, -1, 12, -41, 8, -6, 9 },
6201
+  { 3, -7, 3, 2, 5, 5, 0, -1, 1, 3, -5, -2, -13, 7, -1, -2,
6202
+    -2, -6, 4, -6, 0, 2, -2, 2, 4, 1, -4, 1, -47, -21, 7, -6 },
6203
+  { 3, 16, -7, 13, -4, -2, 10, -3, -1, 18, -13, 7, -13, -4, 8, 4,
6204
+    8, 9, -5, 13, 8, -5, 3, -6, 7, 18, -8, 10, -25, -3, -12, -12 },
6205
+  { 1, -1, -1, 0, 2, 5, -5, -3, 0, -5, -1, 0, -4, -8, -2, 3,
6206
+    2, -2, -17, -6, -4, 1, 33, -6, -20, -6, 8, 31, -26, -8, -1, -4 },
6207
+  { 3, -3, -3, 5, -3, -2, 1, 7, 0, 3, 6, 3, 6, -2, 9, 15,
6208
+    -10, -3, -15, -5, -3, -4, -6, -30, 17, -8, -2, 2, -20, 0, -8, -2 },
6209
+  { -2, -1, -1, -1, 3, -5, -2, -3, 4, -2, 0, 5, 8, -3, 1, -4,
6210
+    1, 1, -3, 4, 4, -14, 3, 11, -5, 3, -3, 7, -3, 13, 23, -16 },
6211
+  { 2, -6, 1, -3, 5, 0, -6, -11, -7, -4, -1, 2, -7, -1, -1, 7,
6212
+    1, -2, 6, 12, -6, 8, -13, 17, 25, -23, -19, -7, -12, 9, 16, -17 },
6213
+  { 9, 4, 4, 4, -3, -1, 6, -2, -3, 0, 13, -4, -7, 14, 1, -7,
6214
+    0, -5, 3, -19, -3, 5, 3, 9, -1, 9, -13, 13, -17, 4, 21, -26 },
6215
+  { 0, -5, 0, 0, -4, -5, 2, -6, -4, 5, -7, 10, 0, 2, 0, -2,
6216
+    -2, 0, 4, -6, 7, -2, 6, 5, -5, 2, -12, 1, -29, 29, 27, 12 },
6217
+  { 9, -10, -22, 6, -1, -1, 9, -14, -12, -2, 1, -1, 10, -11, -16, 0,
6218
+    3, 11, 13, -14, -9, -2, -1, 6, 4, -14, 0, -10, -2, 16, 17, -11 },
6219
+  { 2, 0, -1, -2, 4, 3, -6, -2, 1, -1, 1, 3, -4, 1, 3, -4,
6220
+    -1, -1, 4, -1, 1, 0, 1, 6, -5, -7, 2, 1, -47, -3, 50, -17 },
6221
+  { 8, -4, -11, -7, 11, 11, 14, -7, 12, -7, 6, 2, 13, -6, -3, -2,
6222
+    -14, 6, 6, 6, 0, 2, -1, 5, -20, 2, -1, 4, -5, 6, 21, -11 },
6223
+  { -2, -9, 3, 0, -6, 7, 8, -8, 1, -3, 4, 1, 5, -2, -3, -7,
6224
+    4, 7, -12, -9, -2, 10, -6, 13, 6, 5, 20, 2, -15, 9, 28, -7 },
6225
+  { 0, -5, -6, -6, -6, 1, -6, 6, -2, 4, 8, -3, 12, -1, -4, -2,
6226
+    6, 16, -14, 9, -14, -2, -8, -27, -3, 18, -1, -7, -3, 8, 23, -23 },
6227
+  { 1, 4, -9, -1, -5, 10, -2, 1, -11, 1, -9, 4, 7, 14, -9, -2,
6228
+    -3, 2, -5, -1, -6, -10, -7, 11, 20, 2, 3, -19, 3, 15, 30, -9 },
6229
+  { 7, 2, -14, -4, 0, -2, 5, 2, 5, -2, 8, -3, -7, 6, 6, -11,
6230
+    -14, 1, 10, -1, -7, -8, 1, 10, 3, -6, -15, -12, -17, 4, 30, -6 },
6231
+  { 4, 2, 1, -2, 3, 0, 1, 0, 2, 0, 1, 6, -7, 0, 3, 4,
6232
+    4, -4, -2, -5, -2, 2, -1, -2, 0, -2, -11, -7, -3, 42, 24, -14 },
6233
+  { 4, 1, 3, 2, 0, -2, -3, -2, 2, -1, 4, 11, -2, 2, 3, -4,
6234
+    -5, 9, 2, -4, -9, 5, 8, -1, -7, 1, 24, -13, -28, 20, 15, -22 },
6235
+  { -3, 7, 6, 3, -2, -5, -10, -2, -2, -1, -6, -6, -2, -14, -16, -6,
6236
+    -5, 0, 18, 0, 9, 1, 7, -13, -5, -6, -9, 11, -15, 9, 22, -11 },
6237
+  { 9, -2, 6, 5, 2, 9, -10, 1, 1, 5, -4, 12, 2, 2, -10, -7,
6238
+    -4, -6, 7, 9, 6, 15, 6, 6, -10, 10, 5, -13, -5, 6, 24, -12 },
6239
+  { 1, 3, -3, -3, 8, 1, -6, 2, -5, -3, 7, 2, 14, 6, 9, -6,
6240
+    -5, -4, 27, 7, -3, 8, -6, 3, -8, 8, 22, -5, -6, -2, 22, -17 },
6241
+  { -2, -2, 3, 10, 9, 9, 12, -15, -1, -11, -13, 3, -2, 1, -3, -11,
6242
+    7, 9, 16, -3, -10, -5, -5, 1, 8, -3, 9, 9, -5, 3, 31, -12 },
6243
+  { 7, -5, 10, -4, -8, 2, 16, -2, 10, 10, -3, -2, 3, -8, -3, 3,
6244
+    -13, -6, 15, 20, -9, -3, -12, 1, -2, -16, 8, 8, -1, 16, 22, -5 },
6245
+  { 5, -3, -15, -2, 12, -8, 8, -5, 2, -8, 20, -18, 14, -4, 3, 3,
6246
+    7, -13, -16, 1, -10, 7, 16, 7, 4, -14, -4, -5, -9, 8, 23, -6 },
6247
+  { 5, -4, -5, -4, 1, 8, 4, -7, -5, 8, 10, 6, -6, -10, -2, 6,
6248
+    9, -17, -14, 11, 12, -3, -13, -7, 2, 18, 3, -25, -16, 18, 22, -5 },
6249
+  { 5, 6, -7, -20, -4, 2, 8, 4, -24, -4, 1, 4, -5, -2, 1, -10,
6250
+    -2, 9, 3, -4, -3, -4, -4, -4, 10, 10, 3, 0, -6, 25, 21, -11 },
6251
+  { 0, 7, -1, 14, -6, -4, -10, 5, 4, 4, 4, -5, 3, 4, -1, -7,
6252
+    8, -19, 0, 6, 2, 3, -18, -3, -6, 2, 8, 14, -26, 22, 27, -13 },
6253
+  { -2, -6, 7, -5, 12, -7, 8, -1, 3, -2, 4, 1, 8, -2, 0, 14,
6254
+    6, -5, 6, -4, -7, 7, -21, 8, 1, 8, -9, -4, -3, 11, 25, -13 },
6255
+  { 4, 4, -1, -6, 4, 9, -8, 1, -3, -10, -2, 0, 15, -9, -16, 11,
6256
+    1, 1, 6, 3, -9, -5, 16, 26, 1, -14, 1, -3, -14, 7, 15, -9 },
6257
+  { -12, -2, -9, -13, 2, 6, 14, 0, 1, 0, -1, -13, 0, 10, -1, 6,
6258
+    9, -7, 8, 8, 19, 6, -1, 9, 10, -4, 1, -7, -22, -2, 29, -7 },
6259
+  { 2, 4, 13, -12, -8, -4, -5, 13, 12, -5, -3, -3, -4, 1, -1, 10,
6260
+    15, -6, -1, -11, -30, 4, 15, -1, 9, -7, 0, -2, -7, 10, 25, -16 },
6261
+  { 7, -15, -7, -7, -1, -5, -5, -11, -20, 10, 3, -10, -3, 5, 20, -4,
6262
+    0, -2, -2, 17, 2, 0, -3, 3, 6, 5, -1, -12, -3, 15, 22, -16 },
6263
+  { 4, -1, 3, 4, -5, 0, -1, -5, -24, -29, 4, -9, 1, -3, 0, 0,
6264
+    0, -4, 7, -4, -4, -4, 3, 1, -6, 5, -3, -5, -10, 3, 25, -10 },
6265
+  { -2, -1, -1, 4, 4, -1, 2, 0, -4, -4, 2, -1, -3, -1, -2, -2,
6266
+    1, -3, -5, -1, 2, -3, -4, -4, -3, 5, -9, 1, -11, 7, 46, -46 },
6267
+  { 0, -9, 3, 4, 4, 3, -5, -6, 5, -4, 4, -2, 1, 7, -4, -10,
6268
+    13, 1, 3, -6, 4, -4, 7, 2, -19, -25, -3, -16, -12, 16, 20, -1 },
6269
+  { 18, 6, 4, -12, 0, -14, 9, -6, -1, -4, -5, 2, 1, 12, 4, 2,
6270
+    7, 0, 2, 5, -11, -5, -2, 2, -4, 10, 0, -9, -7, 9, 25, -8 },
6271
+  { 5, 0, -6, 5, 6, 3, 3, -10, -5, 1, -1, 4, 3, -11, -8, 5,
6272
+    4, -5, 5, -5, -7, -5, 11, 5, 20, -8, -16, 21, -4, 27, 23, -5 }
6273
+};
6274
+
6275
+
6276
+/* FIR filter coefficients, they can be cut on half and maybe use float instead of double*/
6277
+
6278
+static const float fir_32bands_perfect[] =
6279
+{
6280
++1.135985195E-010,
6281
+-6.022448247E-007,
6282
++9.742954035E-007,
6283
++7.018770981E-011,
6284
+-6.628192182E-007,
6285
++1.085227950E-006,
6286
+-1.608403011E-008,
6287
+-6.982898526E-007,
6288
++1.162929266E-006,
6289
+-5.083275667E-008,
6290
+-7.020648809E-007,
6291
++1.194632091E-006,
6292
+-1.543309907E-007,
6293
+-6.767839409E-007,
6294
++1.179182050E-006,
6295
+-3.961981463E-007,
6296
+-6.262345096E-007,
6297
++1.033426656E-006,
6298
+-7.342250683E-007,
6299
+-5.564140224E-007,
6300
++9.451737242E-007,
6301
+-3.970030775E-007,
6302
++7.003467317E-007,
6303
++1.975324267E-006,
6304
+-4.741137047E-007,
6305
++8.419976893E-007,
6306
++1.190443072E-006,
6307
++5.234479659E-007,
6308
++6.402664354E-008,
6309
+-1.470520488E-006,
6310
++2.014677420E-007,
6311
+-3.246264413E-008,
6312
+-1.853591357E-006,
6313
++7.834767501E-008,
6314
+-3.809887872E-008,
6315
++7.198007665E-007,
6316
++8.434094667E-008,
6317
++3.086857760E-006,
6318
+-6.702406963E-010,
6319
++6.437721822E-008,
6320
++6.084746474E-006,
6321
+-1.613285505E-009,
6322
++1.189317118E-006,
6323
++9.561075785E-006,
6324
+-2.682709610E-009,
6325
++2.497214155E-006,
6326
++1.309637537E-005,
6327
+-3.399493131E-009,
6328
++3.617151151E-006,
6329
++2.263354872E-005,
6330
++1.314406006E-008,
6331
++3.157242645E-006,
6332
++2.847247197E-005,
6333
++7.506701927E-009,
6334
++2.319611212E-006,
6335
++3.415624451E-005,
6336
++2.788728892E-008,
6337
++7.869333785E-006,
6338
++3.946387005E-005,
6339
++1.444918922E-007,
6340
++9.826449968E-006,
6341
++4.425736552E-005,
6342
++3.132386439E-007,
6343
++1.177108606E-005,
6344
++4.839275425E-005,
6345
++1.399798180E-006,
6346
++1.379448349E-005,
6347
++5.176846025E-005,
6348
++2.032118118E-006,
6349
++1.571428584E-005,
6350
++5.429694284E-005,
6351
++2.715013807E-006,
6352
++1.743183020E-005,
6353
++5.595519906E-005,
6354
++3.453840463E-006,
6355
++1.884208177E-005,
6356
++4.916387297E-006,
6357
++4.195037945E-006,
6358
++1.987093310E-005,
6359
++9.299508747E-006,
6360
++4.896494374E-006,
6361
++2.042970118E-005,
6362
++1.356193479E-005,
6363
++5.516381407E-006,
6364
+-3.144468428E-005,
6365
++1.751866148E-005,
6366
++6.015239251E-006,
6367
+-3.334947178E-005,
6368
++2.093936746E-005,
6369
++6.361419310E-006,
6370
+-3.460439257E-005,
6371
++2.362549276E-005,
6372
++8.006985809E-006,
6373
+-3.515914432E-005,
6374
++2.537086584E-005,
6375
++8.087732567E-006,
6376
+-3.495384954E-005,
6377
++2.618136386E-005,
6378
++7.941360309E-006,
6379
+-3.397853652E-005,
6380
++2.554462844E-005,
6381
++7.568834008E-006,
6382
+-3.225446198E-005,
6383
++3.018750249E-005,
6384
++6.986399967E-006,
6385
+-2.978993689E-005,
6386
++2.570833203E-005,
6387
++6.225028756E-006,
6388
+-2.677291741E-005,
6389
++1.985177369E-005,
6390
++5.315936960E-006,
6391
+-1.806914770E-005,
6392
++1.191342653E-005,
6393
++4.429412002E-006,
6394
+-1.776598037E-005,
6395
++2.525620175E-006,
6396
++3.332600045E-006,
6397
+-1.661818715E-005,
6398
+-1.521241393E-005,
6399
++8.427224429E-007,
6400
+-1.207003334E-005,
6401
+-1.617751332E-005,
6402
++4.341498823E-007,
6403
+-6.993315310E-006,
6404
++1.992636317E-005,
6405
++9.458596395E-008,
6406
+-5.633860383E-007,
6407
++1.774702469E-005,
6408
++2.975164826E-008,
6409
+-9.984935332E-007,
6410
++4.624524081E-005,
6411
++5.610509834E-005,
6412
+-5.729619297E-004,
6413
++4.244441516E-004,
6414
++6.568001118E-005,
6415
+-6.358824321E-004,
6416
++2.206075296E-004,
6417
++7.513730816E-005,
6418
+-7.021900383E-004,
6419
+-2.719412748E-007,
6420
++8.413690375E-005,
6421
+-7.698345580E-004,
6422
+-2.382978710E-004,
6423
++8.757545584E-005,
6424
+-8.385353722E-004,
6425
+-4.935106263E-004,
6426
++9.517164290E-005,
6427
+-9.078957955E-004,
6428
+-7.658848190E-004,
6429
++1.020687996E-004,
6430
+-9.775133803E-004,
6431
+-1.055365428E-003,
6432
++1.084438481E-004,
6433
+-1.046945457E-003,
6434
+-1.361547387E-003,
6435
++1.140582463E-004,
6436
+-1.115717343E-003,
6437
+-1.684492454E-003,
6438
++1.187910311E-004,
6439
+-1.183370827E-003,
6440
+-2.023874084E-003,
6441
++1.224978914E-004,
6442
+-1.252829796E-003,
6443
+-2.379294252E-003,
6444
++1.250260248E-004,
6445
+-1.316190348E-003,
6446
+-2.750317100E-003,
6447
++1.262027217E-004,
6448
+-1.376571832E-003,
6449
+-3.136433195E-003,
6450
++1.226499153E-004,
6451
+-1.433344092E-003,
6452
+-3.537061159E-003,
6453
++1.213575742E-004,
6454
+-1.485876855E-003,
6455
+-3.951539751E-003,
6456
++1.180980107E-004,
6457
+-1.533520175E-003,
6458
+-4.379155114E-003,
6459
++1.126275165E-004,
6460
+-1.575609902E-003,
6461
+-4.819062538E-003,
6462
++1.047207043E-004,
6463
+-1.611457788E-003,
6464
+-5.270531867E-003,
6465
++9.417100227E-005,
6466
+-1.640390139E-003,
6467
+-5.732392892E-003,
6468
++8.078388782E-005,
6469
+-1.661288203E-003,
6470
+-6.203945260E-003,
6471
++6.447290798E-005,
6472
+-1.674512983E-003,
6473
+-6.683901884E-003,
6474
++4.491530854E-005,
6475
+-1.678415807E-003,
6476
+-7.170005701E-003,
6477
++2.470704203E-005,
6478
+-1.672798418E-003,
6479
+-7.664063945E-003,
6480
+-1.714242217E-006,
6481
+-1.656501088E-003,
6482
+-8.162760176E-003,
6483
+-3.193307566E-005,
6484
+-1.633993932E-003,
6485
+-8.665001951E-003,
6486
+-6.541742187E-005,
6487
+-1.593449386E-003,
6488
+-9.170533158E-003,
6489
+-1.024175072E-004,
6490
++1.542080659E-003,
6491
+-9.676489048E-003,
6492
+-1.312203676E-004,
6493
++1.479332102E-003,
6494
+-1.018219907E-002,
6495
+-1.774113771E-004,
6496
++1.395521569E-003,
6497
+-1.068630442E-002,
6498
+-2.233728592E-004,
6499
++1.303116791E-003,
6500
+-1.118756086E-002,
6501
+-2.682086197E-004,
6502
++1.196175464E-003,
6503
+-1.168460958E-002,
6504
+-3.347633174E-004,
6505
++1.073757303E-003,
6506
+-1.217562053E-002,
6507
+-3.906481725E-004,
6508
++9.358961834E-004,
6509
+-1.265939046E-002,
6510
+-4.490280990E-004,
6511
++7.817269652E-004,
6512
+-1.313448418E-002,
6513
+-5.099929986E-004,
6514
++6.114174030E-004,
6515
+-1.359948888E-002,
6516
+-1.405300573E-002,
6517
++1.572482102E-002,
6518
++4.935106263E-004,
6519
+-1.449365262E-002,
6520
++1.533095632E-002,
6521
++2.382978710E-004,
6522
+-1.492007636E-002,
6523
++1.492007636E-002,
6524
++2.719412748E-007,
6525
+-1.533095632E-002,
6526
++1.449365262E-002,
6527
+-2.206075296E-004,
6528
+-1.572482102E-002,
6529
++1.405300573E-002,
6530
+-4.244441516E-004,
6531
+-1.610082202E-002,
6532
++1.359948888E-002,
6533
+-6.114174030E-004,
6534
+-1.645756140E-002,
6535
++1.313448418E-002,
6536
+-7.817269652E-004,
6537
+-1.679391414E-002,
6538
++1.265939046E-002,
6539
+-9.358961834E-004,
6540
+-1.710879989E-002,
6541
++1.217562053E-002,
6542
+-1.073757303E-003,
6543
+-1.740120351E-002,
6544
++1.168460958E-002,
6545
+-1.196175464E-003,
6546
+-1.767017506E-002,
6547
++1.118756086E-002,
6548
+-1.303116791E-003,
6549
+-1.791484281E-002,
6550
++1.068630442E-002,
6551
+-1.395521569E-003,
6552
+-1.813439466E-002,
6553
++1.018219907E-002,
6554
+-1.479332102E-003,
6555
+-1.832821220E-002,
6556
++9.676489048E-003,
6557
+-1.542080659E-003,
6558
+-1.849545911E-002,
6559
++9.170533158E-003,
6560
++1.593449386E-003,
6561
+-1.863567345E-002,
6562
++8.665001951E-003,
6563
++1.633993932E-003,
6564
+-1.874836907E-002,
6565
++8.162760176E-003,
6566
++1.656501088E-003,
6567
+-1.883326657E-002,
6568
++7.664063945E-003,
6569
++1.672798418E-003,
6570
+-1.889026538E-002,
6571
++7.170005701E-003,
6572
++1.678415807E-003,
6573
+-1.891860925E-002,
6574
++6.683901884E-003,
6575
++1.674512983E-003,
6576
++1.891860925E-002,
6577
++6.203945260E-003,
6578
++1.661288203E-003,
6579
++1.889026538E-002,
6580
++5.732392892E-003,
6581
++1.640390139E-003,
6582
++1.883326657E-002,
6583
++5.270531867E-003,
6584
++1.611457788E-003,
6585
++1.874836907E-002,
6586
++4.819062538E-003,
6587
++1.575609902E-003,
6588
++1.863567345E-002,
6589
++4.379155114E-003,
6590
++1.533520175E-003,
6591
++1.849545911E-002,
6592
++3.951539751E-003,
6593
++1.485876855E-003,
6594
++1.832821220E-002,
6595
++3.537061159E-003,
6596
++1.433344092E-003,
6597
++1.813439466E-002,
6598
++3.136433195E-003,
6599
++1.376571832E-003,
6600
++1.791484281E-002,
6601
++2.750317100E-003,
6602
++1.316190348E-003,
6603
++1.767017506E-002,
6604
++2.379294252E-003,
6605
++1.252829796E-003,
6606
++1.740120351E-002,
6607
++2.023874084E-003,
6608
++1.183370827E-003,
6609
++1.710879989E-002,
6610
++1.684492454E-003,
6611
++1.115717343E-003,
6612
++1.679391414E-002,
6613
++1.361547387E-003,
6614
++1.046945457E-003,
6615
++1.645756140E-002,
6616
++1.055365428E-003,
6617
++9.775133803E-004,
6618
++1.610082202E-002,
6619
++7.658848190E-004,
6620
++9.078957955E-004,
6621
++8.385353722E-004,
6622
+-8.757545584E-005,
6623
+-6.084746474E-006,
6624
++7.698345580E-004,
6625
+-8.413690375E-005,
6626
+-3.086857760E-006,
6627
++7.021900383E-004,
6628
+-7.513730816E-005,
6629
+-7.198007665E-007,
6630
++6.358824321E-004,
6631
+-6.568001118E-005,
6632
++1.853591357E-006,
6633
++5.729619297E-004,
6634
+-5.610509834E-005,
6635
++1.470520488E-006,
6636
++5.099929986E-004,
6637
+-4.624524081E-005,
6638
++9.984935332E-007,
6639
++4.490280990E-004,
6640
+-1.774702469E-005,
6641
++5.633860383E-007,
6642
++3.906481725E-004,
6643
+-1.992636317E-005,
6644
++6.993315310E-006,
6645
++3.347633174E-004,
6646
++1.617751332E-005,
6647
++1.207003334E-005,
6648
++2.682086197E-004,
6649
++1.521241393E-005,
6650
++1.661818715E-005,
6651
++2.233728592E-004,
6652
+-2.525620175E-006,
6653
++1.776598037E-005,
6654
++1.774113771E-004,
6655
+-1.191342653E-005,
6656
++1.806914770E-005,
6657
++1.312203676E-004,
6658
+-1.985177369E-005,
6659
++2.677291741E-005,
6660
++1.024175072E-004,
6661
+-2.570833203E-005,
6662
++2.978993689E-005,
6663
++6.541742187E-005,
6664
+-3.018750249E-005,
6665
++3.225446198E-005,
6666
++3.193307566E-005,
6667
+-2.554462844E-005,
6668
++3.397853652E-005,
6669
++1.714242217E-006,
6670
+-2.618136386E-005,
6671
++3.495384954E-005,
6672
+-2.470704203E-005,
6673
+-2.537086584E-005,
6674
++3.515914432E-005,
6675
+-4.491530854E-005,
6676
+-2.362549276E-005,
6677
++3.460439257E-005,
6678
+-6.447290798E-005,
6679
+-2.093936746E-005,
6680
++3.334947178E-005,
6681
+-8.078388782E-005,
6682
+-1.751866148E-005,
6683
++3.144468428E-005,
6684
+-9.417100227E-005,
6685
+-1.356193479E-005,
6686
+-2.042970118E-005,
6687
+-1.047207043E-004,
6688
+-9.299508747E-006,
6689
+-1.987093310E-005,
6690
+-1.126275165E-004,
6691
+-4.916387297E-006,
6692
+-1.884208177E-005,
6693
+-1.180980107E-004,
6694
+-5.595519906E-005,
6695
+-1.743183020E-005,
6696
+-1.213575742E-004,
6697
+-5.429694284E-005,
6698
+-1.571428584E-005,
6699
+-1.226499153E-004,
6700
+-5.176846025E-005,
6701
+-1.379448349E-005,
6702
+-1.262027217E-004,
6703
+-4.839275425E-005,
6704
+-1.177108606E-005,
6705
+-1.250260248E-004,
6706
+-4.425736552E-005,
6707
+-9.826449968E-006,
6708
+-1.224978914E-004,
6709
+-3.946387005E-005,
6710
+-7.869333785E-006,
6711
+-1.187910311E-004,
6712
+-3.415624451E-005,
6713
+-2.319611212E-006,
6714
+-1.140582463E-004,
6715
+-2.847247197E-005,
6716
+-3.157242645E-006,
6717
+-1.084438481E-004,
6718
+-2.263354872E-005,
6719
+-3.617151151E-006,
6720
+-1.020687996E-004,
6721
+-1.309637537E-005,
6722
+-2.497214155E-006,
6723
+-9.517164290E-005,
6724
+-9.561075785E-006,
6725
+-1.189317118E-006,
6726
+-6.437721822E-008,
6727
+-4.195037945E-006,
6728
+-1.194632091E-006,
6729
+-8.434094667E-008,
6730
+-3.453840463E-006,
6731
+-1.162929266E-006,
6732
++3.809887872E-008,
6733
+-2.715013807E-006,
6734
+-1.085227950E-006,
6735
++3.246264413E-008,
6736
+-2.032118118E-006,
6737
+-9.742954035E-007,
6738
+-6.402664354E-008,
6739
+-1.399798180E-006,
6740
+-8.419976893E-007,
6741
+-2.975164826E-008,
6742
+-3.132386439E-007,
6743
+-7.003467317E-007,
6744
+-9.458596395E-008,
6745
+-1.444918922E-007,
6746
++5.564140224E-007,
6747
+-4.341498823E-007,
6748
+-2.788728892E-008,
6749
++6.262345096E-007,
6750
+-8.427224429E-007,
6751
+-7.506701927E-009,
6752
++6.767839409E-007,
6753
+-3.332600045E-006,
6754
+-1.314406006E-008,
6755
++7.020648809E-007,
6756
+-4.429412002E-006,
6757
++3.399493131E-009,
6758
++6.982898526E-007,
6759
+-5.315936960E-006,
6760
++2.682709610E-009,
6761
++6.628192182E-007,
6762
+-6.225028756E-006,
6763
++1.613285505E-009,
6764
++6.022448247E-007,
6765
+-6.986399967E-006,
6766
++6.702406963E-010,
6767
++4.741137047E-007,
6768
+-7.568834008E-006,
6769
+-7.834767501E-008,
6770
++3.970030775E-007,
6771
+-7.941360309E-006,
6772
+-2.014677420E-007,
6773
++7.342250683E-007,
6774
+-8.087732567E-006,
6775
+-5.234479659E-007,
6776
++3.961981463E-007,
6777
+-8.006985809E-006,
6778
+-1.190443072E-006,
6779
++1.543309907E-007,
6780
+-6.361419310E-006,
6781
+-1.975324267E-006,
6782
++5.083275667E-008,
6783
+-6.015239251E-006,
6784
+-9.451737242E-007,
6785
++1.608403011E-008,
6786
+-5.516381407E-006,
6787
+-1.033426656E-006,
6788
+-7.018770981E-011,
6789
+-4.896494374E-006,
6790
+-1.179182050E-006,
6791
+-1.135985195E-010
6792
+};
6793
+
6794
+static const float fir_32bands_nonperfect[] =
6795
+{
6796
+-1.390191784E-007,
6797
+-1.693738625E-007,
6798
+-2.030677564E-007,
6799
+-2.404238444E-007,
6800
+-2.818143514E-007,
6801
+-3.276689142E-007,
6802
+-3.784752209E-007,
6803
+-4.347855338E-007,
6804
+-4.972276315E-007,
6805
+-5.665120852E-007,
6806
+-6.434325428E-007,
6807
+-7.288739425E-007,
6808
+-8.238164355E-007,
6809
+-9.293416952E-007,
6810
+-1.046637067E-006,
6811
+-1.176999604E-006,
6812
+-1.321840614E-006,
6813
+-1.482681114E-006,
6814
+-1.661159786E-006,
6815
+-1.859034001E-006,
6816
+-2.078171747E-006,
6817
+-2.320550948E-006,
6818
+-2.588257530E-006,
6819
+-2.883470643E-006,
6820
+-3.208459020E-006,
6821
+-3.565570978E-006,
6822
+-3.957220997E-006,
6823
+-4.385879038E-006,
6824
+-4.854050530E-006,
6825
+-5.364252502E-006,
6826
+-5.918994248E-006,
6827
+-6.520755960E-006,
6828
+-7.171964626E-006,
6829
+-7.874960829E-006,
6830
+-8.631964192E-006,
6831
+-9.445050637E-006,
6832
+-1.031611009E-005,
6833
+-1.124680875E-005,
6834
+-1.223855270E-005,
6835
+-1.329243969E-005,
6836
+-1.440921824E-005,
6837
+-1.558924305E-005,
6838
+-1.683242772E-005,
6839
+-1.813820381E-005,
6840
+-1.950545993E-005,
6841
+-2.093250441E-005,
6842
+-2.241701623E-005,
6843
+-2.395598858E-005,
6844
+-2.554569073E-005,
6845
+-2.718161704E-005,
6846
+-2.885844333E-005,
6847
+-3.056998685E-005,
6848
+-3.230916263E-005,
6849
+-3.406793985E-005,
6850
+-3.583733633E-005,
6851
+-3.760734762E-005,
6852
+-3.936696885E-005,
6853
+-4.110412556E-005,
6854
+-4.280570283E-005,
6855
+-4.445751256E-005,
6856
+-4.604430433E-005,
6857
+-4.754976908E-005,
6858
+-4.895655002E-005,
6859
+-5.024627535E-005,
6860
++5.139957648E-005,
6861
++5.239612074E-005,
6862
++5.321469871E-005,
6863
++5.383323878E-005,
6864
++5.422891263E-005,
6865
++5.437819709E-005,
6866
++5.425697600E-005,
6867
++5.384063843E-005,
6868
++5.310418419E-005,
6869
++5.202236207E-005,
6870
++5.056979353E-005,
6871
++4.872112549E-005,
6872
++4.645117951E-005,
6873
++4.373511547E-005,
6874
++4.054862075E-005,
6875
++3.686808850E-005,
6876
++3.267079956E-005,
6877
++2.793515523E-005,
6878
++2.264085742E-005,
6879
++1.676913780E-005,
6880
++1.030297699E-005,
6881
++3.227306706E-006,
6882
+-4.470633485E-006,
6883
+-1.280130618E-005,
6884
+-2.177240640E-005,
6885
+-3.138873581E-005,
6886
+-4.165195787E-005,
6887
+-5.256036457E-005,
6888
+-6.410864444E-005,
6889
+-7.628766616E-005,
6890
+-8.908427117E-005,
6891
+-1.024810626E-004,
6892
+-1.164562127E-004,
6893
+-1.309833024E-004,
6894
+-1.460311323E-004,
6895
+-1.615635992E-004,
6896
+-1.775395358E-004,
6897
+-1.939126523E-004,
6898
+-2.106313768E-004,
6899
+-2.276388550E-004,
6900
+-2.448728774E-004,
6901
+-2.622658503E-004,
6902
+-2.797449124E-004,
6903
+-2.972317743E-004,
6904
+-3.146430245E-004,
6905
+-3.318900708E-004,
6906
+-3.488793736E-004,
6907
+-3.655125911E-004,
6908
+-3.816867538E-004,
6909
+-3.972945851E-004,
6910
+-4.122247046E-004,
6911
+-4.263620067E-004,
6912
+-4.395879805E-004,
6913
+-4.517810594E-004,
6914
+-4.628172028E-004,
6915
+-4.725702747E-004,
6916
+-4.809123348E-004,
6917
+-4.877146275E-004,
6918
+-4.928477574E-004,
6919
+-4.961824161E-004,
6920
+-4.975944757E-004,
6921
+-4.969481961E-004,
6922
+-4.941228544E-004,
6923
+-4.889960401E-004,
6924
++4.814492422E-004,
6925
++4.713678791E-004,
6926
++4.586426076E-004,
6927
++4.431701091E-004,
6928
++4.248536134E-004,
6929
++4.036037717E-004,
6930
++3.793396754E-004,
6931
++3.519894381E-004,
6932
++3.214911267E-004,
6933
++2.877934603E-004,
6934
++2.508567995E-004,
6935
++2.106537577E-004,
6936
++1.671699720E-004,
6937
++1.204049113E-004,
6938
++7.037253090E-005,
6939
++1.710198012E-005,
6940
+-3.936182839E-005,
6941
+-9.895755647E-005,
6942
+-1.616069785E-004,
6943
+-2.272142592E-004,
6944
+-2.956659591E-004,
6945
+-3.668301215E-004,
6946
+-4.405563814E-004,
6947
+-5.166754709E-004,
6948
+-5.949990009E-004,
6949
+-6.753197522E-004,
6950
+-7.574109477E-004,
6951
+-8.410271257E-004,
6952
+-9.259034996E-004,
6953
+-1.011756598E-003,
6954
+-1.098284614E-003,
6955
+-1.185167348E-003,
6956
+-1.272067428E-003,
6957
+-1.358630019E-003,
6958
+-1.444484224E-003,
6959
+-1.529243193E-003,
6960
+-1.612505526E-003,
6961
+-1.693855622E-003,
6962
+-1.772865304E-003,
6963
+-1.849094522E-003,
6964
+-1.922092517E-003,
6965
+-1.991399564E-003,
6966
+-2.056547208E-003,
6967
+-2.117061289E-003,
6968
+-2.172462177E-003,
6969
+-2.222266514E-003,
6970
+-2.265989315E-003,
6971
+-2.303145360E-003,
6972
+-2.333251061E-003,
6973
+-2.355825622E-003,
6974
+-2.370394068E-003,
6975
+-2.376487479E-003,
6976
+-2.373647178E-003,
6977
+-2.361423569E-003,
6978
+-2.339380793E-003,
6979
+-2.307097195E-003,
6980
+-2.264167881E-003,
6981
+-2.210205887E-003,
6982
+-2.144844970E-003,
6983
+-2.067740774E-003,
6984
+-1.978572691E-003,
6985
+-1.877046190E-003,
6986
+-1.762894331E-003,
6987
+-1.635878929E-003,
6988
++1.495792647E-003,
6989
++1.342460280E-003,
6990
++1.175740734E-003,
6991
++9.955273708E-004,
6992
++8.017504588E-004,
6993
++5.943773431E-004,
6994
++3.734139318E-004,
6995
++1.389056415E-004,
6996
+-1.090620208E-004,
6997
+-3.703625989E-004,
6998
+-6.448282511E-004,
6999
+-9.322494152E-004,
7000
+-1.232374110E-003,
7001
+-1.544908970E-003,
7002
+-1.869517611E-003,
7003
+-2.205822384E-003,
7004
+-2.553403843E-003,
7005
+-2.911801683E-003,
7006
+-3.280514618E-003,
7007
+-3.659002949E-003,
7008
+-4.046686925E-003,
7009
+-4.442950245E-003,
7010
+-4.847140983E-003,
7011
+-5.258570891E-003,
7012
+-5.676518660E-003,
7013
+-6.100233644E-003,
7014
+-6.528933067E-003,
7015
+-6.961807609E-003,
7016
+-7.398022339E-003,
7017
+-7.836719044E-003,
7018
+-8.277016692E-003,
7019
+-8.718019351E-003,
7020
+-9.158811532E-003,
7021
+-9.598465636E-003,
7022
+-1.003604382E-002,
7023
+-1.047059800E-002,
7024
+-1.090117730E-002,
7025
+-1.132682897E-002,
7026
+-1.174659748E-002,
7027
+-1.215953380E-002,
7028
+-1.256469358E-002,
7029
+-1.296114177E-002,
7030
+-1.334795821E-002,
7031
+-1.372423489E-002,
7032
+-1.408908330E-002,
7033
+-1.444163360E-002,
7034
+-1.478104480E-002,
7035
+-1.510649733E-002,
7036
+-1.541720331E-002,
7037
+-1.571240649E-002,
7038
+-1.599138230E-002,
7039
+-1.625344716E-002,
7040
+-1.649795473E-002,
7041
+-1.672429405E-002,
7042
+-1.693190821E-002,
7043
+-1.712027565E-002,
7044
+-1.728892699E-002,
7045
+-1.743743755E-002,
7046
+-1.756543480E-002,
7047
+-1.767260395E-002,
7048
+-1.775865816E-002,
7049
+-1.782339066E-002,
7050
+-1.786663756E-002,
7051
+-1.788828894E-002,
7052
++1.788828894E-002,
7053
++1.786663756E-002,
7054
++1.782339066E-002,
7055
++1.775865816E-002,
7056
++1.767260395E-002,
7057
++1.756543480E-002,
7058
++1.743743755E-002,
7059
++1.728892699E-002,
7060
++1.712027565E-002,
7061
++1.693190821E-002,
7062
++1.672429405E-002,
7063
++1.649795473E-002,
7064
++1.625344716E-002,
7065
++1.599138230E-002,
7066
++1.571240649E-002,
7067
++1.541720331E-002,
7068
++1.510649733E-002,
7069
++1.478104480E-002,
7070
++1.444163360E-002,
7071
++1.408908330E-002,
7072
++1.372423489E-002,
7073
++1.334795821E-002,
7074
++1.296114177E-002,
7075
++1.256469358E-002,
7076
++1.215953380E-002,
7077
++1.174659748E-002,
7078
++1.132682897E-002,
7079
++1.090117730E-002,
7080
++1.047059800E-002,
7081
++1.003604382E-002,
7082
++9.598465636E-003,
7083
++9.158811532E-003,
7084
++8.718019351E-003,
7085
++8.277016692E-003,
7086
++7.836719044E-003,
7087
++7.398022339E-003,
7088
++6.961807609E-003,
7089
++6.528933067E-003,
7090
++6.100233644E-003,
7091
++5.676518660E-003,
7092
++5.258570891E-003,
7093
++4.847140983E-003,
7094
++4.442950245E-003,
7095
++4.046686925E-003,
7096
++3.659002949E-003,
7097
++3.280514618E-003,
7098
++2.911801683E-003,
7099
++2.553403843E-003,
7100
++2.205822384E-003,
7101
++1.869517611E-003,
7102
++1.544908970E-003,
7103
++1.232374110E-003,
7104
++9.322494152E-004,
7105
++6.448282511E-004,
7106
++3.703625989E-004,
7107
++1.090620208E-004,
7108
+-1.389056415E-004,
7109
+-3.734139318E-004,
7110
+-5.943773431E-004,
7111
+-8.017504588E-004,
7112
+-9.955273708E-004,
7113
+-1.175740734E-003,
7114
+-1.342460280E-003,
7115
+-1.495792647E-003,
7116
++1.635878929E-003,
7117
++1.762894331E-003,
7118
++1.877046190E-003,
7119
++1.978572691E-003,
7120
++2.067740774E-003,
7121
++2.144844970E-003,
7122
++2.210205887E-003,
7123
++2.264167881E-003,
7124
++2.307097195E-003,
7125
++2.339380793E-003,
7126
++2.361423569E-003,
7127
++2.373647178E-003,
7128
++2.376487479E-003,
7129
++2.370394068E-003,
7130
++2.355825622E-003,
7131
++2.333251061E-003,
7132
++2.303145360E-003,
7133
++2.265989315E-003,
7134
++2.222266514E-003,
7135
++2.172462177E-003,
7136
++2.117061289E-003,
7137
++2.056547208E-003,
7138
++1.991399564E-003,
7139
++1.922092517E-003,
7140
++1.849094522E-003,
7141
++1.772865304E-003,
7142
++1.693855622E-003,
7143
++1.612505526E-003,
7144
++1.529243193E-003,
7145
++1.444484224E-003,
7146
++1.358630019E-003,
7147
++1.272067428E-003,
7148
++1.185167348E-003,
7149
++1.098284614E-003,
7150
++1.011756598E-003,
7151
++9.259034996E-004,
7152
++8.410271257E-004,
7153
++7.574109477E-004,
7154
++6.753197522E-004,
7155
++5.949990009E-004,
7156
++5.166754709E-004,
7157
++4.405563814E-004,
7158
++3.668301215E-004,
7159
++2.956659591E-004,
7160
++2.272142592E-004,
7161
++1.616069785E-004,
7162
++9.895755647E-005,
7163
++3.936182839E-005,
7164
+-1.710198012E-005,
7165
+-7.037253090E-005,
7166
+-1.204049113E-004,
7167
+-1.671699720E-004,
7168
+-2.106537577E-004,
7169
+-2.508567995E-004,
7170
+-2.877934603E-004,
7171
+-3.214911267E-004,
7172
+-3.519894381E-004,
7173
+-3.793396754E-004,
7174
+-4.036037717E-004,
7175
+-4.248536134E-004,
7176
+-4.431701091E-004,
7177
+-4.586426076E-004,
7178
+-4.713678791E-004,
7179
+-4.814492422E-004,
7180
++4.889960401E-004,
7181
++4.941228544E-004,
7182
++4.969481961E-004,
7183
++4.975944757E-004,
7184
++4.961824161E-004,
7185
++4.928477574E-004,
7186
++4.877146275E-004,
7187
++4.809123348E-004,
7188
++4.725702747E-004,
7189
++4.628172028E-004,
7190
++4.517810594E-004,
7191
++4.395879805E-004,
7192
++4.263620067E-004,
7193
++4.122247046E-004,
7194
++3.972945851E-004,
7195
++3.816867538E-004,
7196
++3.655125911E-004,
7197
++3.488793736E-004,
7198
++3.318900708E-004,
7199
++3.146430245E-004,
7200
++2.972317743E-004,
7201
++2.797449124E-004,
7202
++2.622658503E-004,
7203
++2.448728774E-004,
7204
++2.276388550E-004,
7205
++2.106313768E-004,
7206
++1.939126523E-004,
7207
++1.775395358E-004,
7208
++1.615635992E-004,
7209
++1.460311323E-004,
7210
++1.309833024E-004,
7211
++1.164562127E-004,
7212
++1.024810626E-004,
7213
++8.908427117E-005,
7214
++7.628766616E-005,
7215
++6.410864444E-005,
7216
++5.256036457E-005,
7217
++4.165195787E-005,
7218
++3.138873581E-005,
7219
++2.177240640E-005,
7220
++1.280130618E-005,
7221
++4.470633485E-006,
7222
+-3.227306706E-006,
7223
+-1.030297699E-005,
7224
+-1.676913780E-005,
7225
+-2.264085742E-005,
7226
+-2.793515523E-005,
7227
+-3.267079956E-005,
7228
+-3.686808850E-005,
7229
+-4.054862075E-005,
7230
+-4.373511547E-005,
7231
+-4.645117951E-005,
7232
+-4.872112549E-005,
7233
+-5.056979353E-005,
7234
+-5.202236207E-005,
7235
+-5.310418419E-005,
7236
+-5.384063843E-005,
7237
+-5.425697600E-005,
7238
+-5.437819709E-005,
7239
+-5.422891263E-005,
7240
+-5.383323878E-005,
7241
+-5.321469871E-005,
7242
+-5.239612074E-005,
7243
+-5.139957648E-005,
7244
++5.024627535E-005,
7245
++4.895655002E-005,
7246
++4.754976908E-005,
7247
++4.604430433E-005,
7248
++4.445751256E-005,
7249
++4.280570283E-005,
7250
++4.110412556E-005,
7251
++3.936696885E-005,
7252
++3.760734762E-005,
7253
++3.583733633E-005,
7254
++3.406793985E-005,
7255
++3.230916263E-005,
7256
++3.056998685E-005,
7257
++2.885844333E-005,
7258
++2.718161704E-005,
7259
++2.554569073E-005,
7260
++2.395598858E-005,
7261
++2.241701623E-005,
7262
++2.093250441E-005,
7263
++1.950545993E-005,
7264
++1.813820381E-005,
7265
++1.683242772E-005,
7266
++1.558924305E-005,
7267
++1.440921824E-005,
7268
++1.329243969E-005,
7269
++1.223855270E-005,
7270
++1.124680875E-005,
7271
++1.031611009E-005,
7272
++9.445050637E-006,
7273
++8.631964192E-006,
7274
++7.874960829E-006,
7275
++7.171964626E-006,
7276
++6.520755960E-006,
7277
++5.918994248E-006,
7278
++5.364252502E-006,
7279
++4.854050530E-006,
7280
++4.385879038E-006,
7281
++3.957220997E-006,
7282
++3.565570978E-006,
7283
++3.208459020E-006,
7284
++2.883470643E-006,
7285
++2.588257530E-006,
7286
++2.320550948E-006,
7287
++2.078171747E-006,
7288
++1.859034001E-006,
7289
++1.661159786E-006,
7290
++1.482681114E-006,
7291
++1.321840614E-006,
7292
++1.176999604E-006,
7293
++1.046637067E-006,
7294
++9.293416952E-007,
7295
++8.238164355E-007,
7296
++7.288739425E-007,
7297
++6.434325428E-007,
7298
++5.665120852E-007,
7299
++4.972276315E-007,
7300
++4.347855338E-007,
7301
++3.784752209E-007,
7302
++3.276689142E-007,
7303
++2.818143514E-007,
7304
++2.404238444E-007,
7305
++2.030677564E-007,
7306
++1.693738625E-007,
7307
++1.390191784E-007
7308
+};
7309
+
7310
+//FIXME the coeffs are symetric
7311
+static const float lfe_fir_64[] =
7312
+{
7313
+2.6584343868307770E-004,
7314
+8.1793652498163280E-005,
7315
+9.4393239123746760E-005,
7316
+1.0821702744578940E-004,
7317
+1.2333714403212070E-004,
7318
+1.3974857574794440E-004,
7319
+1.5759580128360540E-004,
7320
+1.7699223826639360E-004,
7321
+1.9817386055365200E-004,
7322
+2.2118473134469240E-004,
7323
+2.4602311896160240E-004,
7324
+2.7261159266345200E-004,
7325
+3.0138631700538100E-004,
7326
+3.3283955417573450E-004,
7327
+3.6589911906048660E-004,
7328
+4.0182814700528980E-004,
7329
+4.4018754852004350E-004,
7330
+4.8127761692740020E-004,
7331
+5.2524596685543660E-004,
7332
+5.7215924607589840E-004,
7333
+6.2221300322562460E-004,
7334
+6.7555153509601950E-004,
7335
+7.3241489008069040E-004,
7336
+7.9285167157649990E-004,
7337
+8.5701106581836940E-004,
7338
+9.2511920956894760E-004,
7339
+9.9747709464281800E-004,
7340
+1.0739302961155770E-003,
7341
+1.1550235794857140E-003,
7342
+1.2406768510118130E-003,
7343
+1.3312589144334200E-003,
7344
+1.4268938684836030E-003,
7345
+1.5278297942131760E-003,
7346
+1.6342115122824910E-003,
7347
+1.7463274998590350E-003,
7348
+1.8643775256350640E-003,
7349
+1.9886041991412640E-003,
7350
+2.1191518753767010E-003,
7351
+2.2563596721738580E-003,
7352
+2.4004334118217230E-003,
7353
+2.5515670422464610E-003,
7354
+2.7100932784378530E-003,
7355
+2.8761904686689380E-003,
7356
+3.0501529108732940E-003,
7357
+3.2322725746780640E-003,
7358
+3.4227769356220960E-003,
7359
+3.6219672765582800E-003,
7360
+3.8300913292914630E-003,
7361
+4.0474990382790560E-003,
7362
+4.2744171805679800E-003,
7363
+4.5111598446965220E-003,
7364
+4.7580120153725150E-003,
7365
+5.0153112970292570E-003,
7366
+5.2832840010523800E-003,
7367
+5.5623454973101620E-003,
7368
+5.8526843786239620E-003,
7369
+6.1547122895717620E-003,
7370
+6.4686913974583150E-003,
7371
+6.7949919030070300E-003,
7372
+7.1338820271193980E-003,
7373
+7.4857366271317010E-003,
7374
+7.8508658334612850E-003,
7375
+8.2296309992671010E-003,
7376
+8.6223213002085690E-003,
7377
+9.0293306857347480E-003,
7378
+9.4509534537792200E-003,
7379
+9.8875602707266800E-003,
7380
+1.0339494794607160E-002,
7381
+1.0807084850966930E-002,
7382
+1.1290682479739190E-002,
7383
+1.1790650896728040E-002,
7384
+1.2307321652770040E-002,
7385
+1.2841059826314450E-002,
7386
+1.3392185792326930E-002,
7387
+1.3961089774966240E-002,
7388
+1.4548087492585180E-002,
7389
+1.5153550542891020E-002,
7390
+1.5777811408042910E-002,
7391
+1.6421230509877200E-002,
7392
+1.7084129154682160E-002,
7393
+1.7766902223229410E-002,
7394
+1.8469827249646190E-002,
7395
+1.9193304702639580E-002,
7396
+1.9937623292207720E-002,
7397
+2.0703161135315900E-002,
7398
+2.1490212529897690E-002,
7399
+2.2299138829112050E-002,
7400
+2.3130238056182860E-002,
7401
+2.3983856663107870E-002,
7402
+2.4860285222530360E-002,
7403
+2.5759860873222350E-002,
7404
+2.6682861149311060E-002,
7405
+2.7629608288407320E-002,
7406
+2.8600392863154410E-002,
7407
+2.9595496132969860E-002,
7408
+3.0615204945206640E-002,
7409
+3.1659796833992000E-002,
7410
+3.2729536294937140E-002,
7411
+3.3824689686298370E-002,
7412
+3.4945506602525710E-002,
7413
+3.6092240363359450E-002,
7414
+3.7265110760927200E-002,
7415
+3.8464374840259550E-002,
7416
+3.9690230041742320E-002,
7417
+4.0942888706922530E-002,
7418
+4.2222552001476290E-002,
7419
+4.3529424816370010E-002,
7420
+4.4863656163215640E-002,
7421
+4.6225443482398990E-002,
7422
+4.7614917159080510E-002,
7423
+4.9032241106033330E-002,
7424
+5.0477534532547000E-002,
7425
+5.1950931549072270E-002,
7426
+5.3452525287866590E-002,
7427
+5.4982420057058330E-002,
7428
+5.6540694087743760E-002,
7429
+5.8127421885728840E-002,
7430
+5.9742655605077740E-002,
7431
+6.1386436223983760E-002,
7432
+6.3058786094188690E-002,
7433
+6.4759708940982820E-002,
7434
+6.6489234566688540E-002,
7435
+6.8247318267822270E-002,
7436
+7.0033922791481020E-002,
7437
+7.1849010884761810E-002,
7438
+7.3692522943019870E-002,
7439
+7.5564362108707430E-002,
7440
+7.7464438974857330E-002,
7441
+7.9392634332180020E-002,
7442
+8.1348828971385960E-002,
7443
+8.3332858979702000E-002,
7444
+8.5344567894935610E-002,
7445
+8.7383769452571870E-002,
7446
+8.9450262486934660E-002,
7447
+9.1543838381767280E-002,
7448
+9.3664251267910000E-002,
7449
+9.5811240375041960E-002,
7450
+9.7984537482261660E-002,
7451
+1.0018386691808700E-001,
7452
+1.0240890830755230E-001,
7453
+1.0465932637453080E-001,
7454
+1.0693479329347610E-001,
7455
+1.0923493653535840E-001,
7456
+1.1155936866998670E-001,
7457
+1.1390769481658940E-001,
7458
+1.1627949774265290E-001,
7459
+1.1867434531450270E-001,
7460
+1.2109176814556120E-001,
7461
+1.2353130429983140E-001,
7462
+1.2599244713783260E-001,
7463
+1.2847468256950380E-001,
7464
+1.3097748160362240E-001,
7465
+1.3350030779838560E-001,
7466
+1.3604259490966800E-001,
7467
+1.3860376179218290E-001,
7468
+1.4118319749832150E-001,
7469
+1.4378026127815250E-001,
7470
+1.4639437198638920E-001,
7471
+1.4902481436729430E-001,
7472
+1.5167096257209780E-001,
7473
+1.5433208644390100E-001,
7474
+1.5700751543045040E-001,
7475
+1.5969651937484740E-001,
7476
+1.6239835321903230E-001,
7477
+1.6511227190494540E-001,
7478
+1.6783750057220460E-001,
7479
+1.7057323455810550E-001,
7480
+1.7331869900226590E-001,
7481
+1.7607308924198150E-001,
7482
+1.7883554100990300E-001,
7483
+1.8160524964332580E-001,
7484
+1.8438133597373960E-001,
7485
+1.8716295063495640E-001,
7486
+1.8994916975498200E-001,
7487
+1.9273911416530610E-001,
7488
+1.9553191959857940E-001,
7489
+1.9832661747932440E-001,
7490
+2.0112232863903040E-001,
7491
+2.0391805469989780E-001,
7492
+2.0671287178993220E-001,
7493
+2.0950584113597870E-001,
7494
+2.1229594945907590E-001,
7495
+2.1508227288722990E-001,
7496
+2.1786379814147950E-001,
7497
+2.2063951194286350E-001,
7498
+2.2340846061706540E-001,
7499
+2.2616961598396300E-001,
7500
+2.2892196476459500E-001,
7501
+2.3166447877883910E-001,
7502
+2.3439615964889520E-001,
7503
+2.3711597919464110E-001,
7504
+2.3982289433479310E-001,
7505
+2.4251587688922880E-001,
7506
+2.4519388377666480E-001,
7507
+2.4785590171813960E-001,
7508
+2.5050088763237000E-001,
7509
+2.5312781333923340E-001,
7510
+2.5573557615280150E-001,
7511
+2.5832322239875800E-001,
7512
+2.6088967919349670E-001,
7513
+2.6343390345573420E-001,
7514
+2.6595494151115420E-001,
7515
+2.6845166087150580E-001,
7516
+2.7092313766479490E-001,
7517
+2.7336826920509340E-001,
7518
+2.7578607201576240E-001,
7519
+2.7817553281784060E-001,
7520
+2.8053569793701170E-001,
7521
+2.8286558389663700E-001,
7522
+2.8516408801078800E-001,
7523
+2.8743034601211550E-001,
7524
+2.8966337442398070E-001,
7525
+2.9186218976974480E-001,
7526
+2.9402589797973640E-001,
7527
+2.9615348577499390E-001,
7528
+2.9824411869049070E-001,
7529
+3.0029675364494320E-001,
7530
+3.0231067538261420E-001,
7531
+3.0428490042686460E-001,
7532
+3.0621853470802300E-001,
7533
+3.0811080336570740E-001,
7534
+3.0996081233024600E-001,
7535
+3.1176769733428960E-001,
7536
+3.1353080272674560E-001,
7537
+3.1524917483329780E-001,
7538
+3.1692212820053100E-001,
7539
+3.1854888796806340E-001,
7540
+3.2012873888015740E-001,
7541
+3.2166096568107600E-001,
7542
+3.2314485311508180E-001,
7543
+3.2457971572875980E-001,
7544
+3.2596495747566220E-001,
7545
+3.2729989290237420E-001,
7546
+3.2858389616012580E-001,
7547
+3.2981643080711360E-001,
7548
+3.3099696040153500E-001,
7549
+3.3212485909461980E-001,
7550
+3.3319962024688720E-001,
7551
+3.3422079682350160E-001,
7552
+3.3518791198730470E-001,
7553
+3.3610042929649360E-001,
7554
+3.3695802092552180E-001,
7555
+3.3776029944419860E-001,
7556
+3.3850681781768800E-001,
7557
+3.3919724822044380E-001,
7558
+3.3983129262924200E-001,
7559
+3.4040865302085880E-001,
7560
+3.4092903137207030E-001,
7561
+3.4139221906661980E-001,
7562
+3.4179797768592840E-001,
7563
+3.4214612841606140E-001,
7564
+3.4243649244308470E-001,
7565
+3.4266895055770880E-001,
7566
+3.4284341335296630E-001,
7567
+3.4295973181724550E-001,
7568
+3.4301793575286860E-001,
7569
+3.4301793575286860E-001,
7570
+3.4295973181724550E-001,
7571
+3.4284341335296630E-001,
7572
+3.4266895055770880E-001,
7573
+3.4243649244308470E-001,
7574
+3.4214612841606140E-001,
7575
+3.4179797768592840E-001,
7576
+3.4139221906661980E-001,
7577
+3.4092903137207030E-001,
7578
+3.4040865302085880E-001,
7579
+3.3983129262924200E-001,
7580
+3.3919724822044380E-001,
7581
+3.3850681781768800E-001,
7582
+3.3776029944419860E-001,
7583
+3.3695802092552180E-001,
7584
+3.3610042929649360E-001,
7585
+3.3518791198730470E-001,
7586
+3.3422079682350160E-001,
7587
+3.3319962024688720E-001,
7588
+3.3212485909461980E-001,
7589
+3.3099696040153500E-001,
7590
+3.2981643080711360E-001,
7591
+3.2858389616012580E-001,
7592
+3.2729989290237420E-001,
7593
+3.2596495747566220E-001,
7594
+3.2457971572875980E-001,
7595
+3.2314485311508180E-001,
7596
+3.2166096568107600E-001,
7597
+3.2012873888015740E-001,
7598
+3.1854888796806340E-001,
7599
+3.1692212820053100E-001,
7600
+3.1524917483329780E-001,
7601
+3.1353080272674560E-001,
7602
+3.1176769733428960E-001,
7603
+3.0996081233024600E-001,
7604
+3.0811080336570740E-001,
7605
+3.0621853470802300E-001,
7606
+3.0428490042686460E-001,
7607
+3.0231067538261420E-001,
7608
+3.0029675364494320E-001,
7609
+2.9824411869049070E-001,
7610
+2.9615348577499390E-001,
7611
+2.9402589797973640E-001,
7612
+2.9186218976974480E-001,
7613
+2.8966337442398070E-001,
7614
+2.8743034601211550E-001,
7615
+2.8516408801078800E-001,
7616
+2.8286558389663700E-001,
7617
+2.8053569793701170E-001,
7618
+2.7817553281784060E-001,
7619
+2.7578607201576240E-001,
7620
+2.7336826920509340E-001,
7621
+2.7092313766479490E-001,
7622
+2.6845166087150580E-001,
7623
+2.6595494151115420E-001,
7624
+2.6343390345573420E-001,
7625
+2.6088967919349670E-001,
7626
+2.5832322239875800E-001,
7627
+2.5573557615280150E-001,
7628
+2.5312781333923340E-001,
7629
+2.5050088763237000E-001,
7630
+2.4785590171813960E-001,
7631
+2.4519388377666480E-001,
7632
+2.4251587688922880E-001,
7633
+2.3982289433479310E-001,
7634
+2.3711597919464110E-001,
7635
+2.3439615964889520E-001,
7636
+2.3166447877883910E-001,
7637
+2.2892196476459500E-001,
7638
+2.2616961598396300E-001,
7639
+2.2340846061706540E-001,
7640
+2.2063951194286350E-001,
7641
+2.1786379814147950E-001,
7642
+2.1508227288722990E-001,
7643
+2.1229594945907590E-001,
7644
+2.0950584113597870E-001,
7645
+2.0671287178993220E-001,
7646
+2.0391805469989780E-001,
7647
+2.0112232863903040E-001,
7648
+1.9832661747932440E-001,
7649
+1.9553191959857940E-001,
7650
+1.9273911416530610E-001,
7651
+1.8994916975498200E-001,
7652
+1.8716295063495640E-001,
7653
+1.8438133597373960E-001,
7654
+1.8160524964332580E-001,
7655
+1.7883554100990300E-001,
7656
+1.7607308924198150E-001,
7657
+1.7331869900226590E-001,
7658
+1.7057323455810550E-001,
7659
+1.6783750057220460E-001,
7660
+1.6511227190494540E-001,
7661
+1.6239835321903230E-001,
7662
+1.5969651937484740E-001,
7663
+1.5700751543045040E-001,
7664
+1.5433208644390100E-001,
7665
+1.5167096257209780E-001,
7666
+1.4902481436729430E-001,
7667
+1.4639437198638920E-001,
7668
+1.4378026127815250E-001,
7669
+1.4118319749832150E-001,
7670
+1.3860376179218290E-001,
7671
+1.3604259490966800E-001,
7672
+1.3350030779838560E-001,
7673
+1.3097748160362240E-001,
7674
+1.2847468256950380E-001,
7675
+1.2599244713783260E-001,
7676
+1.2353130429983140E-001,
7677
+1.2109176814556120E-001,
7678
+1.1867434531450270E-001,
7679
+1.1627949774265290E-001,
7680
+1.1390769481658940E-001,
7681
+1.1155936866998670E-001,
7682
+1.0923493653535840E-001,
7683
+1.0693479329347610E-001,
7684
+1.0465932637453080E-001,
7685
+1.0240890830755230E-001,
7686
+1.0018386691808700E-001,
7687
+9.7984537482261660E-002,
7688
+9.5811240375041960E-002,
7689
+9.3664251267910000E-002,
7690
+9.1543838381767280E-002,
7691
+8.9450262486934660E-002,
7692
+8.7383769452571870E-002,
7693
+8.5344567894935610E-002,
7694
+8.3332858979702000E-002,
7695
+8.1348828971385960E-002,
7696
+7.9392634332180020E-002,
7697
+7.7464438974857330E-002,
7698
+7.5564362108707430E-002,
7699
+7.3692522943019870E-002,
7700
+7.1849010884761810E-002,
7701
+7.0033922791481020E-002,
7702
+6.8247318267822270E-002,
7703
+6.6489234566688540E-002,
7704
+6.4759708940982820E-002,
7705
+6.3058786094188690E-002,
7706
+6.1386436223983760E-002,
7707
+5.9742655605077740E-002,
7708
+5.8127421885728840E-002,
7709
+5.6540694087743760E-002,
7710
+5.4982420057058330E-002,
7711
+5.3452525287866590E-002,
7712
+5.1950931549072270E-002,
7713
+5.0477534532547000E-002,
7714
+4.9032241106033330E-002,
7715
+4.7614917159080510E-002,
7716
+4.6225443482398990E-002,
7717
+4.4863656163215640E-002,
7718
+4.3529424816370010E-002,
7719
+4.2222552001476290E-002,
7720
+4.0942888706922530E-002,
7721
+3.9690230041742320E-002,
7722
+3.8464374840259550E-002,
7723
+3.7265110760927200E-002,
7724
+3.6092240363359450E-002,
7725
+3.4945506602525710E-002,
7726
+3.3824689686298370E-002,
7727
+3.2729536294937140E-002,
7728
+3.1659796833992000E-002,
7729
+3.0615204945206640E-002,
7730
+2.9595496132969860E-002,
7731
+2.8600392863154410E-002,
7732
+2.7629608288407320E-002,
7733
+2.6682861149311060E-002,
7734
+2.5759860873222350E-002,
7735
+2.4860285222530360E-002,
7736
+2.3983856663107870E-002,
7737
+2.3130238056182860E-002,
7738
+2.2299138829112050E-002,
7739
+2.1490212529897690E-002,
7740
+2.0703161135315900E-002,
7741
+1.9937623292207720E-002,
7742
+1.9193304702639580E-002,
7743
+1.8469827249646190E-002,
7744
+1.7766902223229410E-002,
7745
+1.7084129154682160E-002,
7746
+1.6421230509877200E-002,
7747
+1.5777811408042910E-002,
7748
+1.5153550542891020E-002,
7749
+1.4548087492585180E-002,
7750
+1.3961089774966240E-002,
7751
+1.3392185792326930E-002,
7752
+1.2841059826314450E-002,
7753
+1.2307321652770040E-002,
7754
+1.1790650896728040E-002,
7755
+1.1290682479739190E-002,
7756
+1.0807084850966930E-002,
7757
+1.0339494794607160E-002,
7758
+9.8875602707266800E-003,
7759
+9.4509534537792200E-003,
7760
+9.0293306857347480E-003,
7761
+8.6223213002085690E-003,
7762
+8.2296309992671010E-003,
7763
+7.8508658334612850E-003,
7764
+7.4857366271317010E-003,
7765
+7.1338820271193980E-003,
7766
+6.7949919030070300E-003,
7767
+6.4686913974583150E-003,
7768
+6.1547122895717620E-003,
7769
+5.8526843786239620E-003,
7770
+5.5623454973101620E-003,
7771
+5.2832840010523800E-003,
7772
+5.0153112970292570E-003,
7773
+4.7580120153725150E-003,
7774
+4.5111598446965220E-003,
7775
+4.2744171805679800E-003,
7776
+4.0474990382790560E-003,
7777
+3.8300913292914630E-003,
7778
+3.6219672765582800E-003,
7779
+3.4227769356220960E-003,
7780
+3.2322725746780640E-003,
7781
+3.0501529108732940E-003,
7782
+2.8761904686689380E-003,
7783
+2.7100932784378530E-003,
7784
+2.5515670422464610E-003,
7785
+2.4004334118217230E-003,
7786
+2.2563596721738580E-003,
7787
+2.1191518753767010E-003,
7788
+1.9886041991412640E-003,
7789
+1.8643775256350640E-003,
7790
+1.7463274998590350E-003,
7791
+1.6342115122824910E-003,
7792
+1.5278297942131760E-003,
7793
+1.4268938684836030E-003,
7794
+1.3312589144334200E-003,
7795
+1.2406768510118130E-003,
7796
+1.1550235794857140E-003,
7797
+1.0739302961155770E-003,
7798
+9.9747709464281800E-004,
7799
+9.2511920956894760E-004,
7800
+8.5701106581836940E-004,
7801
+7.9285167157649990E-004,
7802
+7.3241489008069040E-004,
7803
+6.7555153509601950E-004,
7804
+6.2221300322562460E-004,
7805
+5.7215924607589840E-004,
7806
+5.2524596685543660E-004,
7807
+4.8127761692740020E-004,
7808
+4.4018754852004350E-004,
7809
+4.0182814700528980E-004,
7810
+3.6589911906048660E-004,
7811
+3.3283955417573450E-004,
7812
+3.0138631700538100E-004,
7813
+2.7261159266345200E-004,
7814
+2.4602311896160240E-004,
7815
+2.2118473134469240E-004,
7816
+1.9817386055365200E-004,
7817
+1.7699223826639360E-004,
7818
+1.5759580128360540E-004,
7819
+1.3974857574794440E-004,
7820
+1.2333714403212070E-004,
7821
+1.0821702744578940E-004,
7822
+9.4393239123746760E-005,
7823
+8.1793652498163280E-005,
7824
+2.6584343868307770E-004
7825
+};
7826
+
7827
+//FIXME the coeffs are symetric
7828
+
7829
+static const float lfe_fir_128[] =
7830
+{
7831
+0.00053168571,
7832
+0.00016358691,
7833
+0.00018878609,
7834
+0.00021643363,
7835
+0.00024667382,
7836
+0.00027949660,
7837
+0.00031519096,
7838
+0.00035398375,
7839
+0.00039634691,
7840
+0.00044236859,
7841
+0.00049204525,
7842
+0.00054522208,
7843
+0.00060277141,
7844
+0.00066567765,
7845
+0.00073179678,
7846
+0.00080365466,
7847
+0.00088037323,
7848
+0.00096255314,
7849
+0.00105048984,
7850
+0.00114431616,
7851
+0.00124442333,
7852
+0.00135110028,
7853
+0.00146482687,
7854
+0.00158570008,
7855
+0.00171401864,
7856
+0.00185023469,
7857
+0.00199495023,
7858
+0.00214785640,
7859
+0.00231004250,
7860
+0.00248134881,
7861
+0.00266251224,
7862
+0.00285378192,
7863
+0.00305565330,
7864
+0.00326841651,
7865
+0.00349264755,
7866
+0.00372874714,
7867
+0.00397720048,
7868
+0.00423829490,
7869
+0.00451271003,
7870
+0.00480085658,
7871
+0.00510312291,
7872
+0.00542017492,
7873
+0.00575236930,
7874
+0.00610029325,
7875
+0.00646453211,
7876
+0.00684553990,
7877
+0.00724391919,
7878
+0.00766016589,
7879
+0.00809498038,
7880
+0.00854881573,
7881
+0.00902230106,
7882
+0.00951600447,
7883
+0.01003060210,
7884
+0.01056654565,
7885
+0.01112466771,
7886
+0.01170534454,
7887
+0.01230939943,
7888
+0.01293735672,
7889
+0.01358995494,
7890
+0.01426773332,
7891
+0.01497144438,
7892
+0.01570170000,
7893
+0.01645922661,
7894
+0.01724460535,
7895
+0.01805862412,
7896
+0.01890186779,
7897
+0.01977507770,
7898
+0.02067894675,
7899
+0.02161412500,
7900
+0.02258131653,
7901
+0.02358125709,
7902
+0.02461459488,
7903
+0.02568206564,
7904
+0.02678431384,
7905
+0.02792212367,
7906
+0.02909611352,
7907
+0.03030703776,
7908
+0.03155555204,
7909
+0.03284239396,
7910
+0.03416819125,
7911
+0.03553372994,
7912
+0.03693958372,
7913
+0.03838652745,
7914
+0.03987516090,
7915
+0.04140623659,
7916
+0.04298033938,
7917
+0.04459818453,
7918
+0.04626038298,
7919
+0.04796761274,
7920
+0.04972046614,
7921
+0.05151961371,
7922
+0.05336561054,
7923
+0.05525910854,
7924
+0.05720067024,
7925
+0.05919086933,
7926
+0.06123027951,
7927
+0.06331945211,
7928
+0.06545893103,
7929
+0.06764923781,
7930
+0.06989086419,
7931
+0.07218432426,
7932
+0.07453006506,
7933
+0.07692859322,
7934
+0.07938029617,
7935
+0.08188561350,
7936
+0.08444493264,
7937
+0.08705867827,
7938
+0.08972713351,
7939
+0.09245070815,
7940
+0.09522963315,
7941
+0.09806428105,
7942
+0.10095486045,
7943
+0.10390164703,
7944
+0.10690483451,
7945
+0.10996460915,
7946
+0.11308115721,
7947
+0.11625462025,
7948
+0.11948505789,
7949
+0.12277261168,
7950
+0.12611730397,
7951
+0.12951917946,
7952
+0.13297818601,
7953
+0.13649433851,
7954
+0.14006754756,
7955
+0.14369773865,
7956
+0.14738474786,
7957
+0.15112841129,
7958
+0.15492856503,
7959
+0.15878495574,
7960
+0.16269733012,
7961
+0.16666537523,
7962
+0.17068879306,
7963
+0.17476719618,
7964
+0.17890018225,
7965
+0.18308731914,
7966
+0.18732811511,
7967
+0.19162209332,
7968
+0.19596865773,
7969
+0.20036731660,
7970
+0.20481738448,
7971
+0.20931822062,
7972
+0.21386915445,
7973
+0.21846942604,
7974
+0.22311829031,
7975
+0.22781492770,
7976
+0.23255851865,
7977
+0.23734821379,
7978
+0.24218304455,
7979
+0.24706205726,
7980
+0.25198432803,
7981
+0.25694879889,
7982
+0.26195442677,
7983
+0.26700007915,
7984
+0.27208462358,
7985
+0.27720692754,
7986
+0.28236576915,
7987
+0.28755992651,
7988
+0.29278811812,
7989
+0.29804900289,
7990
+0.30334126949,
7991
+0.30866351724,
7992
+0.31401440501,
7993
+0.31939238310,
7994
+0.32479602098,
7995
+0.33022382855,
7996
+0.33567428589,
7997
+0.34114575386,
7998
+0.34663668275,
7999
+0.35214546323,
8000
+0.35767036676,
8001
+0.36320972443,
8002
+0.36876192689,
8003
+0.37432509661,
8004
+0.37989753485,
8005
+0.38547745347,
8006
+0.39106300473,
8007
+0.39665243030,
8008
+0.40224379301,
8009
+0.40783521533,
8010
+0.41342487931,
8011
+0.41901078820,
8012
+0.42459106445,
8013
+0.43016362190,
8014
+0.43572667241,
8015
+0.44127810001,
8016
+0.44681602716,
8017
+0.45233830810,
8018
+0.45784294605,
8019
+0.46332800388,
8020
+0.46879136562,
8021
+0.47423094511,
8022
+0.47964480519,
8023
+0.48503074050,
8024
+0.49038675427,
8025
+0.49571081996,
8026
+0.50100076199,
8027
+0.50625455379,
8028
+0.51147013903,
8029
+0.51664537191,
8030
+0.52177828550,
8031
+0.52686679363,
8032
+0.53190881014,
8033
+0.53690224886,
8034
+0.54184508324,
8035
+0.54673534632,
8036
+0.55157101154,
8037
+0.55634999275,
8038
+0.56107026339,
8039
+0.56572991610,
8040
+0.57032698393,
8041
+0.57485944033,
8042
+0.57932555676,
8043
+0.58372318745,
8044
+0.58805054426,
8045
+0.59230577946,
8046
+0.59648692608,
8047
+0.60059231520,
8048
+0.60462015867,
8049
+0.60856848955,
8050
+0.61243581772,
8051
+0.61622029543,
8052
+0.61992025375,
8053
+0.62353414297,
8054
+0.62706029415,
8055
+0.63049703836,
8056
+0.63384294510,
8057
+0.63709646463,
8058
+0.64025616646,
8059
+0.64332056046,
8060
+0.64628833532,
8061
+0.64915806055,
8062
+0.65192854404,
8063
+0.65459835529,
8064
+0.65716648102,
8065
+0.65963155031,
8066
+0.66199249029,
8067
+0.66424828768,
8068
+0.66639786959,
8069
+0.66844022274,
8070
+0.67037439346,
8071
+0.67219948769,
8072
+0.67391467094,
8073
+0.67551922798,
8074
+0.67701220512,
8075
+0.67839306593,
8076
+0.67966115475,
8077
+0.68081587553,
8078
+0.68185669184,
8079
+0.68278300762,
8080
+0.68359452486,
8081
+0.68429082632,
8082
+0.68487155437,
8083
+0.68533653021,
8084
+0.68568539619,
8085
+0.68591803312,
8086
+0.68603444099,
8087
+0.68603444099,
8088
+0.68591803312,
8089
+0.68568539619,
8090
+0.68533653021,
8091
+0.68487155437,
8092
+0.68429082632,
8093
+0.68359452486,
8094
+0.68278300762,
8095
+0.68185669184,
8096
+0.68081587553,
8097
+0.67966115475,
8098
+0.67839306593,
8099
+0.67701220512,
8100
+0.67551922798,
8101
+0.67391467094,
8102
+0.67219948769,
8103
+0.67037439346,
8104
+0.66844022274,
8105
+0.66639786959,
8106
+0.66424828768,
8107
+0.66199249029,
8108
+0.65963155031,
8109
+0.65716648102,
8110
+0.65459835529,
8111
+0.65192854404,
8112
+0.64915806055,
8113
+0.64628833532,
8114
+0.64332056046,
8115
+0.64025616646,
8116
+0.63709646463,
8117
+0.63384294510,
8118
+0.63049703836,
8119
+0.62706029415,
8120
+0.62353414297,
8121
+0.61992025375,
8122
+0.61622029543,
8123
+0.61243581772,
8124
+0.60856848955,
8125
+0.60462015867,
8126
+0.60059231520,
8127
+0.59648692608,
8128
+0.59230577946,
8129
+0.58805054426,
8130
+0.58372318745,
8131
+0.57932555676,
8132
+0.57485944033,
8133
+0.57032698393,
8134
+0.56572991610,
8135
+0.56107026339,
8136
+0.55634999275,
8137
+0.55157101154,
8138
+0.54673534632,
8139
+0.54184508324,
8140
+0.53690224886,
8141
+0.53190881014,
8142
+0.52686679363,
8143
+0.52177828550,
8144
+0.51664537191,
8145
+0.51147013903,
8146
+0.50625455379,
8147
+0.50100076199,
8148
+0.49571081996,
8149
+0.49038675427,
8150
+0.48503074050,
8151
+0.47964480519,
8152
+0.47423094511,
8153
+0.46879136562,
8154
+0.46332800388,
8155
+0.45784294605,
8156
+0.45233830810,
8157
+0.44681602716,
8158
+0.44127810001,
8159
+0.43572667241,
8160
+0.43016362190,
8161
+0.42459106445,
8162
+0.41901078820,
8163
+0.41342487931,
8164
+0.40783521533,
8165
+0.40224379301,
8166
+0.39665243030,
8167
+0.39106300473,
8168
+0.38547745347,
8169
+0.37989753485,
8170
+0.37432509661,
8171
+0.36876192689,
8172
+0.36320972443,
8173
+0.35767036676,
8174
+0.35214546323,
8175
+0.34663668275,
8176
+0.34114575386,
8177
+0.33567428589,
8178
+0.33022382855,
8179
+0.32479602098,
8180
+0.31939238310,
8181
+0.31401440501,
8182
+0.30866351724,
8183
+0.30334126949,
8184
+0.29804900289,
8185
+0.29278811812,
8186
+0.28755992651,
8187
+0.28236576915,
8188
+0.27720692754,
8189
+0.27208462358,
8190
+0.26700007915,
8191
+0.26195442677,
8192
+0.25694879889,
8193
+0.25198432803,
8194
+0.24706205726,
8195
+0.24218304455,
8196
+0.23734821379,
8197
+0.23255851865,
8198
+0.22781492770,
8199
+0.22311829031,
8200
+0.21846942604,
8201
+0.21386915445,
8202
+0.20931822062,
8203
+0.20481738448,
8204
+0.20036731660,
8205
+0.19596865773,
8206
+0.19162209332,
8207
+0.18732811511,
8208
+0.18308731914,
8209
+0.17890018225,
8210
+0.17476719618,
8211
+0.17068879306,
8212
+0.16666537523,
8213
+0.16269733012,
8214
+0.15878495574,
8215
+0.15492856503,
8216
+0.15112841129,
8217
+0.14738474786,
8218
+0.14369773865,
8219
+0.14006754756,
8220
+0.13649433851,
8221
+0.13297818601,
8222
+0.12951917946,
8223
+0.12611730397,
8224
+0.12277261168,
8225
+0.11948505789,
8226
+0.11625462025,
8227
+0.11308115721,
8228
+0.10996460915,
8229
+0.10690483451,
8230
+0.10390164703,
8231
+0.10095486045,
8232
+0.09806428105,
8233
+0.09522963315,
8234
+0.09245070815,
8235
+0.08972713351,
8236
+0.08705867827,
8237
+0.08444493264,
8238
+0.08188561350,
8239
+0.07938029617,
8240
+0.07692859322,
8241
+0.07453006506,
8242
+0.07218432426,
8243
+0.06989086419,
8244
+0.06764923781,
8245
+0.06545893103,
8246
+0.06331945211,
8247
+0.06123027951,
8248
+0.05919086933,
8249
+0.05720067024,
8250
+0.05525910854,
8251
+0.05336561054,
8252
+0.05151961371,
8253
+0.04972046614,
8254
+0.04796761274,
8255
+0.04626038298,
8256
+0.04459818453,
8257
+0.04298033938,
8258
+0.04140623659,
8259
+0.03987516090,
8260
+0.03838652745,
8261
+0.03693958372,
8262
+0.03553372994,
8263
+0.03416819125,
8264
+0.03284239396,
8265
+0.03155555204,
8266
+0.03030703776,
8267
+0.02909611352,
8268
+0.02792212367,
8269
+0.02678431384,
8270
+0.02568206564,
8271
+0.02461459488,
8272
+0.02358125709,
8273
+0.02258131653,
8274
+0.02161412500,
8275
+0.02067894675,
8276
+0.01977507770,
8277
+0.01890186779,
8278
+0.01805862412,
8279
+0.01724460535,
8280
+0.01645922661,
8281
+0.01570170000,
8282
+0.01497144438,
8283
+0.01426773332,
8284
+0.01358995494,
8285
+0.01293735672,
8286
+0.01230939943,
8287
+0.01170534454,
8288
+0.01112466771,
8289
+0.01056654565,
8290
+0.01003060210,
8291
+0.00951600447,
8292
+0.00902230106,
8293
+0.00854881573,
8294
+0.00809498038,
8295
+0.00766016589,
8296
+0.00724391919,
8297
+0.00684553990,
8298
+0.00646453211,
8299
+0.00610029325,
8300
+0.00575236930,
8301
+0.00542017492,
8302
+0.00510312291,
8303
+0.00480085658,
8304
+0.00451271003,
8305
+0.00423829490,
8306
+0.00397720048,
8307
+0.00372874714,
8308
+0.00349264755,
8309
+0.00326841651,
8310
+0.00305565330,
8311
+0.00285378192,
8312
+0.00266251224,
8313
+0.00248134881,
8314
+0.00231004250,
8315
+0.00214785640,
8316
+0.00199495023,
8317
+0.00185023469,
8318
+0.00171401864,
8319
+0.00158570008,
8320
+0.00146482687,
8321
+0.00135110028,
8322
+0.00124442333,
8323
+0.00114431616,
8324
+0.00105048984,
8325
+0.00096255314,
8326
+0.00088037323,
8327
+0.00080365466,
8328
+0.00073179678,
8329
+0.00066567765,
8330
+0.00060277141,
8331
+0.00054522208,
8332
+0.00049204525,
8333
+0.00044236859,
8334
+0.00039634691,
8335
+0.00035398375,
8336
+0.00031519096,
8337
+0.00027949660,
8338
+0.00024667382,
8339
+0.00021643363,
8340
+0.00018878609,
8341
+0.00016358691,
8342
+0.00053168571
8343
+};
8344
+
8345
+/* 10^-(dB/20), with dB beeing a list of dB values rangeing from 0 to -72 */
8346
+/* do a 20*log10(dca_downmix_coeffs) to reconvert the values */
8347
+
8348
+static const float dca_downmix_coeffs[65] = {
8349
+  1.000000000000000, 0.988553094656939, 0.971627951577106, 0.944060876285923, 0.917275935389780, 0.891250938133746,
8350
+  0.865964323360065, 0.841395141645195, 0.817523037943650, 0.794328234724281, 0.771791515585012, 0.749894209332456,
8351
+  0.728618174513228, 0.707945784384138, 0.687859912308808, 0.668343917568615, 0.649381631576211, 0.630957344480193,
8352
+  0.613055792149821, 0.595662143529010, 0.578761988349121, 0.562341325190349, 0.546386549881854, 0.530884444230988,
8353
+  0.515822165072306, 0.501187233627272, 0.446683592150963, 0.398107170553497, 0.354813389233575, 0.316227766016838,
8354
+  0.281838293126445, 0.251188643150958, 0.223872113856834, 0.199526231496888, 0.177827941003892, 0.158489319246111,
8355
+  0.141253754462275, 0.125892541179417, 0.112201845430196, 0.100000000000000, 0.089125093813374, 0.079432823472428,
8356
+  0.070794578438414, 0.063095734448019, 0.053088444423099, 0.044668359215096, 0.037583740428844, 0.031622776601684,
8357
+  0.026607250597988, 0.022387211385683, 0.018836490894898, 0.015848931924611, 0.013335214321633, 0.011220184543020,
8358
+  0.009440608762859, 0.007943282347243, 0.005623413251903, 0.003981071705535, 0.002818382931264, 0.001995262314969,
8359
+  0.001412537544623, 0.001000000000000, 0.000501187233627, 0.000251188643151, 0.000000000000000,
8360
+};
8361
+
8362
+/* downmix coeffs
8363
+
8364
+ TABLE 9
8365
+______________________________________
8366
+Down-mix coefficients for 8-channel source
8367
+audio (5 + 3 format)
8368
+ lt
8369
+ cen- rt lt ctr rt
8370
+lt ter ctr center
8371
+ rt srd srd srd
8372
+______________________________________
8373
+1 0.71 0.74 1.0 0.71 0.71 0.58 0.58 0.58
8374
+2 left 1.0 0.89 0.71 0.46 0.71 0.50
8375
+  rt 0.45 0.71 0.89 1.0 0.50 0.71
8376
+3 lt 1.0 0.89 0.71 0.45
8377
+ rt 0.45 0.71 0.89 1.0
8378
+ srd 0.71 0.71 0.71
8379
+4 lt 1.0 0.89 0.71 0.45
8380
+ rt 0.45 0.71 0.89 1.0
8381
+ lt srd 1.0 0.71
8382
+ rt srd 0.71 0.71
8383
+4 lt 1.0 0.5
8384
+ ctr 0.87 1.0 0.87
8385
+ rt 0.5 1.0
8386
+ srd 0.71 0.71 0.71
8387
+5 lt 1.0 0.5
8388
+ ctr 0.87 1.0 0.87
8389
+ rt 0.5 1.0
8390
+ lt srd 1.0 0.71
8391
+ rt srd 0.71 1.0
8392
+6 lt 1.0 0.5
8393
+ lt ctr 0.87 0.71
8394
+ rt ctr 0.71 0.87
8395
+ rt 0.5 1.0
8396
+ lt srd 1.0 0.71
8397
+ rt srd 0.71 1.0
8398
+6 lt 1.0 0.5
8399
+ ctr 0.86 1.0 0.86
8400
+ rt 0.5 1.0
8401
+ lt srd 1.0
8402
+ ctr srd 1.0
8403
+ rt srd 1.0
8404
+7 lt 1.0
8405
+ lt ctr 1.0
8406
+ ctr 1.0
8407
+ rt ctr 1.0
8408
+ rt 1.0
8409
+ lt srd 1.0 0.71
8410
+ rt srd 0.71 1.0
8411
+7 lt 1.0 0.5
8412
+ lt ctr 0.87 0.71
8413
+ rt ctr 0.71 0.87
8414
+ rt 0.5 1.0
8415
+ lt srd 1.0
8416
+ ctr srd 1.0
8417
+ rt srd 1.0
8418
+8 lt 1.0 0.5
8419
+ lt ctr 0.87 0.71
8420
+ rt ctr 0.71 0.87
8421
+ rt 0.5 1.0
8422
+ lt 1 srd 0.87 0.35
8423
+ lt 2 srd 0.5 0.61
8424
+ rt 2 srd 0.61 0.50
8425
+ rt 2 srd 0.35 0.87
8426
+
8427
+ Generation of Lt Rt
8428
+
8429
+In the case when the playback system has analog or digital surround multi-channel capability, a down matrix from 5, 4, or 3 channel to Lt Rt may be desirable. In the case when the number of decoded audio channels exceeds 5, 4 or 3 respectively a first stage down mix to 5, 4 or 3 chs should be used as described above.
8430
+
8431
+The down matrixing equations for 5-channel source audio to a two-channel Lt Rt playback system are given by:
8432
+
8433
+Left left+0.7*center-0.7*(lt surround+rt surround)
8434
+
8435
+Right=right+0.7*center+0.7*(lt surround+rt surround)
8436
+
8437
+Embedded mixing to 2-channel
8438
+
8439
+One concern arising from the proliferation of multi-channel audio systems is that most home systems presently have only two channel playback capability. To accommodate this a fixed 2-channel down matrix processes is commonly used following the multi-channel decoding stage. However, for music only applications the image quality etc. of the down matrixed signal may not match that of an equivalent stereo recording found on CD.
8440
+
8441
+The concept of embedded mixing is to allow the producer to dynamically specify the matrixing coefficients within the audio frame itself. In this way the stereo down mix at the decoder may be better matched to a 2-channel playback environment.
8442
+
8443
+CHS*2, 7-bit down mix indexes (MCOEFFS) are transmitted along with the multi-channel audio once in every frame. The indexes are converted to attenuation factors using a 7 bit LUT. The 2-ch down mix equations are as follows,
8444
+
8445
+Left Ch=sum (MCOEFF[n]*Ch[n]) for n=1, CHS
8446
+
8447
+Right Ch sum (MCOEFF[n+CHS]*Ch[n]) for n=1, CHS
8448
+
8449
+where Ch(n) represents the subband samples in the (n)th audio channel.
8450
+
8451
+
8452
+*/
0 8453
new file mode 100644
... ...
@@ -0,0 +1,1068 @@
0
+/*
1
+ * DCA compatible decoder - huffman tables
2
+ * Copyright (C) 2004 Gildas Bazin
3
+ * Copyright (C) 2007 Konstantin Shishkov
4
+ *
5
+ * This file is part of FFmpeg.
6
+ *
7
+ * FFmpeg is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * FFmpeg is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with FFmpeg; if not, write to the Free Software
19
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
+ */
21
+
22
+#define TMODE_COUNT 4
23
+static const uint8_t tmode_vlc_bits[TMODE_COUNT] = { 3, 3, 3, 2 };
24
+static const uint16_t tmode_codes[TMODE_COUNT][4] = {
25
+  { 0x0000, 0x0002, 0x0006, 0x0007 },
26
+  { 0x0002, 0x0006, 0x0007, 0x0000 },
27
+  { 0x0006, 0x0007, 0x0000, 0x0002 },
28
+  { 0x0000, 0x0001, 0x0002, 0x0003 }
29
+};
30
+static const uint8_t tmode_bits[TMODE_COUNT][4] = {
31
+  {  1,  2,  3,  3 },
32
+  {  2,  3,  3,  1 },
33
+  {  3,  3,  1,  2 },
34
+  {  2,  2,  2,  2 }
35
+};
36
+
37
+
38
+#define BITALLOC_12_COUNT 5
39
+#define BITALLOC_12_VLC_BITS 9
40
+static const uint8_t bitalloc_12_vlc_bits[BITALLOC_12_COUNT] = {
41
+  9, 7, 7, 9, 9
42
+};
43
+static const uint16_t bitalloc_12_codes[BITALLOC_12_COUNT][12] = {
44
+  {
45
+    0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E, 0x00FF, 0x00FE,
46
+    0x01FB, 0x01FA, 0x01F9, 0x01F8,
47
+  },
48
+  {
49
+    0x0001, 0x0000, 0x0002, 0x000F, 0x000C, 0x001D, 0x0039, 0x0038,
50
+    0x0037, 0x0036, 0x0035, 0x0034,
51
+  },
52
+  {
53
+    0x0000, 0x0007, 0x0005, 0x0004, 0x0002, 0x000D, 0x000C, 0x0006,
54
+    0x000F, 0x001D, 0x0039, 0x0038,
55
+  },
56
+  {
57
+    0x0003, 0x0002, 0x0000, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E,
58
+    0x007E, 0x00FE, 0x01FF, 0x01FE,
59
+  },
60
+  {
61
+    0x0001, 0x0000, 0x0002, 0x0006, 0x000E, 0x003F, 0x003D, 0x007C,
62
+    0x0079, 0x0078, 0x00FB, 0x00FA,
63
+  }
64
+};
65
+static const uint8_t bitalloc_12_bits[BITALLOC_12_COUNT][12] = {
66
+  { 1,  2,  3,  4,  5,  6,  8,  8,  9,  9,  9,  9 },
67
+  { 1,  2,  3,  5,  5,  6,  7,  7,  7,  7,  7,  7 },
68
+  { 2,  3,  3,  3,  3,  4,  4,  4,  5,  6,  7,  7 },
69
+  { 2,  2,  2,  3,  4,  5,  6,  7,  8,  9, 10, 10 },
70
+  { 1,  2,  3,  4,  5,  7,  7,  8,  8,  8,  9,  9 }
71
+};
72
+
73
+
74
+#define SCALES_COUNT 5
75
+#define SCALES_VLC_BITS 9
76
+static const uint16_t scales_codes[SCALES_COUNT][129] = {
77
+  {
78
+    0x3AB0, 0x3AB2, 0x3AB4, 0x3AB6, 0x3AB8, 0x3ABA, 0x3ABC, 0x3ABE,
79
+    0x3AC0, 0x3AC2, 0x3AC4, 0x3AC6, 0x3AC8, 0x3ACA, 0x3ACC, 0x3ACE,
80
+    0x3AD0, 0x3AD2, 0x3AD4, 0x3AD6, 0x3AD8, 0x3ADA, 0x3ADC, 0x3ADE,
81
+    0x3AE0, 0x3AE2, 0x3AE4, 0x3AE6, 0x3AE8, 0x3AEA, 0x3AEC, 0x3AEE,
82
+    0x3AF0, 0x3AF2, 0x3AF4, 0x3AF6, 0x3AF8, 0x3AFA, 0x3AFC, 0x3AFE,
83
+    0x0540, 0x0542, 0x0544, 0x0546, 0x0548, 0x054A, 0x054C, 0x054E,
84
+    0x0558, 0x055E, 0x02AD, 0x0154, 0x0754, 0x03A8, 0x0056, 0x0028,
85
+    0x00E8, 0x004A, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,
86
+    0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x004B,
87
+    0x00E9, 0x0029, 0x0057, 0x03A9, 0x0755, 0x0155, 0x02AE, 0x055F,
88
+    0x0559, 0x054F, 0x054D, 0x054B, 0x0549, 0x0547, 0x0545, 0x0543,
89
+    0x0541, 0x3AFF, 0x3AFD, 0x3AFB, 0x3AF9, 0x3AF7, 0x3AF5, 0x3AF3,
90
+    0x3AF1, 0x3AEF, 0x3AED, 0x3AEB, 0x3AE9, 0x3AE7, 0x3AE5, 0x3AE3,
91
+    0x3AE1, 0x3ADF, 0x3ADD, 0x3ADB, 0x3AD9, 0x3AD7, 0x3AD5, 0x3AD3,
92
+    0x3AD1, 0x3ACF, 0x3ACD, 0x3ACB, 0x3AC9, 0x3AC7, 0x3AC5, 0x3AC3,
93
+    0x3AC1, 0x3ABF, 0x3ABD, 0x3ABB, 0x3AB9, 0x3AB7, 0x3AB5, 0x3AB3,
94
+    0x3AB1,
95
+  },
96
+  {
97
+    0x0F60, 0x0F62, 0x0F64, 0x0F66, 0x0F68, 0x0F6A, 0x0F6C, 0x0F6E,
98
+    0x0F70, 0x0F72, 0x0F74, 0x0F76, 0x0F78, 0x0F7A, 0x0F7C, 0x0F7E,
99
+    0x0F80, 0x0F82, 0x0F84, 0x0F86, 0x0F88, 0x0F8A, 0x0F8C, 0x0F8E,
100
+    0x0F90, 0x0F92, 0x0F94, 0x0F96, 0x0F98, 0x0F9A, 0x0F9C, 0x0F9E,
101
+    0x0FA0, 0x0FA2, 0x0FA4, 0x0FA6, 0x0FA8, 0x0FAA, 0x0FAC, 0x0FAE,
102
+    0x0FB0, 0x0FB2, 0x0FB4, 0x0FB6, 0x0FB8, 0x0FBA, 0x0FBC, 0x0FBE,
103
+    0x07A0, 0x07A2, 0x03D2, 0x01EA, 0x00FC, 0x007F, 0x001C, 0x000C,
104
+    0x0004, 0x0034, 0x0010, 0x001B, 0x0009, 0x000B, 0x000E, 0x0001,
105
+    0x0003, 0x0002, 0x000F, 0x000C, 0x000A, 0x0000, 0x0011, 0x0035,
106
+    0x0005, 0x000D, 0x001D, 0x003C, 0x00FD, 0x01EB, 0x03D3, 0x07A3,
107
+    0x07A1, 0x0FBF, 0x0FBD, 0x0FBB, 0x0FB9, 0x0FB7, 0x0FB5, 0x0FB3,
108
+    0x0FB1, 0x0FAF, 0x0FAD, 0x0FAB, 0x0FA9, 0x0FA7, 0x0FA5, 0x0FA3,
109
+    0x0FA1, 0x0F9F, 0x0F9D, 0x0F9B, 0x0F99, 0x0F97, 0x0F95, 0x0F93,
110
+    0x0F91, 0x0F8F, 0x0F8D, 0x0F8B, 0x0F89, 0x0F87, 0x0F85, 0x0F83,
111
+    0x0F81, 0x0F7F, 0x0F7D, 0x0F7B, 0x0F79, 0x0F77, 0x0F75, 0x0F73,
112
+    0x0F71, 0x0F6F, 0x0F6D, 0x0F6B, 0x0F69, 0x0F67, 0x0F65, 0x0F63,
113
+    0x0F61,
114
+  },
115
+  {
116
+    0x51D0, 0x51D2, 0x51D4, 0x51D6, 0x51D8, 0x51DA, 0x51DC, 0x51DE,
117
+    0x51E0, 0x51E2, 0x51E4, 0x51E6, 0x51E8, 0x51EA, 0x51EC, 0x51EE,
118
+    0x51F0, 0x51F2, 0x51F4, 0x51F6, 0x51F8, 0x51FA, 0x51FC, 0x51FE,
119
+    0x70C0, 0x70C2, 0x70C4, 0x70C6, 0x70C8, 0x70CA, 0x70CC, 0x70CE,
120
+    0x70EC, 0x10EA, 0x3868, 0x3877, 0x0876, 0x1C35, 0x0434, 0x0A34,
121
+    0x0E1B, 0x021B, 0x051B, 0x070F, 0x010F, 0x0380, 0x0080, 0x0140,
122
+    0x01C1, 0x0041, 0x00A1, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,
123
+    0x002A, 0x003A, 0x000A, 0x0016, 0x001E, 0x0006, 0x000C, 0x0000,
124
+    0x0004, 0x0001, 0x000D, 0x0007, 0x001F, 0x0017, 0x000B, 0x003B,
125
+    0x002B, 0x0013, 0x0073, 0x0053, 0x0023, 0x00E3, 0x00A2, 0x0042,
126
+    0x01C2, 0x0141, 0x0081, 0x0381, 0x028C, 0x010C, 0x051C, 0x021C,
127
+    0x0E1C, 0x0A35, 0x0435, 0x1C3A, 0x0877, 0x0874, 0x3869, 0x10EB,
128
+    0x70ED, 0x70CF, 0x70CD, 0x70CB, 0x70C9, 0x70C7, 0x70C5, 0x70C3,
129
+    0x70C1, 0x51FF, 0x51FD, 0x51FB, 0x51F9, 0x51F7, 0x51F5, 0x51F3,
130
+    0x51F1, 0x51EF, 0x51ED, 0x51EB, 0x51E9, 0x51E7, 0x51E5, 0x51E3,
131
+    0x51E1, 0x51DF, 0x51DD, 0x51DB, 0x51D9, 0x51D7, 0x51D5, 0x51D3,
132
+    0x51D1,
133
+  },
134
+  {
135
+    0x6F64, 0x6F66, 0x6F68, 0x6F6A, 0x6F6C, 0x6F6E, 0x6F70, 0x6F72,
136
+    0x6F74, 0x6F76, 0x6F78, 0x6F7A, 0x6F7C, 0x6F7E, 0x6F80, 0x6F82,
137
+    0x6F84, 0x6F86, 0x6F88, 0x6F8A, 0x6F8C, 0x6F8E, 0x6F90, 0x6F92,
138
+    0x6F94, 0x6F96, 0x6F98, 0x6F9A, 0x6F9C, 0x6F9E, 0x6FA0, 0x6FA2,
139
+    0x6FA4, 0x6FA6, 0x6FA8, 0x6FAA, 0x6FAC, 0x6FAE, 0x6FB0, 0x6FB2,
140
+    0x6FB4, 0x6FB6, 0x17B4, 0x37DC, 0x0BDB, 0x1BEF, 0x05EE, 0x0DF8,
141
+    0x02F8, 0x06FD, 0x017D, 0x037F, 0x00BF, 0x0040, 0x00C0, 0x0021,
142
+    0x0061, 0x0011, 0x0031, 0x0009, 0x0019, 0x0006, 0x000E, 0x0004,
143
+    0x0000, 0x0005, 0x000F, 0x0007, 0x001A, 0x000A, 0x0036, 0x0016,
144
+    0x006E, 0x002E, 0x00C1, 0x0041, 0x01BC, 0x00BC, 0x037A, 0x017A,
145
+    0x02F9, 0x0DF9, 0x05EF, 0x05EC, 0x1BD8, 0x37DD, 0x17B5, 0x6FB7,
146
+    0x6FB5, 0x6FB3, 0x6FB1, 0x6FAF, 0x6FAD, 0x6FAB, 0x6FA9, 0x6FA7,
147
+    0x6FA5, 0x6FA3, 0x6FA1, 0x6F9F, 0x6F9D, 0x6F9B, 0x6F99, 0x6F97,
148
+    0x6F95, 0x6F93, 0x6F91, 0x6F8F, 0x6F8D, 0x6F8B, 0x6F89, 0x6F87,
149
+    0x6F85, 0x6F83, 0x6F81, 0x6F7F, 0x6F7D, 0x6F7B, 0x6F79, 0x6F77,
150
+    0x6F75, 0x6F73, 0x6F71, 0x6F6F, 0x6F6D, 0x6F6B, 0x6F69, 0x6F67,
151
+    0x6F65,
152
+  },
153
+  {
154
+    0xDF54, 0xDF56, 0xDFC8, 0xDFCA, 0xDFCC, 0xDFCE, 0xDFD0, 0xDFD2,
155
+    0xDFD4, 0xDFD6, 0xDFD8, 0xDFDA, 0xDFDC, 0xDFDE, 0xDFE0, 0xDFE2,
156
+    0x0FE8, 0x2FEA, 0x6FA8, 0x6FF6, 0x07F5, 0x07F7, 0x37D2, 0x37F9,
157
+    0x03F8, 0x0BF8, 0x0BFB, 0x1BEB, 0x01FA, 0x05FA, 0x09FA, 0x0DFA,
158
+    0x0DFF, 0x00FF, 0x02FF, 0x06FB, 0x007C, 0x017C, 0x027C, 0x027F,
159
+    0x003C, 0x00BC, 0x013C, 0x01BC, 0x001C, 0x005C, 0x009C, 0x00DC,
160
+    0x000C, 0x002C, 0x004C, 0x006C, 0x0004, 0x0014, 0x0024, 0x0034,
161
+    0x0000, 0x0008, 0x0010, 0x0018, 0x001E, 0x0002, 0x0006, 0x000A,
162
+    0x000E, 0x000B, 0x0007, 0x0003, 0x001F, 0x0019, 0x0011, 0x0009,
163
+    0x0001, 0x0035, 0x0025, 0x0015, 0x0005, 0x006D, 0x004D, 0x002D,
164
+    0x000D, 0x00DD, 0x009D, 0x005D, 0x001D, 0x01BD, 0x013D, 0x00BD,
165
+    0x003D, 0x037C, 0x027D, 0x017D, 0x007D, 0x06FC, 0x04FC, 0x02FC,
166
+    0x00FC, 0x0DFB, 0x09FB, 0x05FB, 0x01FB, 0x1BF8, 0x1BE8, 0x0BF9,
167
+    0x03F9, 0x37FA, 0x37D3, 0x17F4, 0x07F6, 0x6FF7, 0x6FA9, 0x2FEB,
168
+    0x0FE9, 0xDFE3, 0xDFE1, 0xDFDF, 0xDFDD, 0xDFDB, 0xDFD9, 0xDFD7,
169
+    0xDFD5, 0xDFD3, 0xDFD1, 0xDFCF, 0xDFCD, 0xDFCB, 0xDFC9, 0xDF57,
170
+    0xDF55,
171
+  }
172
+};
173
+
174
+static const uint8_t scales_bits[SCALES_COUNT][129] = {
175
+  {
176
+    14, 14, 14, 14, 14, 14, 14, 14,
177
+    14, 14, 14, 14, 14, 14, 14, 14,
178
+    14, 14, 14, 14, 14, 14, 14, 14,
179
+    14, 14, 14, 14, 14, 14, 14, 14,
180
+    14, 14, 14, 14, 14, 14, 14, 14,
181
+    13, 13, 13, 13, 13, 13, 13, 13,
182
+    13, 13, 12, 11, 11, 10,  9,  8,
183
+     8,  7,  6,  6,  5,  4,  4,  3,
184
+     2,  3,  3,  4,  5,  5,  6,  7,
185
+     8,  8,  9, 10, 11, 11, 12, 13,
186
+    13, 13, 13, 13, 13, 13, 13, 13,
187
+    13, 14, 14, 14, 14, 14, 14, 14,
188
+    14, 14, 14, 14, 14, 14, 14, 14,
189
+    14, 14, 14, 14, 14, 14, 14, 14,
190
+    14, 14, 14, 14, 14, 14, 14, 14,
191
+    14, 14, 14, 14, 14, 14, 14, 14,
192
+    14,
193
+  },
194
+  {
195
+    15, 15, 15, 15, 15, 15, 15, 15,
196
+    15, 15, 15, 15, 15, 15, 15, 15,
197
+    15, 15, 15, 15, 15, 15, 15, 15,
198
+    15, 15, 15, 15, 15, 15, 15, 15,
199
+    15, 15, 15, 15, 15, 15, 15, 15,
200
+    15, 15, 15, 15, 15, 15, 15, 15,
201
+    14, 14, 13, 12, 11, 10,  8,  7,
202
+     6,  6,  5,  5,  4,  4,  4,  3,
203
+     3,  3,  4,  4,  4,  4,  5,  6,
204
+     6,  7,  8,  9, 11, 12, 13, 14,
205
+    14, 15, 15, 15, 15, 15, 15, 15,
206
+    15, 15, 15, 15, 15, 15, 15, 15,
207
+    15, 15, 15, 15, 15, 15, 15, 15,
208
+    15, 15, 15, 15, 15, 15, 15, 15,
209
+    15, 15, 15, 15, 15, 15, 15, 15,
210
+    15, 15, 15, 15, 15, 15, 15, 15,
211
+    15,
212
+  },
213
+  {
214
+    15, 15, 15, 15, 15, 15, 15, 15,
215
+    15, 15, 15, 15, 15, 15, 15, 15,
216
+    15, 15, 15, 15, 15, 15, 15, 15,
217
+    15, 15, 15, 15, 15, 15, 15, 15,
218
+    15, 14, 14, 14, 13, 13, 12, 12,
219
+    12, 11, 11, 11, 10, 10,  9,  9,
220
+     9,  8,  8,  8,  7,  7,  7,  6,
221
+     6,  6,  5,  5,  5,  4,  4,  3,
222
+     3,  3,  4,  4,  5,  5,  5,  6,
223
+     6,  6,  7,  7,  7,  8,  8,  8,
224
+     9,  9,  9, 10, 10, 10, 11, 11,
225
+    12, 12, 12, 13, 13, 13, 14, 14,
226
+    15, 15, 15, 15, 15, 15, 15, 15,
227
+    15, 15, 15, 15, 15, 15, 15, 15,
228
+    15, 15, 15, 15, 15, 15, 15, 15,
229
+    15, 15, 15, 15, 15, 15, 15, 15,
230
+    15,
231
+  },
232
+  {
233
+    15, 15, 15, 15, 15, 15, 15, 15,
234
+    15, 15, 15, 15, 15, 15, 15, 15,
235
+    15, 15, 15, 15, 15, 15, 15, 15,
236
+    15, 15, 15, 15, 15, 15, 15, 15,
237
+    15, 15, 15, 15, 15, 15, 15, 15,
238
+    15, 15, 14, 14, 13, 13, 12, 12,
239
+    11, 11, 10, 10,  9,  8,  8,  7,
240
+     7,  6,  6,  5,  5,  4,  4,  3,
241
+     2,  3,  4,  4,  5,  5,  6,  6,
242
+     7,  7,  8,  8,  9,  9, 10, 10,
243
+    11, 12, 12, 12, 13, 14, 14, 15,
244
+    15, 15, 15, 15, 15, 15, 15, 15,
245
+    15, 15, 15, 15, 15, 15, 15, 15,
246
+    15, 15, 15, 15, 15, 15, 15, 15,
247
+    15, 15, 15, 15, 15, 15, 15, 15,
248
+    15, 15, 15, 15, 15, 15, 15, 15,
249
+    15,
250
+  },
251
+  {
252
+    16, 16, 16, 16, 16, 16, 16, 16,
253
+    16, 16, 16, 16, 16, 16, 16, 16,
254
+    15, 15, 15, 15, 14, 14, 14, 14,
255
+    13, 13, 13, 13, 12, 12, 12, 12,
256
+    12, 11, 11, 11, 10, 10, 10, 10,
257
+     9,  9,  9,  9,  8,  8,  8,  8,
258
+     7,  7,  7,  7,  6,  6,  6,  6,
259
+     5,  5,  5,  5,  5,  4,  4,  4,
260
+     4,  4,  4,  4,  5,  5,  5,  5,
261
+     5,  6,  6,  6,  6,  7,  7,  7,
262
+     7,  8,  8,  8,  8,  9,  9,  9,
263
+     9, 10, 10, 10, 10, 11, 11, 11,
264
+    11, 12, 12, 12, 12, 13, 13, 13,
265
+    13, 14, 14, 14, 14, 15, 15, 15,
266
+    15, 16, 16, 16, 16, 16, 16, 16,
267
+    16, 16, 16, 16, 16, 16, 16, 16,
268
+    16,
269
+  }
270
+};
271
+
272
+static const uint16_t bitalloc_3_codes[3] =
273
+{
274
+    0x0003, 0x0000, 0x0002,
275
+};
276
+static const uint8_t bitalloc_3_bits[3] =
277
+{
278
+     2,  1,  2,
279
+};
280
+
281
+static const uint16_t bitalloc_5_codes_a[5] =
282
+{
283
+    0x000F, 0x0006, 0x0000, 0x0002, 0x000E,
284
+};
285
+static const uint16_t bitalloc_5_codes_b[5] =
286
+{
287
+    0x0007, 0x0001, 0x0002, 0x0000, 0x0006,
288
+};
289
+static const uint16_t bitalloc_5_codes_c[5] =
290
+{
291
+    0x0007, 0x0005, 0x0000, 0x0004, 0x0006,
292
+};
293
+static const uint8_t bitalloc_5_bits_a[5] =
294
+{
295
+     4,  3,  1,  2,  4,
296
+};
297
+static const uint8_t bitalloc_5_bits_b[5] =
298
+{
299
+     3,  2,  2,  2,  3,
300
+};
301
+static const uint8_t bitalloc_5_bits_c[5] =
302
+{
303
+     3,  3,  1,  3,  3,
304
+};
305
+
306
+static const uint16_t bitalloc_7_codes_a[7] =
307
+{
308
+    0x001E, 0x000E, 0x0005, 0x0000, 0x0006, 0x0004, 0x001F,
309
+};
310
+static const uint16_t bitalloc_7_codes_b[7] =
311
+{
312
+    0x0014, 0x000B, 0x0000, 0x0003, 0x0001, 0x0004, 0x0015,
313
+};
314
+static const uint16_t bitalloc_7_codes_c[7] =
315
+{
316
+    0x0000, 0x0002, 0x0001, 0x0003, 0x0002, 0x0003, 0x0001,
317
+};
318
+static const uint8_t bitalloc_7_bits_a[7] =
319
+{
320
+     5,  4,  3,  1,  3,  3,  5,
321
+};
322
+static const uint8_t bitalloc_7_bits_b[7] =
323
+{
324
+     5,  4,  2,  2,  2,  3,  5,
325
+};
326
+static const uint8_t bitalloc_7_bits_c[7] =
327
+{
328
+     4,  4,  2,  2,  2,  4,  4,
329
+};
330
+
331
+static const uint16_t bitalloc_9_codes_a[9] =
332
+{
333
+    0x0030, 0x0019, 0x0009, 0x0005, 0x0000, 0x0007, 0x000D, 0x0008,
334
+    0x0031,
335
+};
336
+static const uint16_t bitalloc_9_codes_b[9] =
337
+{
338
+    0x0018, 0x001A, 0x0002, 0x0007, 0x0002, 0x0000, 0x0003, 0x001B,
339
+    0x0019,
340
+};
341
+static const uint16_t bitalloc_9_codes_c[9] =
342
+{
343
+    0x001C, 0x000F, 0x0002, 0x0007, 0x0002, 0x0000, 0x0006, 0x0006,
344
+    0x001D,
345
+};
346
+static const uint8_t bitalloc_9_bits_a[9] =
347
+{
348
+     6,  5,  4,  3,  1,  3,  4,  4,  6,
349
+};
350
+static const uint8_t bitalloc_9_bits_b[9] =
351
+{
352
+     5,  5,  3,  3,  2,  2,  3,  5,  5,
353
+};
354
+static const uint8_t bitalloc_9_bits_c[9] =
355
+{
356
+     6,  5,  3,  3,  2,  2,  3,  4,  6,
357
+};
358
+
359
+static const uint16_t bitalloc_13_codes_a[13] =
360
+{
361
+    0x0070, 0x002E, 0x0039, 0x001D, 0x000C, 0x000F, 0x0000, 0x0004,
362
+    0x000D, 0x000A, 0x0016, 0x002F, 0x0071,
363
+};
364
+static const uint16_t bitalloc_13_codes_b[13] =
365
+{
366
+    0x0038, 0x0010, 0x001D, 0x0007, 0x000F, 0x0005, 0x0000, 0x0006,
367
+    0x0002, 0x0009, 0x0006, 0x0011, 0x0039,
368
+};
369
+static const uint16_t bitalloc_13_codes_c[13] =
370
+{
371
+    0x0004, 0x001A, 0x0003, 0x000E, 0x0000, 0x0003, 0x0005, 0x0004,
372
+    0x0002, 0x000F, 0x000C, 0x001B, 0x0005,
373
+};
374
+static const uint8_t bitalloc_13_bits_a[13] =
375
+{
376
+     7,  6,  6,  5,  4,  4,  1,  3,  4,  4,  5,  6,  7,
377
+};
378
+static const uint8_t bitalloc_13_bits_b[13] =
379
+{
380
+     6,  5,  5,  4,  4,  3,  2,  3,  3,  4,  4,  5,  6,
381
+};
382
+static const uint8_t bitalloc_13_bits_c[13] =
383
+{
384
+     5,  5,  4,  4,  3,  3,  3,  3,  3,  4,  4,  5,  5,
385
+};
386
+
387
+static const uint16_t bitalloc_17_codes_a[17] =
388
+{
389
+    0x0154, 0x00AB, 0x002B, 0x000B, 0x0003, 0x000A, 0x0001, 0x0006,
390
+    0x0001, 0x0007, 0x0004, 0x000B, 0x0000, 0x0004, 0x0014, 0x0054,
391
+    0x0155,
392
+};
393
+static const uint16_t bitalloc_17_codes_b[17] =
394
+{
395
+    0x007C, 0x003F, 0x0019, 0x000D, 0x001C, 0x0008, 0x000F, 0x0005,
396
+    0x0000, 0x0006, 0x0002, 0x0009, 0x001D, 0x000E, 0x001E, 0x0018,
397
+    0x007D,
398
+};
399
+static const uint16_t bitalloc_17_codes_c[17] =
400
+{
401
+    0x002C, 0x0017, 0x0005, 0x001C, 0x0003, 0x000A, 0x000F, 0x0003,
402
+    0x0006, 0x0004, 0x0000, 0x000B, 0x0004, 0x001D, 0x000A, 0x0004,
403
+    0x002D,
404
+};
405
+static const uint16_t bitalloc_17_codes_d[17] =
406
+{
407
+    0x0100, 0x0102, 0x0082, 0x0042, 0x0022, 0x0012, 0x000A, 0x0006,
408
+    0x0000, 0x0007, 0x000B, 0x0013, 0x0023, 0x0043, 0x0083, 0x0103,
409
+    0x0101,
410
+};
411
+static const uint16_t bitalloc_17_codes_e[17] =
412
+{
413
+    0x00E8, 0x00F6, 0x0075, 0x0034, 0x003B, 0x001B, 0x001F, 0x0004,
414
+    0x0000, 0x0005, 0x000C, 0x001C, 0x003C, 0x0035, 0x007A, 0x00F7,
415
+    0x00E9,
416
+};
417
+static const uint16_t bitalloc_17_codes_f[17] =
418
+{
419
+    0x0004, 0x0003, 0x001E, 0x0001, 0x0001, 0x000E, 0x0001, 0x0004,
420
+    0x0006, 0x0005, 0x0002, 0x000F, 0x0006, 0x000E, 0x001F, 0x0000,
421
+    0x0005,
422
+};
423
+static const uint16_t bitalloc_17_codes_g[17] =
424
+{
425
+    0x0060, 0x007E, 0x0031, 0x0019, 0x000D, 0x0004, 0x0000, 0x0006,
426
+    0x0002, 0x0007, 0x0001, 0x0005, 0x000E, 0x001E, 0x003E, 0x007F,
427
+    0x0061,
428
+};
429
+static const uint8_t bitalloc_17_bits_a[17] =
430
+{
431
+    12, 11,  9,  7,  5,  4,  3,  3,  2,  3,  3,  4,  4,  6,  8, 10,
432
+    12,
433
+};
434
+static const uint8_t bitalloc_17_bits_b[17] =
435
+{
436
+     8,  7,  6,  5,  5,  4,  4,  3,  2,  3,  3,  4,  5,  5,  6,  6,
437
+     8,
438
+};
439
+static const uint8_t bitalloc_17_bits_c[17] =
440
+{
441
+     7,  6,  5,  5,  4,  4,  4,  3,  3,  3,  3,  4,  4,  5,  5,  5,
442
+     7,
443
+};
444
+static const uint8_t bitalloc_17_bits_d[17] =
445
+{
446
+     9,  9,  8,  7,  6,  5,  4,  3,  1,  3,  4,  5,  6,  7,  8,  9,
447
+     9,
448
+};
449
+static const uint8_t bitalloc_17_bits_e[17] =
450
+{
451
+     8,  8,  7,  6,  6,  5,  5,  3,  1,  3,  4,  5,  6,  6,  7,  8,
452
+     8,
453
+};
454
+static const uint8_t bitalloc_17_bits_f[17] =
455
+{
456
+     8,  7,  6,  5,  4,  4,  3,  3,  3,  3,  3,  4,  4,  5,  6,  6,
457
+     8,
458
+};
459
+static const uint8_t bitalloc_17_bits_g[17] =
460
+{
461
+     8,  8,  7,  6,  5,  4,  3,  3,  2,  3,  3,  4,  5,  6,  7,  8,
462
+     8,
463
+};
464
+
465
+static const uint16_t bitalloc_25_codes_a[25] =
466
+{
467
+    0x2854, 0x142B, 0x050B, 0x0143, 0x00A2, 0x0052, 0x002E, 0x0015,
468
+    0x0004, 0x000E, 0x0000, 0x0003, 0x0006, 0x0004, 0x0001, 0x000F,
469
+    0x0005, 0x0016, 0x002F, 0x0053, 0x00A3, 0x00A0, 0x0284, 0x0A14,
470
+    0x2855,
471
+};
472
+static const uint16_t bitalloc_25_codes_b[25] =
473
+{
474
+    0x001C, 0x000F, 0x0005, 0x0000, 0x0030, 0x0036, 0x000E, 0x0019,
475
+    0x0001, 0x0008, 0x000E, 0x0001, 0x0005, 0x0002, 0x000F, 0x0009,
476
+    0x0006, 0x001A, 0x000F, 0x0037, 0x0031, 0x0001, 0x0006, 0x0004,
477
+    0x001D,
478
+};
479
+static const uint16_t bitalloc_25_codes_c[25] =
480
+{
481
+    0x004C, 0x0027, 0x006D, 0x0028, 0x0037, 0x000E, 0x0015, 0x0000,
482
+    0x0005, 0x0008, 0x000B, 0x000E, 0x0001, 0x000F, 0x000C, 0x0009,
483
+    0x0006, 0x0001, 0x001A, 0x000F, 0x0008, 0x0029, 0x0012, 0x006C,
484
+    0x004D,
485
+};
486
+static const uint16_t bitalloc_25_codes_d[25] =
487
+{
488
+    0x0780, 0x0782, 0x03C2, 0x01E2, 0x00FE, 0x0079, 0x003D, 0x001C,
489
+    0x000C, 0x0004, 0x0000, 0x0006, 0x0002, 0x0007, 0x0001, 0x0005,
490
+    0x000D, 0x001D, 0x003E, 0x007E, 0x00FF, 0x01E3, 0x03C3, 0x0783,
491
+    0x0781,
492
+};
493
+static const uint16_t bitalloc_25_codes_e[25] =
494
+{
495
+    0x003C, 0x0092, 0x0018, 0x001F, 0x004E, 0x000D, 0x0025, 0x0004,
496
+    0x0010, 0x0000, 0x000A, 0x0002, 0x0003, 0x0003, 0x000B, 0x0001,
497
+    0x0011, 0x0005, 0x0026, 0x000E, 0x004F, 0x0048, 0x0019, 0x0093,
498
+    0x003D,
499
+};
500
+static const uint16_t bitalloc_25_codes_f[25] =
501
+{
502
+    0x0324, 0x0193, 0x00CE, 0x0065, 0x0024, 0x000C, 0x0013, 0x0004,
503
+    0x0007, 0x000A, 0x000D, 0x000F, 0x0001, 0x0000, 0x000E, 0x000B,
504
+    0x0008, 0x0005, 0x0018, 0x000D, 0x0025, 0x0066, 0x00CF, 0x00C8,
505
+    0x0325,
506
+};
507
+static const uint16_t bitalloc_25_codes_g[25] =
508
+{
509
+    0x03A8, 0x03AE, 0x01D5, 0x0094, 0x0014, 0x004B, 0x000B, 0x003B,
510
+    0x0013, 0x0003, 0x000F, 0x0005, 0x0001, 0x0006, 0x0000, 0x0008,
511
+    0x001C, 0x0004, 0x0024, 0x0074, 0x0015, 0x0095, 0x01D6, 0x03AF,
512
+    0x03A9,
513
+};
514
+static const uint8_t bitalloc_25_bits_a[25] =
515
+{
516
+    14, 13, 11,  9,  8,  7,  6,  5,  4,  4,  3,  3,  3,  3,  3,  4,
517
+     4,  5,  6,  7,  8,  8, 10, 12, 14,
518
+};
519
+static const uint8_t bitalloc_25_bits_b[25] =
520
+{
521
+     9,  8,  7,  6,  6,  6,  5,  5,  4,  4,  4,  3,  3,  3,  4,  4,
522
+     4,  5,  5,  6,  6,  6,  7,  7,  9,
523
+};
524
+static const uint8_t bitalloc_25_bits_c[25] =
525
+{
526
+     8,  7,  7,  6,  6,  5,  5,  4,  4,  4,  4,  4,  3,  4,  4,  4,
527
+     4,  4,  5,  5,  5,  6,  6,  7,  8,
528
+};
529
+static const uint8_t bitalloc_25_bits_d[25] =
530
+{
531
+    12, 12, 11, 10,  9,  8,  7,  6,  5,  4,  3,  3,  2,  3,  3,  4,
532
+     5,  6,  7,  8,  9, 10, 11, 12, 12,
533
+};
534
+static const uint8_t bitalloc_25_bits_e[25] =
535
+{
536
+     8,  8,  7,  7,  7,  6,  6,  5,  5,  4,  4,  3,  2,  3,  4,  4,
537
+     5,  5,  6,  6,  7,  7,  7,  8,  8,
538
+};
539
+static const uint8_t bitalloc_25_bits_f[25] =
540
+{
541
+    10,  9,  8,  7,  6,  5,  5,  4,  4,  4,  4,  4,  3,  3,  4,  4,
542
+     4,  4,  5,  5,  6,  7,  8,  8, 10,
543
+};
544
+static const uint8_t bitalloc_25_bits_g[25] =
545
+{
546
+    10, 10,  9,  8,  7,  7,  6,  6,  5,  4,  4,  3,  2,  3,  3,  4,
547
+     5,  5,  6,  7,  7,  8,  9, 10, 10,
548
+};
549
+
550
+static const uint16_t bitalloc_33_codes_a[33] =
551
+{
552
+    0x1580, 0x1582, 0x0AC2, 0x0562, 0x02B2, 0x015E, 0x00AD, 0x0054,
553
+    0x001C, 0x003C, 0x000F, 0x001F, 0x0008, 0x000B, 0x000D, 0x0000,
554
+    0x0002, 0x0001, 0x000E, 0x000C, 0x0009, 0x0006, 0x0014, 0x003D,
555
+    0x001D, 0x0055, 0x00AE, 0x015F, 0x02B3, 0x0563, 0x0AC3, 0x1583,
556
+    0x1581,
557
+};
558
+static const uint16_t bitalloc_33_codes_b[33] =
559
+{
560
+    0x030C, 0x0187, 0x006D, 0x0028, 0x0037, 0x0066, 0x0015, 0x0031,
561
+    0x0000, 0x000B, 0x0012, 0x001A, 0x0001, 0x0007, 0x000A, 0x000E,
562
+    0x0001, 0x000F, 0x000B, 0x0008, 0x0004, 0x001B, 0x0013, 0x000C,
563
+    0x0001, 0x0032, 0x001A, 0x0067, 0x0060, 0x0029, 0x00C2, 0x006C,
564
+    0x030D,
565
+};
566
+static const uint16_t bitalloc_33_codes_c[33] =
567
+{
568
+    0x00CC, 0x0067, 0x0005, 0x0070, 0x0003, 0x001A, 0x0039, 0x003F,
569
+    0x000A, 0x0012, 0x0018, 0x001D, 0x0001, 0x0003, 0x0007, 0x000A,
570
+    0x000D, 0x000B, 0x0008, 0x0004, 0x0002, 0x001E, 0x0019, 0x0013,
571
+    0x000B, 0x0000, 0x003E, 0x001B, 0x0018, 0x0071, 0x0032, 0x0004,
572
+    0x00CD,
573
+};
574
+static const uint16_t bitalloc_33_codes_d[33] =
575
+{
576
+    0x3AF8, 0x3AFA, 0x1D7E, 0x0EBC, 0x075C, 0x03AC, 0x01D4, 0x0094,
577
+    0x0014, 0x004B, 0x000B, 0x003B, 0x0013, 0x0003, 0x000F, 0x0005,
578
+    0x0001, 0x0006, 0x0000, 0x0008, 0x001C, 0x0004, 0x0024, 0x0074,
579
+    0x0015, 0x0095, 0x01D5, 0x03AD, 0x075D, 0x0EBD, 0x1D7F, 0x3AFB,
580
+    0x3AF9,
581
+};
582
+static const uint16_t bitalloc_33_codes_e[33] =
583
+{
584
+    0x01C8, 0x01E6, 0x0064, 0x00E2, 0x00E5, 0x0030, 0x0033, 0x0073,
585
+    0x007A, 0x001A, 0x003A, 0x0002, 0x001A, 0x001F, 0x0007, 0x0001,
586
+    0x0002, 0x0002, 0x000C, 0x0000, 0x001B, 0x0003, 0x003B, 0x001B,
587
+    0x007B, 0x0078, 0x0070, 0x0031, 0x00F2, 0x00E3, 0x0065, 0x01E7,
588
+    0x01C9,
589
+};
590
+static const uint16_t bitalloc_33_codes_f[33] =
591
+{
592
+    0x0724, 0x0393, 0x01CE, 0x00E5, 0x002C, 0x0008, 0x0017, 0x003E,
593
+    0x0005, 0x0014, 0x001D, 0x0000, 0x0003, 0x0006, 0x0008, 0x000B,
594
+    0x000D, 0x000C, 0x0009, 0x0007, 0x0004, 0x0001, 0x001E, 0x0015,
595
+    0x000A, 0x003F, 0x0038, 0x0009, 0x002D, 0x00E6, 0x01CF, 0x01C8,
596
+    0x0725,
597
+};
598
+static const uint16_t bitalloc_33_codes_g[33] =
599
+{
600
+    0x0284, 0x0042, 0x0140, 0x0143, 0x003E, 0x00BE, 0x0011, 0x0051,
601
+    0x0009, 0x0029, 0x0005, 0x0015, 0x0000, 0x0008, 0x000E, 0x0002,
602
+    0x0006, 0x0003, 0x000F, 0x0009, 0x0001, 0x0016, 0x0006, 0x002E,
603
+    0x000E, 0x005E, 0x001E, 0x00BF, 0x003F, 0x0020, 0x0141, 0x0043,
604
+    0x0285,
605
+};
606
+static const uint8_t bitalloc_33_bits_a[33] =
607
+{
608
+    13, 13, 12, 11, 10,  9,  8,  7,  6,  6,  5,  5,  4,  4,  4,  3,
609
+     3,  3,  4,  4,  4,  4,  5,  6,  6,  7,  8,  9, 10, 11, 12, 13,
610
+    13,
611
+};
612
+static const uint8_t bitalloc_33_bits_b[33] =
613
+{
614
+    10,  9,  8,  7,  7,  7,  6,  6,  5,  5,  5,  5,  4,  4,  4,  4,
615
+     3,  4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  7,  7,  7,  8,  8,
616
+    10,
617
+};
618
+static const uint8_t bitalloc_33_bits_c[33] =
619
+{
620
+     9,  8,  7,  7,  6,  6,  6,  6,  5,  5,  5,  5,  4,  4,  4,  4,
621
+     4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  6,  6,  6,  7,  7,  7,
622
+     9,
623
+};
624
+static const uint8_t bitalloc_33_bits_d[33] =
625
+{
626
+    14, 14, 13, 12, 11, 10,  9,  8,  7,  7,  6,  6,  5,  4,  4,  3,
627
+     2,  3,  3,  4,  5,  5,  6,  7,  7,  8,  9, 10, 11, 12, 13, 14,
628
+    14,
629
+};
630
+static const uint8_t bitalloc_33_bits_e[33] =
631
+{
632
+     9,  9,  8,  8,  8,  7,  7,  7,  7,  6,  6,  5,  5,  5,  4,  3,
633
+     2,  3,  4,  4,  5,  5,  6,  6,  7,  7,  7,  7,  8,  8,  8,  9,
634
+     9,
635
+};
636
+static const uint8_t bitalloc_33_bits_f[33] =
637
+{
638
+    11, 10,  9,  8,  7,  6,  6,  6,  5,  5,  5,  4,  4,  4,  4,  4,
639
+     4,  4,  4,  4,  4,  4,  5,  5,  5,  6,  6,  6,  7,  8,  9,  9,
640
+    11,
641
+};
642
+static const uint8_t bitalloc_33_bits_g[33] =
643
+{
644
+    10,  9,  9,  9,  8,  8,  7,  7,  6,  6,  5,  5,  4,  4,  4,  3,
645
+     3,  3,  4,  4,  4,  5,  5,  6,  6,  7,  7,  8,  8,  8,  9,  9,
646
+    10,
647
+};
648
+
649
+static const uint16_t bitalloc_65_codes_a[65] =
650
+{
651
+    0x9E5C, 0x9E5E, 0x4F2C, 0x2794, 0x13C4, 0x1E44, 0x09E3, 0x0F23,
652
+    0x04F3, 0x0792, 0x027E, 0x03CE, 0x013D, 0x01E5, 0x009C, 0x00CC,
653
+    0x0040, 0x0058, 0x0067, 0x001E, 0x0021, 0x002D, 0x003D, 0x0007,
654
+    0x0011, 0x0014, 0x0017, 0x001A, 0x001C, 0x001F, 0x0001, 0x0004,
655
+    0x0006, 0x0005, 0x0002, 0x0000, 0x001D, 0x001B, 0x0018, 0x0015,
656
+    0x0012, 0x000E, 0x0006, 0x0032, 0x0026, 0x001F, 0x0078, 0x0059,
657
+    0x0041, 0x00CD, 0x009D, 0x01E6, 0x013E, 0x03CF, 0x027F, 0x0793,
658
+    0x0790, 0x04F0, 0x09E4, 0x1E45, 0x13C5, 0x2795, 0x4F2D, 0x9E5F,
659
+    0x9E5D,
660
+};
661
+static const uint16_t bitalloc_65_codes_b[65] =
662
+{
663
+    0x0A8C, 0x0547, 0x01B5, 0x0008, 0x00DB, 0x0152, 0x0005, 0x000B,
664
+    0x008E, 0x00AE, 0x00E4, 0x0003, 0x0037, 0x0039, 0x0055, 0x006C,
665
+    0x0073, 0x0003, 0x0015, 0x001D, 0x0028, 0x0030, 0x0037, 0x003E,
666
+    0x0006, 0x000B, 0x000F, 0x0012, 0x0016, 0x0019, 0x001D, 0x0001,
667
+    0x0004, 0x0002, 0x001E, 0x001A, 0x0017, 0x0013, 0x0010, 0x000C,
668
+    0x0007, 0x003F, 0x0038, 0x0031, 0x0029, 0x0022, 0x001A, 0x0014,
669
+    0x0000, 0x006D, 0x0056, 0x0046, 0x0038, 0x0004, 0x00E5, 0x00AF,
670
+    0x008F, 0x006C, 0x000A, 0x0153, 0x0150, 0x0009, 0x02A2, 0x01B4,
671
+    0x0A8D,
672
+};
673
+static const uint16_t bitalloc_65_codes_c[65] =
674
+{
675
+    0x045C, 0x022F, 0x03F5, 0x01BC, 0x01FB, 0x0059, 0x00D0, 0x00DF,
676
+    0x000A, 0x002D, 0x002F, 0x0052, 0x0069, 0x0078, 0x007F, 0x000A,
677
+    0x0010, 0x001C, 0x0023, 0x002A, 0x0035, 0x003A, 0x003D, 0x0000,
678
+    0x0003, 0x0006, 0x0009, 0x000C, 0x000F, 0x0012, 0x0016, 0x0018,
679
+    0x001C, 0x0019, 0x0017, 0x0013, 0x0010, 0x000D, 0x000A, 0x0007,
680
+    0x0004, 0x0001, 0x003E, 0x003B, 0x0036, 0x002B, 0x0028, 0x001D,
681
+    0x0011, 0x000B, 0x0004, 0x0079, 0x006E, 0x0053, 0x0044, 0x002E,
682
+    0x000B, 0x00FC, 0x00D1, 0x008A, 0x0058, 0x01BD, 0x0116, 0x03F4,
683
+    0x045D,
684
+};
685
+static const uint16_t bitalloc_65_codes_d[65] =
686
+{
687
+    0x70B0, 0x70B2, 0x70B4, 0x2852, 0x385B, 0x142E, 0x1C2E, 0x0A15,
688
+    0x0E14, 0x0214, 0x0704, 0x0104, 0x010B, 0x0383, 0x0083, 0x0143,
689
+    0x01C3, 0x0043, 0x00A2, 0x00E2, 0x0022, 0x0052, 0x0072, 0x0012,
690
+    0x002A, 0x003A, 0x000A, 0x0016, 0x001E, 0x0006, 0x000C, 0x0000,
691
+    0x0004, 0x0001, 0x000D, 0x0007, 0x001F, 0x0017, 0x000B, 0x003B,
692
+    0x002B, 0x0013, 0x0073, 0x0053, 0x0023, 0x00E3, 0x00A3, 0x00A0,
693
+    0x0040, 0x01C0, 0x0084, 0x0384, 0x0284, 0x0105, 0x0705, 0x0215,
694
+    0x0E15, 0x0A16, 0x1C2F, 0x142F, 0x1428, 0x2853, 0x70B5, 0x70B3,
695
+    0x70B1,
696
+};
697
+static const uint16_t bitalloc_65_codes_e[65] =
698
+{
699
+    0x032C, 0x0332, 0x0378, 0x037E, 0x008C, 0x014A, 0x0188, 0x0197,
700
+    0x019E, 0x01BD, 0x0044, 0x0047, 0x00AA, 0x00C5, 0x00CD, 0x00DC,
701
+    0x001C, 0x002C, 0x0053, 0x0063, 0x0068, 0x0008, 0x000F, 0x0017,
702
+    0x002B, 0x0035, 0x0005, 0x0009, 0x0016, 0x001C, 0x0006, 0x000F,
703
+    0x0004, 0x0000, 0x0007, 0x001D, 0x0017, 0x000A, 0x0006, 0x0036,
704
+    0x0030, 0x0028, 0x0010, 0x0009, 0x0069, 0x0064, 0x0054, 0x002D,
705
+    0x001D, 0x00DD, 0x00CE, 0x00CA, 0x00AB, 0x00A4, 0x0045, 0x01BE,
706
+    0x019F, 0x0198, 0x0189, 0x014B, 0x008D, 0x037F, 0x0379, 0x0333,
707
+    0x032D,
708
+};
709
+static const uint16_t bitalloc_65_codes_f[65] =
710
+{
711
+    0x0FE0, 0x0FE2, 0x0FE8, 0x0FEA, 0x0FEC, 0x0FEE, 0x0FF0, 0x0FF2,
712
+    0x0FF4, 0x2FF2, 0x07F2, 0x07FB, 0x03F6, 0x0BFA, 0x0BFD, 0x01FF,
713
+    0x05FF, 0x02FC, 0x007C, 0x017C, 0x003C, 0x00BC, 0x001C, 0x005C,
714
+    0x000C, 0x002C, 0x0004, 0x0014, 0x0000, 0x0008, 0x000E, 0x0002,
715
+    0x0006, 0x0003, 0x000F, 0x0009, 0x0001, 0x0015, 0x0005, 0x002D,
716
+    0x000D, 0x005D, 0x001D, 0x00BD, 0x003D, 0x017D, 0x007D, 0x02FD,
717
+    0x00FC, 0x05FC, 0x01FA, 0x0BFB, 0x03F7, 0x17F8, 0x07F3, 0x2FF3,
718
+    0x0FF5, 0x0FF3, 0x0FF1, 0x0FEF, 0x0FED, 0x0FEB, 0x0FE9, 0x0FE3,
719
+    0x0FE1,
720
+};
721
+static const uint16_t bitalloc_65_codes_g[65] =
722
+{
723
+    0x010C, 0x038A, 0x0608, 0x0786, 0x0084, 0x0087, 0x0302, 0x0305,
724
+    0x0040, 0x00E0, 0x00E3, 0x0183, 0x001E, 0x005E, 0x009E, 0x00DE,
725
+    0x00F1, 0x0011, 0x0039, 0x0061, 0x0079, 0x0009, 0x001D, 0x0031,
726
+    0x003D, 0x0005, 0x000F, 0x0019, 0x001F, 0x0003, 0x0006, 0x000A,
727
+    0x000E, 0x000B, 0x0008, 0x0004, 0x0000, 0x001A, 0x0012, 0x000A,
728
+    0x0002, 0x0036, 0x0026, 0x0016, 0x0006, 0x006E, 0x004E, 0x002E,
729
+    0x000E, 0x00DF, 0x009F, 0x005F, 0x001F, 0x01E0, 0x0180, 0x00E1,
730
+    0x0041, 0x03C2, 0x0303, 0x01C4, 0x0085, 0x0787, 0x0609, 0x038B,
731
+    0x010D,
732
+};
733
+static const uint8_t bitalloc_65_bits_a[65] =
734
+{
735
+    16, 16, 15, 14, 13, 13, 12, 12, 11, 11, 10, 10,  9,  9,  8,  8,
736
+     7,  7,  7,  6,  6,  6,  6,  5,  5,  5,  5,  5,  5,  5,  4,  4,
737
+     4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  7,  7,
738
+     7,  8,  8,  9,  9, 10, 10, 11, 11, 11, 12, 13, 13, 14, 15, 16,
739
+    16,
740
+};
741
+static const uint8_t bitalloc_65_bits_b[65] =
742
+{
743
+    12, 11, 10,  9,  9,  9,  8,  8,  8,  8,  8,  7,  7,  7,  7,  7,
744
+     7,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,  5,  5,  4,
745
+     4,  4,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,
746
+     6,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  9,  9,  9, 10, 10,
747
+    12,
748
+};
749
+static const uint8_t bitalloc_65_bits_c[65] =
750
+{
751
+    11, 10, 10,  9,  9,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,  6,
752
+     6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,
753
+     5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,
754
+     6,  6,  6,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  9,  9, 10,
755
+    11,
756
+};
757
+static const uint8_t bitalloc_65_bits_d[65] =
758
+{
759
+    15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 10,  9,  9,
760
+     9,  8,  8,  8,  7,  7,  7,  6,  6,  6,  5,  5,  5,  4,  4,  3,
761
+     3,  3,  4,  4,  5,  5,  5,  6,  6,  6,  7,  7,  7,  8,  8,  8,
762
+     8,  9,  9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 15, 15,
763
+    15,
764
+};
765
+static const uint8_t bitalloc_65_bits_e[65] =
766
+{
767
+    10, 10, 10, 10,  9,  9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,
768
+     7,  7,  7,  7,  7,  6,  6,  6,  6,  6,  5,  5,  5,  5,  4,  4,
769
+     3,  3,  4,  5,  5,  5,  5,  6,  6,  6,  6,  6,  7,  7,  7,  7,
770
+     7,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9, 10, 10, 10,
771
+    10,
772
+};
773
+static const uint8_t bitalloc_65_bits_f[65] =
774
+{
775
+    14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11,
776
+    11, 10,  9,  9,  8,  8,  7,  7,  6,  6,  5,  5,  4,  4,  4,  3,
777
+     3,  3,  4,  4,  4,  5,  5,  6,  6,  7,  7,  8,  8,  9,  9, 10,
778
+    10, 11, 11, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14,
779
+    14,
780
+};
781
+static const uint8_t bitalloc_65_bits_g[65] =
782
+{
783
+    11, 11, 11, 11, 10, 10, 10, 10,  9,  9,  9,  9,  8,  8,  8,  8,
784
+     8,  7,  7,  7,  7,  6,  6,  6,  6,  5,  5,  5,  5,  4,  4,  4,
785
+     4,  4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,
786
+     7,  8,  8,  8,  8,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11,
787
+    11,
788
+};
789
+
790
+static const uint16_t bitalloc_129_codes_a[129] =
791
+{
792
+    0x0660, 0x0666, 0x06EC, 0x0722, 0x0760, 0x076E, 0x004C, 0x004E,
793
+    0x00F4, 0x010A, 0x0148, 0x0156, 0x01D4, 0x01F2, 0x0331, 0x0370,
794
+    0x0377, 0x0396, 0x03B1, 0x0024, 0x0064, 0x007B, 0x008A, 0x00A5,
795
+    0x00D4, 0x00EB, 0x00FA, 0x019A, 0x01B9, 0x01C9, 0x01D9, 0x0010,
796
+    0x0030, 0x0033, 0x0043, 0x0053, 0x006B, 0x007A, 0x00CA, 0x00D2,
797
+    0x00DE, 0x00E6, 0x00F6, 0x000E, 0x001F, 0x0023, 0x002B, 0x003B,
798
+    0x003F, 0x0067, 0x0070, 0x0077, 0x0005, 0x000D, 0x0012, 0x001B,
799
+    0x002C, 0x0035, 0x003A, 0x0004, 0x000B, 0x0017, 0x001F, 0x0009,
800
+    0x0008, 0x000A, 0x0000, 0x0018, 0x000C, 0x0005, 0x003C, 0x0036,
801
+    0x002D, 0x001C, 0x0013, 0x000E, 0x0006, 0x007A, 0x0071, 0x0068,
802
+    0x0064, 0x003C, 0x0034, 0x0028, 0x0020, 0x000F, 0x00F7, 0x00E7,
803
+    0x00DF, 0x00D3, 0x00CB, 0x007B, 0x0074, 0x0054, 0x0044, 0x003C,
804
+    0x0031, 0x0011, 0x01DA, 0x01CA, 0x01BA, 0x019B, 0x00FB, 0x00F8,
805
+    0x00D5, 0x00AA, 0x008B, 0x0084, 0x0065, 0x0025, 0x03B6, 0x0397,
806
+    0x0390, 0x0371, 0x0332, 0x01F3, 0x01D5, 0x0157, 0x0149, 0x010B,
807
+    0x00F5, 0x004F, 0x004D, 0x076F, 0x0761, 0x0723, 0x06ED, 0x0667,
808
+    0x0661,
809
+};
810
+static const uint16_t bitalloc_129_codes_b[129] =
811
+{
812
+    0x29DC, 0x14EF, 0x0455, 0x0E9C, 0x022B, 0x0489, 0x0740, 0x074F,
813
+    0x0172, 0x0245, 0x0247, 0x030A, 0x03A1, 0x001C, 0x008B, 0x00D6,
814
+    0x010C, 0x0148, 0x014F, 0x0186, 0x01D1, 0x0008, 0x000F, 0x0046,
815
+    0x005D, 0x0078, 0x0087, 0x0096, 0x00A5, 0x00BC, 0x00D8, 0x00DE,
816
+    0x00F6, 0x0005, 0x0014, 0x0024, 0x002F, 0x003A, 0x003D, 0x0049,
817
+    0x0050, 0x0058, 0x005F, 0x0066, 0x006D, 0x0075, 0x007C, 0x0004,
818
+    0x000B, 0x0013, 0x0018, 0x001B, 0x001F, 0x0022, 0x0026, 0x002A,
819
+    0x002D, 0x0031, 0x0034, 0x0038, 0x003B, 0x003F, 0x0003, 0x0006,
820
+    0x000A, 0x0007, 0x0004, 0x0000, 0x003C, 0x0039, 0x0035, 0x0032,
821
+    0x002E, 0x002B, 0x0027, 0x0023, 0x0020, 0x001C, 0x0019, 0x0016,
822
+    0x0010, 0x0005, 0x007D, 0x007A, 0x006E, 0x0067, 0x0060, 0x0059,
823
+    0x0051, 0x004A, 0x0042, 0x003B, 0x0034, 0x0025, 0x0015, 0x0006,
824
+    0x00F7, 0x00DF, 0x00D9, 0x00BD, 0x00A6, 0x0097, 0x0090, 0x0079,
825
+    0x006A, 0x0047, 0x0044, 0x0009, 0x01D2, 0x0187, 0x0184, 0x0149,
826
+    0x010D, 0x00D7, 0x00B8, 0x001D, 0x03A6, 0x030B, 0x029C, 0x0246,
827
+    0x0173, 0x0114, 0x0741, 0x053A, 0x0488, 0x0E9D, 0x0A76, 0x0454,
828
+    0x29DD,
829
+};
830
+static const uint16_t bitalloc_129_codes_c[129] =
831
+{
832
+    0x0E5C, 0x072F, 0x001D, 0x0724, 0x000F, 0x010D, 0x0324, 0x0393,
833
+    0x03E9, 0x0080, 0x0087, 0x00FA, 0x0164, 0x0193, 0x01DE, 0x01F5,
834
+    0x0010, 0x002A, 0x0041, 0x0064, 0x0073, 0x008E, 0x00A4, 0x00B3,
835
+    0x00D6, 0x00E5, 0x00F4, 0x00FB, 0x0002, 0x0009, 0x0013, 0x001E,
836
+    0x0026, 0x002C, 0x0033, 0x003F, 0x0041, 0x004C, 0x0053, 0x005E,
837
+    0x0065, 0x0070, 0x0073, 0x0078, 0x007B, 0x007E, 0x0002, 0x0005,
838
+    0x0007, 0x000B, 0x000D, 0x0011, 0x0014, 0x0017, 0x001A, 0x001D,
839
+    0x0021, 0x0024, 0x0027, 0x002A, 0x002D, 0x0030, 0x0033, 0x0036,
840
+    0x003A, 0x0037, 0x0034, 0x0031, 0x002E, 0x002B, 0x0028, 0x0025,
841
+    0x0022, 0x001E, 0x001B, 0x0018, 0x0015, 0x0012, 0x000E, 0x000C,
842
+    0x0008, 0x0006, 0x0003, 0x007F, 0x007C, 0x0079, 0x0076, 0x0071,
843
+    0x006A, 0x005F, 0x0058, 0x004D, 0x0046, 0x0040, 0x0038, 0x002D,
844
+    0x0027, 0x001F, 0x0014, 0x0012, 0x0003, 0x0000, 0x00F5, 0x00EE,
845
+    0x00D7, 0x00C8, 0x00A5, 0x008F, 0x007C, 0x0065, 0x0042, 0x002B,
846
+    0x0011, 0x0002, 0x01DF, 0x01C8, 0x0165, 0x00FB, 0x00E4, 0x0081,
847
+    0x0006, 0x03E8, 0x0325, 0x01CA, 0x010C, 0x0725, 0x0396, 0x001C,
848
+    0x0E5D,
849
+};
850
+static const uint16_t bitalloc_129_codes_d[129] =
851
+{
852
+    0xA598, 0xA59A, 0xA59C, 0xA59E, 0xC598, 0xE586, 0x3ACC, 0x52CA,
853
+    0x62CD, 0x0D48, 0x1D67, 0x2978, 0x3167, 0x3966, 0x06A5, 0x0EBC,
854
+    0x14BD, 0x1CB1, 0x0350, 0x0353, 0x075F, 0x0A5F, 0x0C5E, 0x0E5E,
855
+    0x01AE, 0x03AD, 0x052D, 0x062D, 0x072D, 0x00D5, 0x01D4, 0x0294,
856
+    0x0314, 0x0394, 0x0014, 0x0094, 0x0114, 0x0174, 0x01B4, 0x01F4,
857
+    0x000B, 0x004B, 0x008B, 0x00BB, 0x00DB, 0x00FB, 0x001B, 0x003B,
858
+    0x0053, 0x0063, 0x0073, 0x0003, 0x0013, 0x0023, 0x002F, 0x0037,
859
+    0x003F, 0x0007, 0x000F, 0x0015, 0x0019, 0x001D, 0x0001, 0x0005,
860
+    0x0009, 0x0006, 0x0002, 0x001E, 0x001A, 0x0016, 0x0010, 0x0008,
861
+    0x0000, 0x0038, 0x0030, 0x0028, 0x001C, 0x000C, 0x007C, 0x006C,
862
+    0x005C, 0x0044, 0x0024, 0x0004, 0x00E4, 0x00C4, 0x00A4, 0x0074,
863
+    0x0034, 0x01F5, 0x01B5, 0x0175, 0x0115, 0x0095, 0x0015, 0x0395,
864
+    0x0315, 0x0295, 0x01D5, 0x00D6, 0x072E, 0x062E, 0x052E, 0x03AE,
865
+    0x01AF, 0x0E5F, 0x0C5F, 0x0C58, 0x0A58, 0x0758, 0x0351, 0x1CB2,
866
+    0x18B2, 0x0EBD, 0x0EB2, 0x3967, 0x3960, 0x2979, 0x2964, 0x0D49,
867
+    0x72C2, 0x52CB, 0x3ACD, 0xE587, 0xC599, 0xA59F, 0xA59D, 0xA59B,
868
+    0xA599,
869
+};
870
+static const uint16_t bitalloc_129_codes_e[129] =
871
+{
872
+    0xA13C, 0xC720, 0xA13F, 0xA13E, 0xA13D, 0xE722, 0x5090, 0x6393,
873
+    0x7392, 0x2849, 0x31CE, 0x39CE, 0x1425, 0x18E5, 0x1CE5, 0x0844,
874
+    0x0A1C, 0x0C7C, 0x036C, 0x0423, 0x050F, 0x063F, 0x01B7, 0x0216,
875
+    0x0285, 0x031D, 0x039D, 0x0109, 0x0140, 0x0180, 0x01C8, 0x01CF,
876
+    0x007A, 0x008A, 0x00A2, 0x00C1, 0x00E5, 0x0014, 0x0037, 0x0043,
877
+    0x004E, 0x0056, 0x0061, 0x006C, 0x007C, 0x000B, 0x001C, 0x001F,
878
+    0x0023, 0x0025, 0x0029, 0x002C, 0x002E, 0x0032, 0x0034, 0x0037,
879
+    0x003A, 0x003C, 0x003F, 0x0001, 0x0003, 0x0006, 0x0008, 0x000A,
880
+    0x000C, 0x000B, 0x0009, 0x0007, 0x0004, 0x0002, 0x0000, 0x003D,
881
+    0x003B, 0x0038, 0x0035, 0x0033, 0x002F, 0x002D, 0x002A, 0x0026,
882
+    0x0024, 0x0020, 0x001D, 0x001A, 0x007D, 0x006D, 0x0062, 0x0057,
883
+    0x004F, 0x0044, 0x003C, 0x0015, 0x00E6, 0x00C6, 0x00A3, 0x008B,
884
+    0x007B, 0x006C, 0x01C9, 0x0181, 0x0141, 0x010A, 0x00DA, 0x031E,
885
+    0x0286, 0x0217, 0x0210, 0x0738, 0x0638, 0x0508, 0x036D, 0x0C7D,
886
+    0x0A1D, 0x0845, 0x1CE6, 0x18E6, 0x1426, 0x39CF, 0x31CF, 0x284E,
887
+    0x7393, 0x7390, 0x5091, 0xE723, 0xC724, 0xC725, 0xC722, 0xC723,
888
+    0xC721,
889
+};
890
+static const uint16_t bitalloc_129_codes_f[129] =
891
+{
892
+    0x762C, 0x3B17, 0x1555, 0x0608, 0x0AAB, 0x0FF2, 0x0305, 0x0307,
893
+    0x0763, 0x0046, 0x010C, 0x01BC, 0x02AB, 0x03B6, 0x03FD, 0x0080,
894
+    0x0087, 0x00DF, 0x0156, 0x01D9, 0x01F8, 0x01FF, 0x002A, 0x0041,
895
+    0x0061, 0x0094, 0x00D4, 0x00EA, 0x00F2, 0x00FD, 0x0009, 0x000B,
896
+    0x001A, 0x0026, 0x0031, 0x0040, 0x004B, 0x006B, 0x0073, 0x0077,
897
+    0x007A, 0x007C, 0x0000, 0x0002, 0x0006, 0x0008, 0x000B, 0x000E,
898
+    0x0011, 0x0014, 0x0016, 0x0019, 0x001C, 0x001E, 0x0021, 0x0023,
899
+    0x0026, 0x0028, 0x002B, 0x002D, 0x002F, 0x0031, 0x0033, 0x0036,
900
+    0x0038, 0x0037, 0x0034, 0x0032, 0x0030, 0x002E, 0x002C, 0x0029,
901
+    0x0027, 0x0024, 0x0022, 0x001F, 0x001D, 0x001A, 0x0017, 0x0015,
902
+    0x0012, 0x000F, 0x000C, 0x0009, 0x0007, 0x0003, 0x0001, 0x007D,
903
+    0x007B, 0x0078, 0x0074, 0x0072, 0x0054, 0x0041, 0x0036, 0x0027,
904
+    0x001B, 0x0014, 0x000A, 0x00FE, 0x00F3, 0x00EB, 0x00D5, 0x0095,
905
+    0x006E, 0x0042, 0x002B, 0x0010, 0x01F9, 0x01DA, 0x0157, 0x0154,
906
+    0x00C0, 0x0081, 0x0022, 0x03B7, 0x03B0, 0x01BD, 0x010D, 0x0047,
907
+    0x07F8, 0x0554, 0x0306, 0x0FF3, 0x0EC4, 0x0609, 0x1D8A, 0x1554,
908
+    0x762D,
909
+};
910
+static const uint16_t bitalloc_129_codes_g[129] =
911
+{
912
+    0x1E20, 0x1E5E, 0x031C, 0x051A, 0x0718, 0x0916, 0x0B14, 0x0D12,
913
+    0x0F11, 0x0090, 0x018F, 0x028E, 0x038D, 0x048C, 0x058B, 0x068A,
914
+    0x0789, 0x0049, 0x00C8, 0x0148, 0x01C7, 0x0247, 0x02C6, 0x0346,
915
+    0x03C5, 0x0025, 0x0065, 0x00A5, 0x00E4, 0x0124, 0x0164, 0x01A4,
916
+    0x01E3, 0x0013, 0x0033, 0x0053, 0x0073, 0x0093, 0x00B3, 0x00D3,
917
+    0x00F3, 0x000A, 0x001A, 0x002A, 0x003A, 0x004A, 0x005A, 0x006A,
918
+    0x007A, 0x0006, 0x000E, 0x0016, 0x001E, 0x0026, 0x002E, 0x0036,
919
+    0x003E, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
920
+    0x0000, 0x001D, 0x0019, 0x0015, 0x0011, 0x000D, 0x0009, 0x0005,
921
+    0x003F, 0x0037, 0x002F, 0x0027, 0x001F, 0x0017, 0x000F, 0x0007,
922
+    0x007B, 0x006B, 0x005B, 0x004B, 0x003B, 0x002B, 0x001B, 0x000B,
923
+    0x0008, 0x00F0, 0x00D0, 0x00B0, 0x0090, 0x0070, 0x0050, 0x0030,
924
+    0x01E4, 0x01A5, 0x0165, 0x0125, 0x00E5, 0x00E2, 0x00A2, 0x0062,
925
+    0x03CA, 0x0347, 0x02C7, 0x02C4, 0x0244, 0x0149, 0x00C9, 0x00C6,
926
+    0x0796, 0x068B, 0x0688, 0x048D, 0x048A, 0x028F, 0x028C, 0x0091,
927
+    0x0F2E, 0x0D13, 0x0B15, 0x0917, 0x0719, 0x051B, 0x031D, 0x1E5F,
928
+    0x1E21,
929
+};
930
+static const uint8_t bitalloc_129_bits_a[129] =
931
+{
932
+    11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
933
+    10, 10, 10,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  8,
934
+     8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  7,  7,
935
+     7,  7,  7,  7,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  4,
936
+     4,  4,  4,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  7,  7,  7,
937
+     7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
938
+     8,  8,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 10, 10,
939
+    10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,
940
+    11,
941
+};
942
+static const uint8_t bitalloc_129_bits_b[129] =
943
+{
944
+    14, 13, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10,  9,  9,  9,
945
+     9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
946
+     8,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  6,
947
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,
948
+     5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
949
+     6,  6,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
950
+     8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,
951
+     9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12,
952
+    14,
953
+};
954
+static const uint8_t bitalloc_129_bits_c[129] =
955
+{
956
+    13, 12, 11, 11, 10, 10, 10, 10, 10,  9,  9,  9,  9,  9,  9,  9,
957
+     8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  7,
958
+     7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  6,  6,
959
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
960
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
961
+     6,  6,  6,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
962
+     7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
963
+     8,  8,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11,
964
+    13,
965
+};
966
+static const uint8_t bitalloc_129_bits_d[129] =
967
+{
968
+    16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13,
969
+    13, 13, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10,
970
+    10, 10,  9,  9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,  7,  7,
971
+     7,  7,  7,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,  4,  4,
972
+     4,  4,  4,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  7,  7,
973
+     7,  7,  7,  7,  8,  8,  8,  8,  8,  9,  9,  9,  9,  9,  9, 10,
974
+    10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13,
975
+    13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,
976
+    16,
977
+};
978
+static const uint8_t bitalloc_129_bits_e[129] =
979
+{
980
+    16, 16, 16, 16, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12,
981
+    12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 10,  9,  9,  9,  9,  9,
982
+     8,  8,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,  7,  6,  6,  6,
983
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,
984
+     5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,  6,
985
+     6,  6,  6,  6,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,
986
+     8,  8,  9,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 11, 12,
987
+    12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 16,
988
+    16,
989
+};
990
+static const uint8_t bitalloc_129_bits_f[129] =
991
+{
992
+    15, 14, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 10, 10, 10,  9,
993
+     9,  9,  9,  9,  9,  9,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,
994
+     7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  6,  6,  6,  6,  6,  6,
995
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
996
+     6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
997
+     6,  6,  6,  6,  6,  6,  6,  7,  7,  7,  7,  7,  7,  7,  7,  7,
998
+     7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9,  9,  9,
999
+     9,  9,  9, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13,
1000
+    15,
1001
+};
1002
+static const uint8_t bitalloc_129_bits_g[129] =
1003
+{
1004
+    13, 13, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11,
1005
+    11, 10, 10, 10, 10, 10, 10, 10, 10,  9,  9,  9,  9,  9,  9,  9,
1006
+     9,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  7,  7,  7,  7,
1007
+     7,  6,  6,  6,  6,  6,  6,  6,  6,  5,  5,  5,  5,  5,  5,  5,
1008
+     4,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,  6,  6,  6,
1009
+     7,  7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,
1010
+     9,  9,  9,  9,  9,  9,  9,  9, 10, 10, 10, 10, 10, 10, 10, 10,
1011
+    11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 13,
1012
+    13,
1013
+};
1014
+
1015
+static const uint8_t bitalloc_sizes[10] = { 3, 5, 7, 9, 13, 17, 25, 33, 65, 129 };
1016
+
1017
+static const uint8_t bitalloc_offsets[10] =
1018
+    { -1, -2, -3, -4, -6, -8, -12, -16, -32, -64 };
1019
+
1020
+static const uint8_t bitalloc_maxbits[10][7] = {
1021
+    { 2 },
1022
+    { 4, 3, 3 },
1023
+    { 5, 5, 4 },
1024
+    { 6, 5, 6 },
1025
+    { 7, 6, 5 },
1026
+    { 9, 8, 7, 9, 8, 8, 8 },
1027
+    { 9, 9, 8, 9, 8, 9, 9 },
1028
+    { 9, 9, 9, 9, 9, 9, 9 },
1029
+    { 9, 9, 9, 9, 9, 9, 9 },
1030
+    { 9, 9, 9, 9, 9, 9, 9 }
1031
+};
1032
+
1033
+static const uint16_t* bitalloc_codes[10][8] = {
1034
+  { bitalloc_3_codes, NULL },
1035
+  { bitalloc_5_codes_a,  bitalloc_5_codes_b,  bitalloc_5_codes_c,  NULL },
1036
+  { bitalloc_7_codes_a,  bitalloc_7_codes_b,  bitalloc_7_codes_c,  NULL },
1037
+  { bitalloc_9_codes_a,  bitalloc_9_codes_b,  bitalloc_9_codes_c,  NULL },
1038
+  { bitalloc_13_codes_a, bitalloc_13_codes_b, bitalloc_13_codes_c, NULL },
1039
+  { bitalloc_17_codes_a, bitalloc_17_codes_b, bitalloc_17_codes_c, bitalloc_17_codes_d,
1040
+    bitalloc_17_codes_e, bitalloc_17_codes_f, bitalloc_17_codes_g, NULL },
1041
+  { bitalloc_25_codes_a, bitalloc_25_codes_b, bitalloc_25_codes_c, bitalloc_25_codes_d,
1042
+    bitalloc_25_codes_e, bitalloc_25_codes_f, bitalloc_25_codes_g, NULL },
1043
+  { bitalloc_33_codes_a, bitalloc_33_codes_b, bitalloc_33_codes_c, bitalloc_33_codes_d,
1044
+    bitalloc_33_codes_e, bitalloc_33_codes_f, bitalloc_33_codes_g, NULL },
1045
+  { bitalloc_65_codes_a, bitalloc_65_codes_b, bitalloc_65_codes_c, bitalloc_65_codes_d,
1046
+    bitalloc_65_codes_e, bitalloc_65_codes_f, bitalloc_65_codes_g, NULL },
1047
+  { bitalloc_129_codes_a, bitalloc_129_codes_b, bitalloc_129_codes_c, bitalloc_129_codes_d,
1048
+    bitalloc_129_codes_e, bitalloc_129_codes_f, bitalloc_129_codes_g, NULL }
1049
+};
1050
+
1051
+static const uint8_t* bitalloc_bits[10][8] = {
1052
+  { bitalloc_3_bits, NULL },
1053
+  { bitalloc_5_bits_a,  bitalloc_5_bits_b,  bitalloc_5_bits_c,  NULL },
1054
+  { bitalloc_7_bits_a,  bitalloc_7_bits_b,  bitalloc_7_bits_c,  NULL },
1055
+  { bitalloc_9_bits_a,  bitalloc_9_bits_b,  bitalloc_9_bits_c,  NULL },
1056
+  { bitalloc_13_bits_a, bitalloc_13_bits_b, bitalloc_13_bits_c, NULL },
1057
+  { bitalloc_17_bits_a, bitalloc_17_bits_b, bitalloc_17_bits_c, bitalloc_17_bits_d,
1058
+    bitalloc_17_bits_e, bitalloc_17_bits_f, bitalloc_17_bits_g, NULL },
1059
+  { bitalloc_25_bits_a, bitalloc_25_bits_b, bitalloc_25_bits_c, bitalloc_25_bits_d,
1060
+    bitalloc_25_bits_e, bitalloc_25_bits_f, bitalloc_25_bits_g, NULL },
1061
+  { bitalloc_33_bits_a, bitalloc_33_bits_b, bitalloc_33_bits_c, bitalloc_33_bits_d,
1062
+    bitalloc_33_bits_e, bitalloc_33_bits_f, bitalloc_33_bits_g, NULL },
1063
+  { bitalloc_65_bits_a, bitalloc_65_bits_b, bitalloc_65_bits_c, bitalloc_65_bits_d,
1064
+    bitalloc_65_bits_e, bitalloc_65_bits_f, bitalloc_65_bits_g, NULL },
1065
+  { bitalloc_129_bits_a, bitalloc_129_bits_b, bitalloc_129_bits_c, bitalloc_129_bits_d,
1066
+    bitalloc_129_bits_e, bitalloc_129_bits_f, bitalloc_129_bits_g, NULL }
1067
+};