Remove unused entries from lpc_refl_cb*
[ffmpeg.git] / libavcodec / ra144.h
1 /*
2  * Real Audio 1.0 (14.4K)
3  * Copyright (c) 2003 the ffmpeg project
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 #ifndef FFMPEG_RA144_H
23 #define FFMPEG_RA144_H
24
25 #include <stdint.h>
26
27 /* 14.4 data tables */
28 static const int16_t gain_val_tab[256][3] = {
29     {541,  956,  768}, {877,  581,  568}, {675,  787,  635}, {624,  732,  668},
30     {623,  839,  697}, {640,  693,  991}, {925,  687,  608}, {552,  797,  572},
31     {535,  832,  799}, {762,  605,  577}, {832,  561, 1003}, {590,  687,  588},
32     {646,  901,  732}, {828,  689,  896}, {875,  624,  848}, {571,  942, 1022},
33     {824,  736,  643}, {517,  765,  512}, {562,  908,  761}, {694,  913,  675},
34     {704,  524,  672}, {721,  757,  558}, {884,  551,  633}, {558, 1007,  846},
35     {932,  746,  777}, {566,  822,  926}, {613,  771,  611}, {737,  671, 1008},
36     {651,  594,  579}, {801,  636,  564}, {852,  910,  719}, {998,  614,  575},
37     {665,  935,  628}, {631,  596,  829}, {644,  926,  526}, {879,  988,  613},
38     {941,  692,  693}, {565,  672,  576}, {547,  628,  740}, {639,  532,  537},
39     {955,  604,  598}, {562,  580,  900}, {603,  899,  621}, {746,  533,  624},
40     {729,  514,  735}, {853,  551,  692}, {949, 1018, 1004}, {544,  988,  735},
41     {789,  782,  821}, {897,  516,  754}, {517,  702,  828}, {586,  818,  763},
42     {907,  652,  592}, {528,  652,  642}, {531,  708,  780}, {666,  625,  727},
43     {947,  727,  554}, {549,  657,  981}, {605,  920,  852}, {624,  619,  983},
44     {605,  909,  547}, {690,  935,  516}, {700,  612,  853}, {767,  832,  574},
45     {523,  898,  923}, {722,  958,  691}, {613,  771,  928}, {758,  757,  584},
46     {512,  567,  577}, {615,  638,  698}, {574,  642,  589}, {993,  682,  878},
47     {539,  890,  913}, {694,  928,  544}, {805,  600,  680}, {540,  951,  782},
48     {816,  950,  590}, {955,  847,  811}, {547,  883,  556}, {652,  888,  604},
49     {863,  585,  855}, {1023, 997,  516}, {932,  614,  640}, {627,  564,  573},
50     {876,  900,  724}, {515,  857,  896}, {647,  953,  879}, {806,  854,  857},
51     {545,  583,  631}, {657,  601,  751}, {740,  905,  795}, {841, 1016,  568},
52     {747,  589,  983}, {878,  613,  526}, {864,  723,  779}, {534,  674,  774},
53     {950,  649,  939}, {590,  703,  899}, {618,  527,  579}, {725,  647,  972},
54     {641,  647,  707}, {730,  663,  644}, {807,  572,  578}, {879,  611,  821},
55     {667,  729,  841}, {782,  585,  751}, {802,  733,  976}, {850,  871,  708},
56     {870,  743,  704}, {941,  899,  585}, {943,  632,  875}, {1023, 732,  638},
57     {778,  753,  655}, {843,  945,  945}, {942,  969,  572}, {1008, 559,  854},
58     {868,  729,  787}, {970,  686,  547}, {535,  635,  674}, {560,  636,  828},
59     {994,  592,  833}, {548,  621,  694}, {550,  801,  955}, {582,  522,  646},
60     {606,  625,  818}, {623,  591,  874}, {669,  535, 1001}, {701,  938,  592},
61     {925,  820,  738}, {735,  790,  544}, {575,  788,  674}, {655,  783,  528},
62     {527,  513,  677}, {782,  852,  940}, {578,  910,  513}, {692,  882,  734},
63     {586,  683,  715}, {739,  609,  717}, {778,  773,  697}, {922,  785,  813},
64     {766,  651,  984}, {978,  596,  515}, {535,  757,  540}, {662,  687,  589},
65     {554,  536,  979}, {723,  982,  690}, {936,  956,  527}, {590, 1002,  547},
66     {517,  653,  825}, {832,  592,  974}, {512,  957,  903}, {631,  545,  906},
67     {514,  720,  649}, {596,  679,  694}, {617,  740,  979}, {711,  685,  877},
68     {655,  835,  848}, {754,  839,  698}, {871,  515,  769}, {955,  852,  573},
69     {640,  859,  587}, {792,  863,  554}, {843,  708,  682}, {971,  768,  552},
70     {891,  536,  690}, {1016, 560,  663}, {543,  870,  674}, {601,  999,  585},
71     {945,  966,  889}, {529,  912,  777}, {574, 1020,  714}, {609,  922,  932},
72     {598,  778,  929}, {651,  772,  744}, {691,  957,  722}, {729,  766,  984},
73     {547,  519,  632}, {583,  532,  922}, {633,  995,  603}, {677,  571,  874},
74     {602,  545,  666}, {627,  542,  875}, {672,  983,  598}, {692,  979,  730},
75     {668,  634,  872}, {711,  706,  674}, {739,  977,  595}, {759,  905,  763},
76     {756,  582,  763}, {748, 1013,  908}, {804,  937,  950}, {785,  543,  998},
77     {999,  684,  942}, {626,  633,  996}, {626,  567,  835}, {739,  571,  973},
78     {655,  769,  707}, {702,  952,  571}, {727,  712,  514}, {744,  686,  741},
79     {731,  552,  714}, {824,  991,  726}, {795,  615,  544}, {870,  575,  824},
80     {803,  832,  923}, {819,  839,  531}, {887,  786,  852}, {933,  764,  570},
81     {716,  906,  654}, {784,  804,  563}, {774,  535,  876}, {807,  598,  649},
82     {817,  759,  718}, {831,  993,  846}, {858,  567,  605}, {876, 1012,  651},
83     {852,  548,  549}, {895, 1008,  871}, {892, 1000,  591}, {935,  516,  836},
84     {931,  612,  776}, {968,  614,  816}, {524,  777,  719}, {549,  694,  786},
85     {882,  754,  534}, {597,  837,  766}, {635,  954,  704}, {803,  550,  798},
86     {699,  654,  798}, {924,  767,  738}, {970,  675,  608}, {632,  706,  684},
87     {858,  767,  563}, {527,  765,  702}, {559,  924, 1003}, {618,  524,  611},
88     {999,  942,  963}, {547,  857,  935}, {734,  926,  569}, {967,  746,  551},
89     {834,  633,  881}, {941,  701,  727}, {945,  564,  636}, {512,  563,  793},
90     {984,  556,  570}, {984,  540,  740}, {527,  764,  874}, {530,  664, 1014},
91     {546,  515,  521}, {554,  934,  672}, {598,  945,  556}, {627,  531,  733},
92     {576, 1020, 1014}, {623,  924,  594}, {678,  909,  603}, {814,  744,  543}
93 };
94
95 static const uint8_t gain_exp_tab[256][3] = {
96     {14, 14, 14}, {14, 14, 14}, {14, 13, 14}, {13, 13, 14},
97     {13, 14, 13}, {13, 14, 15}, {13, 13, 13}, {12, 14, 13},
98     {13, 13, 13}, {13, 13, 12}, {13, 12, 13}, {12, 13, 12},
99     {12, 13, 13}, {12, 13, 13}, {12, 12, 13}, {11, 13, 13},
100     {13, 12, 13}, {12, 12, 12}, {13, 12, 12}, {13, 12, 11},
101     {12, 12, 12}, {12, 13, 11}, {12, 12, 11}, {11, 13, 12},
102     {12, 12, 12}, {11, 12, 12}, {11, 12, 12}, {11, 12, 13},
103     {11, 12, 11}, {11, 12, 11}, {11, 13, 12}, {11, 12, 12},
104     {12, 12, 12}, {12, 11, 12}, {12, 12, 11}, {12, 12, 11},
105     {13, 11, 11}, {12, 11, 10}, {11, 11, 11}, {11, 11, 10},
106     {12, 11, 12}, {11, 11, 12}, {11, 12, 11}, {11, 11, 11},
107     {11, 11, 12}, {11, 11, 12}, {11, 12, 12}, {10, 12, 12},
108     {11, 12, 11}, {11, 11, 11}, {10, 12, 11}, {10, 12, 11},
109     {11, 11, 11}, {10, 11, 11}, {10, 11, 12}, {10, 11, 12},
110     {11, 12, 11}, {10, 12, 12}, {10, 13, 12}, {10, 12, 13},
111     {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 12, 12},
112     {12, 11, 12}, {12, 11, 11}, {11, 11, 12}, {11, 11, 11},
113     {11, 10, 11}, {11, 10, 11}, {12, 10, 10}, {12, 10, 10},
114     {11, 11, 11}, {11, 11, 10}, {11, 11, 10}, {10, 12, 10},
115     {11, 11, 11}, {11, 11, 11}, {10, 11, 11}, {10, 11, 11},
116     {11, 10, 11}, {11, 11, 10}, {11, 10, 10}, {10, 10, 10},
117     {11, 11, 10}, {10, 11, 10}, {10, 11, 10}, {10, 11, 10},
118     {10, 10, 11}, {10, 10, 11}, {10, 11, 11}, {10, 11, 11},
119     {10, 10, 11}, {10, 10, 10}, {10, 10, 11}, { 9, 10, 11},
120     {11, 11, 11}, {10, 11, 11}, {10, 11, 10}, {10, 11, 11},
121     {10, 11, 11}, {10, 11, 11}, {10, 11, 11}, {10, 11, 12},
122     {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 13, 12},
123     {10, 12, 11}, {10, 12, 11}, {10, 12, 12}, {10, 12, 12},
124     {10, 12, 10}, {10, 12, 11}, {10, 12, 10}, {10, 11, 11},
125     {10, 11, 11}, {10, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
126     {10, 12, 11}, { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 12},
127     { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 12}, { 9, 13, 12},
128     {12, 10, 11}, {11, 10, 10}, {10, 10, 11}, {10, 10, 10},
129     {11,  9, 10}, {11, 10, 10}, {10, 10,  9}, {10, 10,  9},
130     {10, 10, 10}, {10, 10, 10}, {10, 10, 10}, {10, 10, 10},
131     {10, 10, 10}, {10, 10,  9}, { 9, 10,  9}, { 9, 10,  9},
132     {10,  9, 11}, {10, 10, 10}, {10, 10, 10}, { 9, 10, 10},
133     {10,  9, 10}, {10,  9, 10}, { 9, 10, 10}, { 9,  9, 10},
134     { 9, 10, 10}, { 9, 10, 10}, { 9, 10, 11}, { 9, 10, 11},
135     { 9, 10, 10}, { 9, 10, 10}, { 9,  9, 10}, { 9, 10, 10},
136     {10, 11, 10}, {10, 11, 10}, {10, 11, 10}, {10, 11, 10},
137     {10, 10, 10}, {10, 10, 10}, { 9, 11, 10}, { 9, 11, 10},
138     {10, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
139     { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 12},
140     { 9, 11, 10}, { 9, 11, 11}, { 9, 12, 10}, { 9, 11, 11},
141     { 9, 11, 11}, { 9, 11, 12}, { 9, 12, 11}, { 9, 12, 12},
142     { 9, 12, 11}, { 9, 12, 11}, { 9, 12, 11}, { 9, 12, 12},
143     { 9, 12, 11}, { 9, 13, 12}, { 9, 13, 12}, { 9, 12, 13},
144     {10, 11, 10}, { 9, 11, 10}, { 9, 10, 10}, { 9, 10, 10},
145     { 9, 11, 10}, { 9, 11, 10}, { 9, 11, 10}, { 9, 11, 11},
146     { 9, 10, 10}, { 9, 11, 10}, { 9, 10, 10}, { 9, 10, 11},
147     { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11}, { 9, 11, 11},
148     { 9, 12, 10}, { 9, 12, 10}, { 9, 11, 11}, { 9, 11, 11},
149     { 9, 12, 11}, { 9, 12, 12}, { 9, 12, 11}, { 9, 13, 12},
150     { 9, 11, 10}, { 9, 12, 11}, { 9, 12, 11}, { 9, 11, 12},
151     { 9, 12, 11}, { 9, 12, 12}, { 8, 12, 11}, { 8, 12, 12},
152     {10,  9,  9}, { 9,  9,  9}, { 9, 10,  9}, { 9,  9,  9},
153     { 9,  9, 10}, { 9,  9, 10}, { 9,  9,  9}, { 8,  9,  9},
154     { 9, 10,  9}, { 8, 10,  9}, { 8, 10, 10}, { 8,  9, 10},
155     { 9,  9,  9}, { 7,  8,  8}, { 8, 10,  9}, { 8,  9,  9},
156     { 9, 11, 10}, { 9, 11, 10}, { 9, 10, 10}, { 8, 10, 11},
157     { 9, 11, 10}, { 9, 11, 11}, { 8, 11, 11}, { 8, 11, 12},
158     { 8, 10,  9}, { 8, 11, 10}, { 8, 11, 10}, { 8, 10, 11},
159     { 8, 12, 11}, { 8, 12, 11}, { 8, 11, 10}, { 8, 11, 10}
160 };
161
162 static const int8_t cb1_vects[128][40]={
163     {
164      38,  -4,  15,  -4,  14, -13,  12, -11,  -2,  -6,
165      -6, -11, -45, -16, -11, -13,  -7,   6, -12,   4,
166     -20,   3, -16,  12,  -1,  12,  46,  24,   0,  33,
167      -3,   9, -12, -12,  -8,  -7,  17,  -6,   0,  -2,
168     }, {
169      60, -16,   3, -22,  10, -32,   0, -28, -17, -18,
170      -3, -25, -37, -23, -10,   3,   2,   3,   0,   3,
171     -14,   0, -14,  -1,   0,   2,  32,   9,  -1,  25,
172       7,  13,  -5,  13,   8,   1,   2,   8, -10,   6,
173     }, {
174      27, -12,  28,  -2,   6,  -7,  15,   9, -11,   1,
175     -13, -11, -40,   4, -29, -14, -19,  -5, -23,  -8,
176     -30, -13, -17,   0, -14,  12,  34,  20,  -2,  25,
177       2, -16,  -4, -12,  15,  16,  29,   7,  24,  10,
178     }, {
179      49, -24,  16, -20,   2, -26,   2,  -7, -25, -10,
180     -11, -25, -32,  -3, -27,   2,  -8,  -8, -11,  -9,
181     -24, -17, -16, -14, -13,   2,  20,   5,  -4,  17,
182      14, -12,   3,  13,  33,  25,  14,  23,  15,  19,
183     }, {
184      46,  -6,  21,   8,  -2, -16,  -5,  -8, -11,   4,
185       8,  15, -24,   4,  -2, -26,  -3, -16, -16, -14,
186      -9,  -2,  -1,   4,  19,   7,  36,  17,   9,  13,
187       0,  31,  -5, -12,   7,  -8,  11, -15, -13,  -4,
188     }, {
189      68, -18,   9,  -9,  -6, -35, -18, -25, -26,  -7,
190      10,   1, -16,  -3,  -1,  -9,   6, -19,  -4, -15,
191      -4,  -6,   0,  -8,  20,  -2,  23,   2,   7,   5,
192      12,  35,   1,  13,  24,   0,  -3,   0, -22,   4,
193     }, {
194      35, -14,  34,  10, -10, -10,  -1,  12, -20,  12,
195       0,  15, -18,  24, -20, -27, -14, -28, -27, -27,
196     -20, -19,  -2,  -8,   5,   7,  25,  13,   5,   5,
197       6,   5,   2, -12,  31,  15,  23,  -1,  12,   8,
198     }, {
199      57, -26,  22,  -7, -14, -28, -14,  -3, -35,   0,
200       3,   1, -11,  16, -18, -10,  -4, -31, -15, -28,
201     -14, -23,  -1, -21,   7,  -2,  11,  -1,   3,  -1,
202      18,   9,  10,  13,  49,  24,   8,  14,   2,  16,
203     }, {
204      25,  15,  22,  11,  18,   4,  15, -22,   8,  -2,
205     -17,  -9, -48, -20, -30, -17, -16,  11,  -1,  16,
206       2,  10,  -5,  26,  -2,  -4,  22,   0,   2,  10,
207      -6,  13, -14,  10, -23,   0,  10,  -2,   1,   0,
208     }, {
209      47,   3,  11,  -6,  15, -13,   2, -38,  -6, -13,
210     -15, -22, -40, -28, -28,   0,  -5,   8,  10,  15,
211       7,   7,  -4,  13,  -1, -14,   9, -14,   0,   2,
212       4,  18,  -7,  36,  -6,   8,  -3,  13,  -7,   8,
213     }, {
214      14,   7,  36,  13,  10,  10,  18,   0,   0,   5,
215     -25,  -8, -43,   0, -48, -18, -27,   0, -12,   3,
216      -7,  -6,  -7,  13, -15,  -5,  11,  -3,   0,   2,
217       0, -12,  -6,  10,   0,  23,  22,  11,  26,  12,
218     }, {
219      36,  -5,  24,  -4,   7,  -7,   6, -17, -14,  -5,
220     -22, -22, -35,  -8, -46,  -1, -17,  -3,   0,   2,
221      -2, -10,  -5,   0, -14, -15,  -2, -18,  -2,  -4,
222      11,  -7,   1,  36,  18,  32,   7,  27,  17,  20,
223     }, {
224      33,  13,  29,  24,   1,   1,  -2, -18,   0,   9,
225      -3,  17, -27,   0, -21, -30, -12, -11,  -5,  -2,
226      12,   4,   9,  19,  18,  -9,  13,  -6,  11,  -8,
227      -2,  35,  -8,  10,  -7,  -1,   4, -11, -10,  -2,
228     }, {
229      55,   1,  17,   6,  -1, -16, -15, -35, -15,  -2,
230       0,   4, -19,  -8, -20, -13,  -1, -14,   7,  -3,
231      18,   0,  10,   5,  19, -19,   0, -21,   8, -16,
232       9,  39,   0,  36,  10,   7,  -9,   4, -20,   5,
233     }, {
234      22,   5,  42,  26,  -6,   8,   1,   2,  -9,  17,
235     -10,  18, -21,  19, -39, -31, -23, -23, -16, -15,
236       2, -12,   7,   6,   5,  -9,   1, -10,   7, -16,
237       4,   9,   0,  10,  17,  22,  16,   2,  14,   9,
238     }, {
239      44,  -6,  30,   8,  -9, -10, -11, -14, -23,   5,
240      -8,   4, -14,  12, -37, -14, -12, -26,  -4, -16,
241       8, -16,   9,  -7,   6, -19, -12, -25,   5, -24,
242      15,  13,   8,  36,  34,  31,   1,  18,   4,  18,
243     }, {
244      -3,  -5,  -9,  -7,  15,  -1,   5,  13,   2,  12,
245       5,   2, -21, -23,  -2, -16,   0,   5,  -6,  13,
246     -23,   3, -32,  10, -15,   8,  44,  28,   9,  37,
247      -2,  13,  -9, -15, -12, -27,  -7, -12,   0, -11,
248     }, {
249      18, -17, -21, -25,  11, -19,  -6,  -3, -11,   0,
250       7, -11, -13, -31,  -1,   0,   9,   1,   5,  12,
251     -18,   0, -31,  -2, -13,  -1,  30,  14,   7,  29,
252       9,  18,  -1,  10,   4, -18, -22,   3, -10,  -2,
253     }, {
254     -13, -13,   3,  -5,   7,   4,   9,  34,  -5,  20,
255      -2,   3, -16,  -3, -20, -17, -11,  -7, -17,   0,
256     -34, -13, -33,  -2, -28,   8,  32,  24,   5,  29,
257       3, -12,   0, -15,  11,  -3,   3,   2,  24,   1,
258     }, {
259       8, -25,  -8, -23,   3, -13,  -3,  17, -20,   8,
260       0, -10,  -8, -11, -18,   0,  -1, -10,  -5,   0,
261     -28, -17, -32, -15, -26,  -1,  19,   9,   3,  21,
262      15,  -7,   6,   9,  29,   5, -10,  17,  15,   9,
263     }, {
264       4,  -6,  -3,   5,  -1,  -4, -11,  16,  -6,  23,
265      19,  29,   0,  -3,   6, -30,   3, -17, -10,  -5,
266     -13,  -2, -17,   3,   5,   3,  35,  21,  17,  17,
267       2,  35,  -2, -15,   3, -28, -13, -21, -13, -13,
268     }, {
269      26, -19, -15, -12,  -5, -22, -24,   0, -21,  12,
270      21,  15,   8, -11,   7, -12,  14, -20,   2,  -6,
271      -7,  -6, -16,  -9,   6,  -5,  21,   7,  15,  10,
272      13,  39,   5,  10,  20, -19, -28,  -5, -22,  -5,
273     }, {
274      -5, -15,   9,   7,  -9,   2,  -8,  37, -14,  31,
275      11,  29,   5,  16, -11, -30,  -7, -29, -21, -18,
276     -23, -19, -18,  -9,  -7,   3,  23,  17,  14,   9,
277       8,   9,   6, -15,  27,  -4,  -2,  -6,  12,  -1,
278     }, {
279      16, -27,  -2, -10, -13, -16, -20,  20, -29,  20,
280      14,  16,  13,   8,  -9, -13,   2, -33,  -9, -19,
281     -17, -23, -17, -22,  -6,  -6,   9,   2,  12,   2,
282      20,  13,  13,  10,  45,   4, -16,   8,   2,   7,
283     }, {
284     -16,  14,  -2,   8,  20,  17,   9,   2,  14,  16,
285      -6,   5, -24, -28, -21, -20,  -8,   9,   4,  25,
286      -1,  11, -22,  24, -15,  -8,  21,   5,  11,  14,
287      -5,  18, -11,   7, -27, -20, -14,  -7,   1,  -9,
288     }, {
289       6,   2, -14,  -9,  16,  -1,  -3, -14,   0,   5,
290      -3,  -8, -16, -36, -19,  -3,   1,   6,  17,  24,
291       4,   7, -21,  11, -14, -18,   7,  -9,   9,   7,
292       6,  22,  -3,  33, -10, -11, -28,   7,  -7,   0,
293     }, {
294     -26,   6,  11,  10,  12,  23,  12,  23,   5,  24,
295     -13,   5, -19,  -8, -38, -21, -20,  -2,  -6,  12,
296     -11,  -5, -23,  11, -29,  -9,   9,   0,   7,   6,
297       1,  -7,  -2,   7,  -3,   3,  -2,   6,  27,   3,
298     }, {
299      -4,  -6,   0,  -7,   8,   4,   0,   6,  -9,  13,
300     -11,  -7, -11, -15, -37,  -4,  -9,  -5,   5,  11,
301      -5,  -9, -22,  -1, -27, -18,  -4, -14,   5,   0,
302      12,  -3,   4,  32,  14,  12, -17,  22,  17,  11,
303     }, {
304      -8,  12,   3,  21,   3,  14,  -8,   5,   4,  28,
305       7,  32,  -2,  -8, -12, -34,  -4, -12,   1,   6,
306       9,   4,  -7,  17,   4, -13,  11,  -1,  19,  -4,
307       0,  39,  -4,   7, -11, -21, -20, -16, -10, -11,
308     }, {
309      13,   0,  -8,   3,   0,  -4, -21, -11,  -9,  16,
310      10,  18,   5, -16, -10, -16,   5, -15,  13,   5,
311      15,   1,  -6,   4,   6, -23,  -2, -16,  17, -12,
312      10,  44,   3,  33,   6, -12, -34,  -1, -20,  -3,
313     }, {
314     -18,   4,  17,  23,  -4,  20,  -4,  26,  -3,  36,
315       0,  32,   2,  12, -29, -34, -16, -24, -10,  -6,
316       0, -12,  -8,   4,  -8, -13,   0,  -6,  16, -12,
317       5,  13,   3,   7,  13,   3,  -8,  -2,  14,   0,
318     }, {
319       3,  -7,   5,   5,  -8,   2, -17,   9, -18,  24,
320       2,  19,  10,   4, -28, -17,  -5, -28,   2,  -7,
321       4, -15,  -7,  -8,  -6, -23, -13, -21,  14, -20,
322      17,  18,  11,  33,  30,  11, -23,  13,   5,   9,
323     }, {
324      60,  10,   7,  -1,   9,  -8,   6, -13,   2, -15,
325      -1, -10, -13, -11,  15,   0,   6,   9,  -1,   0,
326     -13,   1, -11,  -3, -13,  21,  13,  26,  -7,  31,
327     -10,  -7, -16, -33, -31, -10,  22,  -8,   1,  -2,
328     }, {
329      82,  -1,  -4, -19,   6, -27,  -6, -29, -12, -26,
330       1, -24,  -5, -18,  17,  17,  17,   6,  10,   0,
331      -7,  -2,  -9, -16, -12,  11,   0,  11,  -9,  23,
332       0,  -3,  -8,  -8, -13,  -1,   8,   7,  -7,   6,
333     }, {
334      49,   2,  21,   0,   1,  -2,   9,   8,  -6,  -6,
335      -8, -10,  -8,   9,  -2,   0,  -4,  -2, -13, -12,
336     -23, -15, -12, -16, -26,  21,   2,  21, -11,  23,
337      -4, -33,  -7, -33,  -6,  13,  34,   5,  27,  10,
338     }, {
339      71, -10,   9, -17,  -1, -20,  -3,  -8, -21, -18,
340      -6, -24,   0,   1,   0,  16,   6,  -5,   0, -13,
341     -17, -19, -11, -29, -25,  11, -11,   6, -13,  15,
342       7, -29,   0,  -8,  11,  22,  20,  21,  17,  18,
343     }, {
344      67,   8,  14,  11,  -7, -11, -11,  -9,  -7,  -3,
345      13,  16,   8,   9,  24, -12,  10, -13,  -5, -17,
346      -2,  -4,   3, -10,   6,  17,   4,  19,   0,  11,
347      -6,  13,  -9, -33, -14, -10,  16, -17, -10,  -4,
348     }, {
349      90,  -3,   2,  -6, -10, -29, -24, -26, -21, -15,
350      15,   2,  16,   1,  25,   4,  21, -16,   6, -18,
351       3,  -8,   5, -24,   8,   7,  -9,   4,  -1,   3,
352       5,  18,  -1,  -7,   2,  -1,   2,  -1, -19,   3,
353     }, {
354      57,   0,  27,  13, -14,  -5,  -7,  11, -15,   4,
355       5,  16,  13,  29,   6, -13,   0, -25, -16, -31,
356     -12, -22,   2, -23,  -6,  16,  -7,  14,  -2,   3,
357       0, -12,   0, -33,   9,  13,  28,  -3,  14,   7,
358     }, {
359      79, -11,  15,  -4, -18, -23, -20,  -5, -30,  -7,
360       7,   2,  21,  21,   8,   3,  10, -28,  -4, -31,
361      -6, -25,   3, -37,  -4,   7, -20,   0,  -4,  -4,
362      11,  -7,   6,  -8,  27,  22,  14,  12,   5,  16,
363     }, {
364      47,  30,  15,  14,  14,   9,   9, -23,  13, -10,
365     -12,  -7, -16, -15,  -3,  -3,  -1,  14,   9,  12,
366       9,   8,   0,  10, -14,   4,  -9,   2,  -5,   8,
367     -13,  -3, -18, -10, -45,  -3,  16,  -4,   4,   0,
368     }, {
369      69,  17,   3,  -3,  10,  -8,  -3, -40,  -1, -21,
370     -10, -21,  -8, -23,  -1,  13,   8,  11,  21,  11,
371      15,   4,   0,  -2, -13,  -5, -23, -12,  -7,   0,
372      -1,   0, -10,  14, -28,   5,   1,  11,  -5,   7,
373     }, {
374      36,  21,  28,  16,   6,  16,  12,  -2,   4,  -2,
375     -20,  -7, -11,   4, -20,  -4, -12,   2,  -1,   0,
376       0,  -8,  -2,  -2, -27,   4, -21,  -2,  -9,   0,
377      -6, -29,  -9, -10, -21,  21,  28,  10,  29,  11,
378     }, {
379      58,   9,  16,  -1,   2,  -2,   0, -19, -10, -13,
380     -17, -21,  -3,  -3, -19,  12,  -2,   0,  10,  -1,
381       5, -12,   0, -15, -26,  -5, -34, -16, -11,  -7,
382       4, -25,  -2,  14,  -3,  29,  13,  25,  20,  20,
383     }, {
384      55,  28,  21,  27,  -2,   7,  -8, -20,   4,   1,
385       1,  18,   5,   4,   5, -16,   2,  -8,   5,  -5,
386      19,   2,  14,   3,   6,   0, -18,  -4,   2, -11,
387      -8,  18, -11, -10, -29,  -3,  10, -13,  -8,  -3,
388     }, {
389      77,  16,   9,   9,  -6, -11, -21, -37, -10, -10,
390       4,   5,  13,  -3,   7,   0,  13, -11,  17,  -6,
391      25,  -1,  15,  -9,   7,  -9, -32, -19,   0, -18,
392       2,  22,  -3,  15, -12,   5,  -4,   2, -17,   5,
393     }, {
394      44,  20,  34,  29, -10,  13,  -4,   0,  -4,   9,
395      -5,  19,  10,  24, -11, -17,  -8, -20,  -5, -19,
396       9, -14,  12,  -9,  -6,   0, -30,  -9,   0, -19,
397      -2,  -7,  -2, -10,  -5,  20,  21,   1,  17,   9,
398     }, {
399      66,   8,  23,  11, -14,  -5, -17, -16, -19,  -2,
400      -3,   5,  18,  17, -10,   0,   1, -23,   6, -20,
401      15, -18,  14, -22,  -5, -10, -44, -23,  -2, -26,
402       9,  -3,   4,  14,  12,  29,   7,  16,   7,  18,
403     }, {
404      18,   9, -17,  -4,  11,   3,   0,  11,   7,   4,
405      10,   3,  10, -18,  24,  -3,  14,   7,   4,  10,
406     -16,   1, -27,  -4, -27,  17,  12,  30,   0,  35,
407      -9,  -3, -12, -36, -35, -30,  -2, -13,   2, -11,
408     }, {
409      40,  -2, -29, -22,   7, -14, -12,  -5,  -7,  -7,
410      12,  -9,  18, -26,  26,  14,  24,   4,  16,   9,
411     -10,  -2, -26, -18, -26,   7,  -1,  15,  -1,  27,
412       2,   0,  -4, -11, -17, -21, -16,   1,  -7,  -3,
413     }, {
414       8,   1,  -3,  -2,   3,  10,   3,  32,  -1,  12,
415       2,   4,  15,   1,   7,  -3,   2,  -4,  -6,  -3,
416     -26, -15, -29, -17, -40,  17,   0,  26,  -2,  27,
417      -2, -29,  -4, -36, -10,  -6,   9,   0,  27,   0,
418     }, {
419      30, -11, -15, -20,   0,  -8,  -9,  15, -15,   0,
420       5,  -9,  23,  -6,   8,  13,  13,  -7,   5,  -3,
421     -20, -19, -27, -31, -39,   7, -13,  11,  -4,  19,
422       8, -25,   3, -11,   7,   2,  -4,  16,  18,   9,
423     }, {
424      26,   7, -11,   8,  -5,   1, -17,  14,  -1,  15,
425      24,  30,  32,   1,  33, -16,  18, -14,   0,  -8,
426      -6,  -4, -12, -12,  -6,  13,   2,  23,   8,  15,
427      -4,  17,  -5, -36, -18, -30,  -8, -22, -10, -14,
428     }, {
429      48,  -4, -23,  -9,  -9, -17, -30,  -2, -16,   3,
430      26,  16,  40,  -6,  35,   1,  28, -17,  12,  -9,
431       0,  -8, -11, -25,  -5,   3, -10,   8,   6,   7,
432       6,  22,   1, -11,  -1, -21, -22,  -7, -19,  -5,
433     }, {
434      15,   0,   2,  10, -13,   7, -14,  35, -10,  23,
435      16,  31,  37,  21,  16, -17,   6, -26, -10, -21,
436     -16, -21, -13, -25, -19,  13,  -8,  19,   5,   7,
437       1,  -8,   2, -36,   5,  -6,   3,  -8,  15,  -1,
438     }, {
439      37, -12,  -9,  -7, -17, -11, -26,  18, -25,  12,
440      19,  17,  45,  14,  17,   0,  17, -30,   1, -22,
441     -10, -25, -12, -38, -18,   3, -22,   4,   3,   0,
442      13,  -3,  10, -11,  23,   2, -10,   7,   5,   7,
443     }, {
444       5,  29,  -9,  11,  15,  22,   3,   0,  18,   8,
445      -1,   6,   7, -23,   6,  -6,   5,  12,  15,  21,
446       5,   8, -17,   9, -28,   0, -11,   6,   2,  12,
447     -11,   0, -14, -13, -49, -22,  -8,  -9,   4,  -9,
448     }, {
449      27,  16, -21,  -6,  12,   3,  -9, -16,   3,  -2,
450       1,  -7,  15, -31,   7,  10,  16,   9,  27,  21,
451      11,   5, -16,  -3, -26,  -9, -24,  -7,   0,   4,
452       0,   4,  -6,  11, -32, -14, -23,   6,  -5,  -1,
453     }, {
454      -4,  20,   3,  13,   8,  28,   6,  21,  10,  16,
455      -8,   7,  12,  -3, -11,  -7,  -5,   0,   4,   8,
456      -4,  -8, -18,  -3, -41,   0, -22,   2,   0,   4,
457      -5, -25,  -6, -14, -25,   1,   2,   4,  29,   2,
458     }, {
459      17,   8,  -8,  -4,   4,  10,  -6,   5,  -4,   5,
460      -6,  -6,  20, -10,  -9,   9,   4,  -2,  16,   7,
461       1, -12, -17, -16, -39,  -9, -36, -12,  -2,  -3,
462       6, -21,   1,  11,  -7,  10, -11,  20,  20,  11,
463     }, {
464      13,  27,  -3,  24,  -1,  19, -14,   3,   9,  20,
465      12,  33,  29,  -3,  15, -20,   9,  -9,  11,   3,
466      16,   2,  -2,   2,  -7,  -3, -20,   0,  10,  -7,
467      -7,  22,  -7, -13, -33, -23, -14, -18,  -7, -12,
468     }, {
469      35,  15, -15,   6,  -4,   1, -27, -12,  -5,   8,
470      15,  19,  37, -11,  16,  -2,  20, -12,  23,   2,
471      22,  -1,  -1, -11,  -5, -13, -34, -14,   8, -14,
472       4,  26,   0,  11, -16, -14, -29,  -2, -17,  -3,
473     }, {
474       3,  19,   9,  26,  -8,  26, -10,  24,   0,  28,
475       5,  33,  34,  17,  -2, -20,  -1, -22,   0, -10,
476       6, -14,  -3, -10, -20,  -4, -32,  -4,   7, -15,
477       0,  -3,   0, -13,  -9,   0,  -3,  -4,  17,   0,
478     }, {
479      25,   7,  -2,   8, -12,   7, -23,   8, -13,  16,
480       7,  20,  42,   9,   0,  -3,   9, -25,  12, -10,
481      12, -18,  -2, -24, -19, -13, -46, -19,   5, -22,
482      10,   0,   8,  11,   8,   9, -17,  11,   7,   8,
483     }, {
484     -25,  -7,   2,  -8,  12,  -7,  23,  -8,  13, -16,
485      -7, -20, -42,  -9,   0,   3,  -9,  25, -12,  10,
486     -12,  18,   2,  24,  19,  13,  46,  19,  -5,  22,
487     -10,   0,  -8, -11,  -8,  -9,  17, -11,  -7,  -8,
488     }, {
489      -3, -19,  -9, -26,   8, -26,  10, -24,   0, -28,
490      -5, -33, -34, -17,   2,  20,   1,  22,   0,  10,
491      -6,  14,   3,  10,  20,   4,  32,   4,  -7,  15,
492       0,   3,   0,  13,   9,   0,   3,   4, -17,   0,
493     }, {
494     -35, -15,  15,  -6,   4,  -1,  27,  12,   5,  -8,
495     -15, -19, -37,  11, -16,   2, -20,  12, -23,  -2,
496     -22,   1,   1,  11,   5,  13,  34,  14,  -8,  14,
497      -4, -26,   0, -11,  16,  14,  29,   2,  17,   3,
498     }, {
499     -13, -27,   3, -24,   1, -19,  14,  -3,  -9, -20,
500     -12, -33, -29,   3, -15,  20,  -9,   9, -11,  -3,
501     -16,  -2,   2,  -2,   7,   3,  20,   0, -10,   7,
502       7, -22,   7,  13,  33,  23,  14,  18,   7,  12,
503     }, {
504     -17,  -8,   8,   4,  -4, -10,   6,  -5,   4,  -5,
505       6,   6, -20,  10,   9,  -9,  -4,   2, -16,  -7,
506      -1,  12,  17,  16,  39,   9,  36,  12,   2,   3,
507      -6,  21,  -1, -11,   7, -10,  11, -20, -20, -11,
508     }, {
509       4, -20,  -3, -13,  -8, -28,  -6, -21, -10, -16,
510       8,  -7, -12,   3,  11,   7,   5,   0,  -4,  -8,
511       4,   8,  18,   3,  41,   0,  22,  -2,   0,  -4,
512       5,  25,   6,  14,  25,  -1,  -2,  -4, -29,  -2,
513     }, {
514     -27, -16,  21,   6, -12,  -3,   9,  16,  -3,   2,
515      -1,   7, -15,  31,  -7, -10, -16,  -9, -27, -21,
516     -11,  -5,  16,   3,  26,   9,  24,   7,   0,  -4,
517       0,  -4,   6, -11,  32,  14,  23,  -6,   5,   1,
518     }, {
519      -5, -29,   9, -11, -15, -22,  -3,   0, -18,  -8,
520       1,  -6,  -7,  23,  -6,   6,  -5, -12, -15, -21,
521      -5,  -8,  17,  -9,  28,   0,  11,  -6,  -2, -12,
522      11,   0,  14,  13,  49,  22,   8,   9,  -4,   9,
523     }, {
524     -37,  12,   9,   7,  17,  11,  26, -18,  25, -12,
525     -19, -17, -45, -14, -17,   0, -17,  30,  -1,  22,
526      10,  25,  12,  38,  18,  -3,  22,  -4,  -3,   0,
527     -13,   3, -10,  11, -23,  -2,  10,  -7,  -5,  -7,
528     }, {
529     -15,   0,  -2, -10,  13,  -7,  14, -35,  10, -23,
530     -16, -31, -37, -21, -16,  17,  -6,  26,  10,  21,
531      16,  21,  13,  25,  19, -13,   8, -19,  -5,  -7,
532      -1,   8,  -2,  36,  -5,   6,  -3,   8, -15,   1,
533     }, {
534     -48,   4,  23,   9,   9,  17,  30,   2,  16,  -3,
535     -26, -16, -40,   6, -35,  -1, -28,  17, -12,   9,
536       0,   8,  11,  25,   5,  -3,  10,  -8,  -6,  -7,
537      -6, -22,  -1,  11,   1,  21,  22,   7,  19,   5,
538     }, {
539     -26,  -7,  11,  -8,   5,  -1,  17, -14,   1, -15,
540     -24, -30, -32,  -1, -33,  16, -18,  14,   0,   8,
541       6,   4,  12,  12,   6, -13,  -2, -23,  -8, -15,
542       4, -17,   5,  36,  18,  30,   8,  22,  10,  14,
543     }, {
544     -30,  11,  15,  20,   0,   8,   9, -15,  15,   0,
545      -5,   9, -23,   6,  -8, -13, -13,   7,  -5,   3,
546      20,  19,  27,  31,  39,  -7,  13, -11,   4, -19,
547      -8,  25,  -3,  11,  -7,  -2,   4, -16, -18,  -9,
548     }, {
549      -8,  -1,   3,   2,  -3, -10,  -3, -32,   1, -12,
550      -2,  -4, -15,  -1,  -7,   3,  -2,   4,   6,   3,
551      26,  15,  29,  17,  40, -17,   0, -26,   2, -27,
552       2,  29,   4,  36,  10,   6,  -9,   0, -27,   0,
553     }, {
554     -40,   2,  29,  22,  -7,  14,  12,   5,   7,   7,
555     -12,   9, -18,  26, -26, -14, -24,  -4, -16,  -9,
556      10,   2,  26,  18,  26,  -7,   1, -15,   1, -27,
557      -2,   0,   4,  11,  17,  21,  16,  -1,   7,   3,
558     }, {
559     -18,  -9,  17,   4, -11,  -3,   0, -11,  -7,  -4,
560     -10,  -3, -10,  18, -24,   3, -14,  -7,  -4, -10,
561      16,  -1,  27,   4,  27, -17, -12, -30,   0, -35,
562       9,   3,  12,  36,  35,  30,   2,  13,  -2,  11,
563     }, {
564     -66,  -8, -23, -11,  14,   5,  17,  16,  19,   2,
565       3,  -5, -18, -17,  10,   0,  -1,  23,  -6,  20,
566     -15,  18, -14,  22,   5,  10,  44,  23,   2,  26,
567      -9,   3,  -4, -14, -12, -29,  -7, -16,  -7, -18,
568     }, {
569     -44, -20, -34, -29,  10, -13,   4,   0,   4,  -9,
570       5, -19, -10, -24,  11,  17,   8,  20,   5,  19,
571      -9,  14, -12,   9,   6,   0,  30,   9,   0,  19,
572       2,   7,   2,  10,   5, -20, -21,  -1, -17,  -9,
573     }, {
574     -77, -16,  -9,  -9,   6,  11,  21,  37,  10,  10,
575      -4,  -5, -13,   3,  -7,   0, -13,  11, -17,   6,
576     -25,   1, -15,   9,  -7,   9,  32,  19,   0,  18,
577      -2, -22,   3, -15,  12,  -5,   4,  -2,  17,  -5,
578     }, {
579     -55, -28, -21, -27,   2,  -7,   8,  20,  -4,  -1,
580      -1, -18,  -5,  -4,  -5,  16,  -2,   8,  -5,   5,
581     -19,  -2, -14,  -3,  -6,   0,  18,   4,  -2,  11,
582       8, -18,  11,  10,  29,   3, -10,  13,   8,   3,
583     }, {
584     -58,  -9, -16,   1,  -2,   2,   0,  19,  10,  13,
585      17,  21,   3,   3,  19, -12,   2,   0, -10,   1,
586      -5,  12,   0,  15,  26,   5,  34,  16,  11,   7,
587      -4,  25,   2, -14,   3, -29, -13, -25, -20, -20,
588     }, {
589     -36, -21, -28, -16,  -6, -16, -12,   2,  -4,   2,
590      20,   7,  11,  -4,  20,   4,  12,  -2,   1,   0,
591       0,   8,   2,   2,  27,  -4,  21,   2,   9,   0,
592       6,  29,   9,  10,  21, -21, -28, -10, -29, -11,
593     }, {
594     -69, -17,  -3,   3, -10,   8,   3,  40,   1,  21,
595      10,  21,   8,  23,   1, -13,  -8, -11, -21, -11,
596     -15,  -4,   0,   2,  13,   5,  23,  12,   7,   0,
597       1,   0,  10, -14,  28,  -5,  -1, -11,   5,  -7,
598     }, {
599     -47, -30, -15, -14, -14,  -9,  -9,  23, -13,  10,
600      12,   7,  16,  15,   3,   3,   1, -14,  -9, -12,
601      -9,  -8,   0, -10,  14,  -4,   9,  -2,   5,  -8,
602      13,   3,  18,  10,  45,   3, -16,   4,  -4,   0,
603     }, {
604     -79,  11, -15,   4,  18,  23,  20,   5,  30,   7,
605      -7,  -2, -21, -21,  -8,  -3, -10,  28,   4,  31,
606       6,  25,  -3,  37,   4,  -7,  20,   0,   4,   4,
607     -11,   7,  -6,   8, -27, -22, -14, -12,  -5, -16,
608     }, {
609     -57,   0, -27, -13,  14,   5,   7, -11,  15,  -4,
610      -5, -16, -13, -29,  -6,  13,   0,  25,  16,  31,
611      12,  22,  -2,  23,   6, -16,   7, -14,   2,  -3,
612       0,  12,   0,  33,  -9, -13, -28,   3, -14,  -7,
613     }, {
614     -90,   3,  -2,   6,  10,  29,  24,  26,  21,  15,
615     -15,  -2, -16,  -1, -25,  -4, -21,  16,  -6,  18,
616      -3,   8,  -5,  24,  -8,  -7,   9,  -4,   1,  -3,
617      -5, -18,   1,   7,  -2,   1,  -2,   1,  19,  -3,
618     }, {
619     -67,  -8, -14, -11,   7,  11,  11,   9,   7,   3,
620     -13, -16,  -8,  -9, -24,  12, -10,  13,   5,  17,
621       2,   4,  -3,  10,  -6, -17,  -4, -19,   0, -11,
622       6, -13,   9,  33,  14,  10, -16,  17,  10,   4,
623     }, {
624     -71,  10,  -9,  17,   1,  20,   3,   8,  21,  18,
625       6,  24,   0,  -1,   0, -16,  -6,   5,   0,  13,
626      17,  19,  11,  29,  25, -11,  11,  -6,  13, -15,
627      -7,  29,   0,   8, -11, -22, -20, -21, -17, -18,
628     }, {
629     -49,  -2, -21,   0,  -1,   2,  -9,  -8,   6,   6,
630       8,  10,   8,  -9,   2,   0,   4,   2,  13,  12,
631      23,  15,  12,  16,  26, -21,  -2, -21,  11, -23,
632       4,  33,   7,  33,   6, -13, -34,  -5, -27, -10,
633     }, {
634     -82,   1,   4,  19,  -6,  27,   6,  29,  12,  26,
635      -1,  24,   5,  18, -17, -17, -17,  -6, -10,   0,
636       7,   2,   9,  16,  12, -11,   0, -11,   9, -23,
637       0,   3,   8,   8,  13,   1,  -8,  -7,   7,  -6,
638     }, {
639     -60, -10,  -7,   1,  -9,   8,  -6,  13,  -2,  15,
640       1,  10,  13,  11, -15,   0,  -6,  -9,   1,   0,
641      13,  -1,  11,   3,  13, -21, -13, -26,   7, -31,
642      10,   7,  16,  33,  31,  10, -22,   8,  -1,   2,
643     }, {
644      -3,   7,  -5,  -5,   8,  -2,  17,  -9,  18, -24,
645      -2, -19, -10,  -4,  28,  17,   5,  28,  -2,   7,
646      -4,  15,   7,   8,   6,  23,  13,  21, -14,  20,
647     -17, -18, -11, -33, -30, -11,  23, -13,  -5,  -9,
648     }, {
649      18,  -4, -17, -23,   4, -20,   4, -26,   3, -36,
650       0, -32,  -2, -12,  29,  34,  16,  24,  10,   6,
651       0,  12,   8,  -4,   8,  13,   0,   6, -16,  12,
652      -5, -13,  -3,  -7, -13,  -3,   8,   2, -14,   0,
653     }, {
654     -13,   0,   8,  -3,   0,   4,  21,  11,   9, -16,
655     -10, -18,  -5,  16,  10,  16,  -5,  15, -13,  -5,
656     -15,  -1,   6,  -4,  -6,  23,   2,  16, -17,  12,
657     -10, -44,  -3, -33,  -6,  12,  34,   1,  20,   3,
658     }, {
659       8, -12,  -3, -21,  -3, -14,   8,  -5,  -4, -28,
660      -7, -32,   2,   8,  12,  34,   4,  12,  -1,  -6,
661      -9,  -4,   7, -17,  -4,  13, -11,   1, -19,   4,
662       0, -39,   4,  -7,  11,  21,  20,  16,  10,  11,
663     }, {
664       4,   6,   0,   7,  -8,  -4,   0,  -6,   9, -13,
665      11,   7,  11,  15,  37,   4,   9,   5,  -5, -11,
666       5,   9,  22,   1,  27,  18,   4,  14,  -5,   0,
667     -12,   3,  -4, -32, -14, -12,  17, -22, -17, -11,
668     }, {
669      26,  -6, -11, -10, -12, -23, -12, -23,  -5, -24,
670      13,  -5,  19,   8,  38,  21,  20,   2,   6, -12,
671      11,   5,  23, -11,  29,   9,  -9,   0,  -7,  -6,
672      -1,   7,   2,  -7,   3,  -3,   2,  -6, -27,  -3,
673     }, {
674      -6,  -2,  14,   9, -16,   1,   3,  14,   0,  -5,
675       3,   8,  16,  36,  19,   3,  -1,  -6, -17, -24,
676      -4,  -7,  21, -11,  14,  18,  -7,   9,  -9,  -7,
677      -6, -22,   3, -33,  10,  11,  28,  -7,   7,   0,
678     }, {
679      16, -14,   2,  -8, -20, -17,  -9,  -2, -14, -16,
680       6,  -5,  24,  28,  21,  20,   8,  -9,  -4, -25,
681       1, -11,  22, -24,  15,   8, -21,  -5, -11, -14,
682       5, -18,  11,  -7,  27,  20,  14,   7,  -1,   9,
683     }, {
684     -16,  27,   2,  10,  13,  16,  20, -20,  29, -20,
685     -14, -16, -13,  -8,   9,  13,  -2,  33,   9,  19,
686      17,  23,  17,  22,   6,   6,  -9,  -2, -12,  -2,
687     -20, -13, -13, -10, -45,  -4,  16,  -8,  -2,  -7,
688     }, {
689       5,  15,  -9,  -7,   9,  -2,   8, -37,  14, -31,
690     -11, -29,  -5, -16,  11,  30,   7,  29,  21,  18,
691      23,  19,  18,   9,   7,  -3, -23, -17, -14,  -9,
692      -8,  -9,  -6,  15, -27,   4,   2,   6, -12,   1,
693     }, {
694     -26,  19,  15,  12,   5,  22,  24,   0,  21, -12,
695     -21, -15,  -8,  11,  -7,  12, -14,  20,  -2,   6,
696       7,   6,  16,   9,  -6,   5, -21,  -7, -15, -10,
697     -13, -39,  -5, -10, -20,  19,  28,   5,  22,   5,
698     }, {
699      -4,   6,   3,  -5,   1,   4,  11, -16,   6, -23,
700     -19, -29,   0,   3,  -6,  30,  -3,  17,  10,   5,
701      13,   2,  17,  -3,  -5,  -3, -35, -21, -17, -17,
702      -2, -35,   2,  15,  -3,  28,  13,  21,  13,  13,
703     }, {
704      -8,  25,   8,  23,  -3,  13,   3, -17,  20,  -8,
705       0,  10,   8,  11,  18,   0,   1,  10,   5,   0,
706      28,  17,  32,  15,  26,   1, -19,  -9,  -3, -21,
707     -15,   7,  -6,  -9, -29,  -5,  10, -17, -15,  -9,
708     }, {
709      13,  13,  -3,   5,  -7,  -4,  -9, -34,   5, -20,
710       2,  -3,  16,   3,  20,  17,  11,   7,  17,   0,
711      34,  13,  33,   2,  28,  -8, -32, -24,  -5, -29,
712      -3,  12,   0,  15, -11,   3,  -3,  -2, -24,  -1,
713     }, {
714     -18,  17,  21,  25, -11,  19,   6,   3,  11,   0,
715      -7,  11,  13,  31,   1,   0,  -9,  -1,  -5, -12,
716      18,   0,  31,   2,  13,   1, -30, -14,  -7, -29,
717      -9, -18,   1, -10,  -4,  18,  22,  -3,  10,   2,
718     }, {
719       3,   5,   9,   7, -15,   1,  -5, -13,  -2, -12,
720      -5,  -2,  21,  23,   2,  16,   0,  -5,   6, -13,
721      23,  -3,  32, -10,  15,  -8, -44, -28,  -9, -37,
722       2, -13,   9,  15,  12,  27,   7,  12,   0,  11,
723     }, {
724     -44,   6, -30,  -8,   9,  10,  11,  14,  23,  -5,
725       8,  -4,  14, -12,  37,  14,  12,  26,   4,  16,
726      -8,  16,  -9,   7,  -6,  19,  12,  25,  -5,  24,
727     -15, -13,  -8, -36, -34, -31,  -1, -18,  -4, -18,
728     }, {
729     -22,  -5, -42, -26,   6,  -8,  -1,  -2,   9, -17,
730      10, -18,  21, -19,  39,  31,  23,  23,  16,  15,
731      -2,  12,  -7,  -6,  -5,   9,  -1,  10,  -7,  16,
732      -4,  -9,   0, -10, -17, -22, -16,  -2, -14,  -9,
733     }, {
734     -55,  -1, -17,  -6,   1,  16,  15,  35,  15,   2,
735       0,  -4,  19,   8,  20,  13,   1,  14,  -7,   3,
736     -18,   0, -10,  -5, -19,  19,   0,  21,  -8,  16,
737      -9, -39,   0, -36, -10,  -7,   9,  -4,  20,  -5,
738     }, {
739     -33, -13, -29, -24,  -1,  -1,   2,  18,   0,  -9,
740       3, -17,  27,   0,  21,  30,  12,  11,   5,   2,
741     -12,  -4,  -9, -19, -18,   9, -13,   6, -11,   8,
742       2, -35,   8, -10,   7,   1,  -4,  11,  10,   2,
743     }, {
744     -36,   5, -24,   4,  -7,   7,  -6,  17,  14,   5,
745      22,  22,  35,   8,  46,   1,  17,   3,   0,  -2,
746       2,  10,   5,   0,  14,  15,   2,  18,   2,   4,
747     -11,   7,  -1, -36, -18, -32,  -7, -27, -17, -20,
748     }, {
749     -14,  -7, -36, -13, -10, -10, -18,   0,   0,  -5,
750      25,   8,  43,   0,  48,  18,  27,   0,  12,  -3,
751       7,   6,   7, -13,  15,   5, -11,   3,   0,  -2,
752       0,  12,   6, -10,   0, -23, -22, -11, -26, -12,
753     }, {
754     -47,  -3, -11,   6, -15,  13,  -2,  38,   6,  13,
755      15,  22,  40,  28,  28,   0,   5,  -8, -10, -15,
756      -7,  -7,   4, -13,   1,  14,  -9,  14,   0,  -2,
757      -4, -18,   7, -36,   6,  -8,   3, -13,   7,  -8,
758     }, {
759     -25, -15, -22, -11, -18,  -4, -15,  22,  -8,   2,
760      17,   9,  48,  20,  30,  17,  16, -11,   1, -16,
761      -2, -10,   5, -26,   2,   4, -22,   0,  -2, -10,
762       6, -13,  14, -10,  23,   0, -10,   2,  -1,   0,
763     }, {
764     -57,  26, -22,   7,  14,  28,  14,   3,  35,   0,
765      -3,  -1,  11, -16,  18,  10,   4,  31,  15,  28,
766      14,  23,   1,  21,  -7,   2, -11,   1,  -3,   1,
767     -18,  -9, -10, -13, -49, -24,  -8, -14,  -2, -16,
768     }, {
769     -35,  14, -34, -10,  10,  10,   1, -12,  20, -12,
770       0, -15,  18, -24,  20,  27,  14,  28,  27,  27,
771      20,  19,   2,   8,  -5,  -7, -25, -13,  -5,  -5,
772      -6,  -5,  -2,  12, -31, -15, -23,   1, -12,  -8,
773     }, {
774     -68,  18,  -9,   9,   6,  35,  18,  25,  26,   7,
775     -10,  -1,  16,   3,   1,   9,  -6,  19,   4,  15,
776       4,   6,   0,   8, -20,   2, -23,  -2,  -7,  -5,
777     -12, -35,  -1, -13, -24,   0,   3,   0,  22,  -4,
778     }, {
779     -46,   6, -21,  -8,   2,  16,   5,   8,  11,  -4,
780      -8, -15,  24,  -4,   2,  26,   3,  16,  16,  14,
781       9,   2,   1,  -4, -19,  -7, -36, -17,  -9, -13,
782       0, -31,   5,  12,  -7,   8, -11,  15,  13,   4,
783     }, {
784     -49,  24, -16,  20,  -2,  26,  -2,   7,  25,  10,
785      11,  25,  32,   3,  27,  -2,   8,   8,  11,   9,
786      24,  17,  16,  14,  13,  -2, -20,  -5,   4, -17,
787     -14,  12,  -3, -13, -33, -25, -14, -23, -15, -19,
788     }, {
789     -27,  12, -28,   2,  -6,   7, -15,  -9,  11,  -1,
790      13,  11,  40,  -4,  29,  14,  19,   5,  23,   8,
791      30,  13,  17,   0,  14, -12, -34, -20,   2, -25,
792      -2,  16,   4,  12, -15, -16, -29,  -7, -24, -10,
793     }, {
794     -60,  16,  -3,  22, -10,  32,   0,  28,  17,  18,
795       3,  25,  37,  23,  10,  -3,  -2,  -3,   0,  -3,
796      14,   0,  14,   1,   0,  -2, -32,  -9,   1, -25,
797      -7, -13,   5, -13,  -8,  -1,  -2,  -8,  10,  -6,
798     }, {
799     -38,   4, -15,   4, -14,  13, -12,  11,   2,   6,
800       6,  11,  45,  16,  11,  13,   7,  -6,  12,  -4,
801      20,  -3,  16, -12,   1, -12, -46, -24,   0, -33,
802       3,  -9,  12,  12,   8,   7, -17,   6,   0,   2
803     }
804 };
805
806 static const int8_t cb2_vects[128][40]={
807     {
808      73, -32, -60, -15, -26,  59,   2, -33,  30, -10,
809      -3, -17,   8,  30,  -1, -26,  -4, -22,  10,  16,
810     -36,  -5, -11,  56,  37,   6, -10,  -5, -13,  -3,
811       6,  -5,  11,   4, -19,  -5, -16,  41,  24,  13,
812     }, {
813       4, -11, -37,  23,  -5,  46,  -2, -29,  -5, -39,
814     -21,  -9,   0,  49,  12,  -9, -16, -26,  22,  15,
815     -45, -20,  -5,  40,  22,  17, -26,  31, -14,   2,
816     -14,  10,  30,  20, -27,  -9, -39,  39,  18,   5,
817     }, {
818      34, -25, -48, -28, -11,  34,  -2, -41,   9,  -7,
819     -17,  21,  20,  24, -17, -33,   0, -24,  10,  42,
820       3,  -5,  10,  42,  11,   8,  -3,   3,  16,   9,
821      22,  -2,   0, -33, -10,  18,   7,  58,  10,  28,
822     }, {
823     -34,  -4, -25,  10,   9,  21,  -7, -36, -26, -36,
824     -35,  28,  12,  42,  -3, -16, -12, -28,  21,  42,
825      -5, -21,  16,  26,  -4,  19, -19,  39,  15,  15,
826       1,  13,  19, -17, -17,  14, -15,  55,   4,  19,
827     }, {
828      28, -20, -51, -14,  -6,   7,   0, -26,  27,  -4,
829      18, -40,  -6,  16,  -1, -15,   0, -55,  -5, -16,
830     -19,  14,  -3,  49,  14,   1, -22, -30, -12,   0,
831      24,  15,   9, -17, -45, -29,   4,  28,  51,  35,
832     }, {
833     -40,   0, -28,  24,  14,  -5,  -4, -21,  -7, -33,
834       0, -32, -15,  35,  12,   1, -11, -58,   5, -16,
835     -28,   0,   1,  33,   0,  11, -39,   5, -14,   6,
836       3,  31,  28,  -1, -53, -33, -19,  25,  46,  26,
837     }, {
838     -11, -14, -39, -27,   9, -17,  -4, -33,   6,   0,
839       4,  -1,   5,  10, -17, -22,   5, -57,  -5,   9,
840      20,  13,  18,  35, -11,   3, -16, -22,  17,  13,
841      40,  19,  -1, -55, -35,  -5,  27,  44,  37,  49,
842     }, {
843     -80,   6, -16,  11,  30, -30,  -9, -28, -28, -29,
844     -13,   6,  -2,  28,  -3,  -5,  -7, -60,   5,   9,
845      11,  -1,  24,  19, -27,  13, -32,  13,  15,  19,
846      19,  35,  17, -39, -43,  -9,   4,  42,  32,  41,
847     }, {
848      78, -21, -43,   4, -38,  17,  17,  -5,  55,  24,
849     -15, -36,  14,   4,  24, -24,  12,   5,  17,  31,
850     -54,  -5,  -2,  27,  43, -12,   2,   9,  -9, -15,
851      22,  -3,  28,  21, -20,   3,  20,  28,   9,  -5,
852     }, {
853       9,  -1, -20,  43, -17,   3,  12,   0,  20,  -4,
854     -33, -29,   6,  22,  38,  -7,   0,   1,  29,  30,
855     -63, -21,   3,  11,  27,  -1, -14,  45, -10,  -9,
856       1,  12,  47,  37, -28,   0,  -2,  26,   4, -13,
857     }, {
858      39, -14, -30,  -8, -22,  -8,  12, -12,  34,  27,
859     -29,   2,  26,  -2,   8, -31,  16,   3,  17,  57,
860     -14,  -6,  19,  13,  16, -10,   8,  17,  20,  -2,
861      38,   0,  17, -16, -11,  27,  44,  45,  -4,   8,
862     }, {
863     -29,   5,  -7,  30,  -1, -21,   7,  -7,   0,   0,
864     -47,   9,  18,  15,  22, -14,   4,   0,  28,  57,
865     -23, -21,  25,  -2,   1,   0,  -7,  53,  19,   3,
866      17,  15,  36,   0, -19,  24,  21,  43,  -9,   0,
867     }, {
868      33, -10, -34,   5, -17, -35,  15,   1,  53,  30,
869       6, -59,   0, -10,  24, -13,  17, -27,   1,  -1,
870     -37,  13,   4,  20,  20, -18, -10, -16,  -8, -11,
871      39,  18,  26,   0, -46, -20,  41,  15,  37,  15,
872     }, {
873     -35,  10, -11,  44,   3, -48,  10,   6,  17,   2,
874     -11, -51,  -8,   8,  38,   3,   4, -31,  12,  -2,
875     -46,  -1,  10,   4,   5,  -7, -26,  19, -10,  -5,
876      18,  34,  45,  15, -54, -24,  18,  13,  31,   7,
877     }, {
878      -5,  -3, -21,  -7,  -2, -60,  10,  -5,  32,  34,
879      -7, -20,  11, -16,   8, -20,  21, -29,   1,  24,
880       2,  13,  27,   6,  -5, -15,  -3,  -8,  21,   1,
881      55,  21,  15, -38, -37,   3,  65,  32,  23,  30,
882     }, {
883     -74,  17,   0,  31,  18, -73,   5,   0,  -3,   5,
884     -25, -12,   3,   1,  22,  -3,   9, -33,  12,  24,
885      -6,  -2,  33,  -9, -21,  -5, -20,  27,  19,   7,
886      34,  37,  34, -22, -44,   0,  41,  29,  17,  21,
887     }, {
888      76, -35, -31, -28, -49,  43, -40,   0,  29, -14,
889       8,   5,  10,  18, -26, -46,   0,   7,   6,   3,
890     -25,  -7,  -2,  40,  28,  14,  18,  -3, -27, -28,
891      -8, -45, -13,  34, -13, -27, -15,  31,  12,   3,
892     }, {
893       7, -15,  -9,   9, -28,  29, -45,   5,  -6, -43,
894      -9,  12,   2,  36, -12, -30, -11,   3,  17,   3,
895     -34, -22,   3,  24,  12,  24,   2,  32, -28, -22,
896     -29, -29,   5,  50, -21, -31, -38,  29,   7,  -5,
897     }, {
898      36, -29, -19, -41, -34,  18, -45,  -6,   8, -10,
899      -5,  43,  23,  11, -42, -53,   5,   5,   6,  30,
900      14,  -8,  20,  26,   1,  16,  25,   4,   3, -15,
901       7, -41, -23,  -3,  -4,  -3,   8,  48,  -1,  17,
902     }, {
903     -32,  -8,   3,  -2, -13,   4, -50,  -1, -27, -39,
904     -23,  51,  15,  30, -27, -37,  -7,   1,  17,  29,
905       5, -23,  25,  10, -14,  26,   8,  41,   1,  -9,
906     -13, -26,  -5,  12, -12,  -7, -14,  45,  -6,   9,
907     }, {
908      31, -24, -23, -27, -29,  -9, -43,   8,  26,  -7,
909      30, -17,  -4,   3, -26, -35,   5, -24, -10, -28,
910      -9,  12,   5,  33,   5,   8,   5, -29, -26, -24,
911       9, -23, -14,  12, -39, -52,   5,  18,  39,  24,
912     }, {
913     -37,  -3,   0,  10,  -7, -22, -48,  12,  -8, -36,
914      12,  -9, -12,  22, -12, -19,  -6, -28,   0, -29,
915     -18,  -3,  11,  17, -10,  18, -10,   7, -27, -18,
916     -11,  -7,   3,  28, -47, -55, -18,  15,  34,  16,
917     }, {
918      -8, -17, -10, -40, -13, -34, -47,   0,   5,  -4,
919      16,  21,   8,  -2, -42, -43,  10, -26, -10,  -2,
920      31,  11,  27,  19, -21,  10,  12, -20,   3, -11,
921      25, -20, -25, -25, -29, -28,  28,  34,  25,  38,
922     }, {
923     -77,   2,  11,  -1,   7, -47, -52,   5, -29, -33,
924      -1,  28,   0,  15, -28, -26,  -2, -30,   0,  -2,
925      22,  -4,  33,   3, -36,  21,  -3,  15,   2,  -5,
926       4,  -4,  -6,  -9, -37, -31,   5,  32,  20,  30,
927     }, {
928      81, -25, -14,  -8, -61,   0, -25,  28,  54,  20,
929      -3, -14,  17,  -8,   0, -44,  16,  35,  13,  18,
930     -43,  -7,   6,  11,  33,  -4,  30,  11, -22, -40,
931       6, -43,   3,  50, -14, -18,  22,  18,  -1, -16,
932     }, {
933      12,  -4,   8,  29, -39, -12, -30,  33,  19,  -8,
934     -21,  -6,   8,   9,  13, -28,   4,  31,  24,  18,
935     -52, -23,  12,  -4,  18,   5,  14,  47, -24, -34,
936     -14, -27,  22,  66, -22, -22,  -1,  16,  -6, -24,
937     }, {
938      41, -18,  -2, -21, -45, -24, -30,  21,  33,  24,
939     -17,  24,  29, -15, -16, -51,  21,  33,  13,  45,
940      -3,  -8,  28,  -2,   7,  -2,  37,  19,   7, -27,
941      22, -39,  -7,  12,  -5,   5,  45,  35, -15,  -1,
942     }, {
943     -27,   1,  20,  17, -24, -38, -35,  26,  -1,  -4,
944     -35,  32,  21,   3,  -2, -35,   8,  29,  24,  44,
945     -12, -24,  34, -18,  -8,   7,  21,  55,   5, -21,
946       2, -23,  11,  28, -13,   1,  22,  33, -21, -10,
947     }, {
948      36, -13,  -5,  -7, -40, -51, -28,  36,  52,  27,
949      18, -36,   2, -22,   0, -33,  21,   2,  -3, -13,
950     -26,  11,  14,   4,  10, -10,  18, -14, -22, -36,
951      24, -21,   1,  28, -40, -42,  42,   5,  25,   5,
952     }, {
953     -32,   6,  17,  31, -19, -65, -33,  41,  16,  -1,
954       0, -29,  -6,  -4,  13, -17,   9,  -1,   8, -14,
955     -35,  -3,  19, -11,  -4,   0,   1,  21, -23, -30,
956       3,  -5,  20,  44, -48, -46,  19,   3,  20,  -3,
957     }, {
958      -3,  -7,   6, -20, -25, -77, -32,  29,  31,  30,
959       4,   2,  14, -29, -16, -40,  26,   0,  -3,  12,
960      13,  10,  36,  -9, -15,  -8,  24,  -6,   7, -22,
961      40, -17,  -8,  -9, -31, -18,  66,  22,  11,  19,
962     }, {
963     -72,  13,  29,  18,  -4, -90, -37,  34,  -4,   1,
964     -13,   9,   6, -11,  -2, -24,  13,  -3,   7,  11,
965       4,  -4,  42, -25, -31,   1,   8,  29,   6, -17,
966      19,  -2,  10,   6, -38, -22,  42,  19,   6,  11,
967     }, {
968     116, -20, -68, -30, -28,  83,  28, -18,  32, -22,
969     -13, -21,   5,  28,   5,  -7, -24,  -8, -22,  17,
970     -23,  30, -25,  45,  15,  -9, -11, -18,  22, -10,
971       4,  -2,  19, -12,  23,   3, -43,   2,  12,  -4,
972     }, {
973      47,   0, -45,   7,  -7,  69,  23, -13,  -2, -51,
974     -32, -14,  -3,  47,  19,   8, -37, -11, -10,  16,
975     -32,  15, -19,  29,   0,   1, -28,  18,  20,  -4,
976     -16,  13,  38,   3,  15,   0, -66,   0,   7, -13,
977     }, {
978      77, -13, -56, -43, -13,  57,  23, -26,  11, -19,
979     -27,  16,  17,  22, -10, -15, -19, -10, -22,  43,
980      16,  30,  -2,  31, -11,  -6,  -5,  -9,  52,   2,
981      20,   0,   8, -50,  33,  27, -19,  19,  -1,   9,
982     }, {
983       8,   6, -33,  -4,   7,  44,  18, -21, -23, -48,
984     -46,  24,   9,  40,   3,   1, -32, -13, -11,  43,
985       7,  14,   3,  15, -26,   3, -21,  26,  50,   8,
986       0,  16,  27, -34,  25,  23, -43,  17,  -6,   1,
987     }, {
988      71,  -9, -59, -29,  -8,  30,  26, -11,  30, -16,
989       8, -44,  -9,  14,   5,   2, -19, -40, -38, -15,
990      -7,  50, -17,  38,  -7, -14, -24, -43,  22,  -6,
991      22,  19,  17, -34,  -2, -20, -23, -10,  39,  16,
992     }, {
993       2,  11, -36,   9,  13,  17,  21,  -6,  -5, -45,
994     -10, -36, -18,  33,  19,  19, -31, -44, -27, -15,
995     -16,  34, -11,  22, -22,  -4, -40,  -7,  21,   0,
996       1,  35,  36, -18, -10, -24, -46, -12,  34,   8,
997     }, {
998      32,  -2, -47, -42,   7,   5,  21, -18,   9, -12,
999      -5,  -5,   2,   8, -10,  -4, -14, -42, -38,  10,
1000      33,  49,   5,  24, -33, -12, -17, -35,  52,   6,
1001      38,  22,   7, -72,   7,   3,   0,   6,  25,  30,
1002     }, {
1003     -36,  18, -24,  -3,  28,  -7,  16, -13, -26, -41,
1004     -24,   1,  -5,  26,   3,  12, -27, -46, -27,  10,
1005      24,  34,  10,   8, -49,  -2, -34,   0,  51,  12,
1006      17,  38,  25, -56,   0,   0, -22,   3,  20,  22,
1007     }, {
1008     121,  -9, -50, -10, -40,  40,  43,   9,  58,  12,
1009     -25, -41,  11,   2,  31,  -5,  -8,  19, -15,  32,
1010     -41,  30, -16,  16,  20, -28,   0,  -3,  26, -22,
1011      19,   0,  36,   4,  22,  12,  -6,  -9,  -1, -24,
1012     }, {
1013      52,  10, -27,  27, -18,  26,  38,  14,  23, -16,
1014     -44, -33,   3,  20,  45,  10, -20,  15,  -3,  31,
1015     -50,  14, -10,   0,   5, -17, -15,  32,  24, -16,
1016      -1,  15,  55,  20,  14,   8, -29, -12,  -7, -32,
1017     }, {
1018      82,  -3, -38, -23, -24,  15,  38,   2,  37,  15,
1019     -39,  -2,  23,  -4,  15, -12,  -3,  17, -15,  58,
1020      -1,  29,   6,   2,  -5, -26,   7,   4,  56,  -9,
1021      35,   3,  25, -33,  32,  36,  17,   7, -15,  -9,
1022     }, {
1023      13,  17, -15,  15,  -3,   1,  33,   7,   1, -12,
1024     -58,   5,  15,  13,  29,   3, -16,  13,  -4,  57,
1025     -10,  13,  11, -13, -21, -15,  -9,  40,  55,  -3,
1026      14,  19,  44, -17,  24,  32,  -5,   4, -21, -18,
1027     }, {
1028      76,   1, -41,  -9, -19, -12,  41,  17,  55,  18,
1029      -3, -63,  -3, -12,  30,   5,  -3, -12, -31,   0,
1030     -24,  49,  -8,   9,  -1, -33, -12, -29,  27, -18,
1031      37,  21,  34, -17,  -3, -11,  14, -23,  25,  -2,
1032     }, {
1033       7,  22, -18,  29,   1, -25,  36,  21,  20,  -9,
1034     -22, -56, -11,   6,  45,  21, -15, -16, -20,  -1,
1035     -33,  34,  -2,  -6, -17, -23, -28,   6,  25, -12,
1036      16,  37,  53,  -1, -11, -15,  -8, -25,  20, -11,
1037     }, {
1038      37,   8, -29, -22,  -4, -37,  36,   9,  34,  22,
1039     -17, -24,   8, -18,  15,  -2,   1, -14, -31,  25,
1040      15,  48,  13,  -4, -28, -31,  -5, -21,  57,  -4,
1041      53,  24,  23, -55,   6,  12,  37,  -6,  11,  11,
1042     }, {
1043     -31,  28,  -6,  16,  16, -50,  31,  14,   0,  -6,
1044     -36, -17,   0,   0,  29,  14, -11, -18, -20,  25,
1045       6,  33,  19, -20, -43, -21, -21,  14,  55,   0,
1046      32,  40,  42, -39,  -1,   8,  14,  -8,   6,   3,
1047     }, {
1048     119, -24, -39, -44, -51,  66, -14,  15,  31, -26,
1049      -1,   0,   7,  16, -19, -28, -19,  22, -26,   4,
1050     -13,  28, -16,  29,   5,  -1,  16, -16,   8, -35,
1051     -10, -42,  -4,  17,  29, -19, -42,  -7,   0, -15,
1052     }, {
1053      50,  -3, -16,  -5, -30,  53, -19,  20,  -3, -55,
1054     -19,   8,   0,  34,  -5, -11, -32,  18, -15,   4,
1055     -22,  13, -10,  13,  -9,   8,   0,  19,   7, -29,
1056     -31, -26,  13,  33,  21, -22, -65,  -9,  -4, -23,
1057     }, {
1058      79, -17, -27, -56, -36,  41, -19,   8,  10, -22,
1059     -15,  39,  20,   9, -35, -35, -15,  20, -26,  31,
1060      26,  27,   6,  15, -20,   0,  23,  -8,  38, -22,
1061       5, -38, -15, -20,  39,   4, -18,   9, -13,  -1,
1062     }, {
1063      10,   3,  -4, -18, -15,  27, -24,  13, -24, -51,
1064     -34,  47,  12,  28, -21, -19, -27,  16, -15,  30,
1065      17,  12,  12,   0, -36,  10,   7,  27,  37, -16,
1066     -15, -22,   3,  -4,  31,   1, -42,   7, -18,  -9,
1067     }, {
1068      74, -12, -30, -42, -30,  14, -16,  23,  29, -19,
1069      20, -21,  -7,   1, -19, -17, -14, -10, -43, -27,
1070       3,  48,  -8,  22, -16,  -7,   4, -42,   9, -31,
1071       6, -20,  -6,  -4,   3, -43, -22, -20,  28,   5,
1072     }, {
1073       5,   7,  -7,  -4,  -9,   0, -21,  28,  -6, -48,
1074       2, -14, -15,  20,  -5,   0, -27, -14, -32, -28,
1075      -5,  32,  -2,   6, -32,   3, -12,  -5,   8, -25,
1076     -14,  -4,  12,  11,  -4, -47, -45, -22,  22,  -2,
1077     }, {
1078      34,  -6, -18, -55, -15, -11, -21,  16,   8, -16,
1079       6,  16,   5,  -4, -35, -24, -10, -12, -43,  -1,
1080      43,  47,  14,   8, -43,  -5,  10, -34,  39, -18,
1081      22, -16, -17, -42,  13, -19,   1,  -3,  14,  20,
1082     }, {
1083     -34,  14,   4, -17,   5, -24, -26,  20, -27, -45,
1084     -12,  24,  -2,  13, -21,  -8, -22, -16, -32,  -2,
1085      34,  31,  20,  -7, -58,   5,  -5,   2,  38, -12,
1086       2,  -1,   1, -26,   5, -23, -21,  -6,   8,  11,
1087     }, {
1088     124, -13, -21, -23, -62,  23,   0,  43,  57,   8,
1089     -13, -18,  14, -10,   6, -26,  -3,  49, -19,  19,
1090     -31,  27,  -7,   0,  11, -20,  29,  -1,  12, -47,
1091       4, -39,  11,  34,  28,  -9,  -5, -19, -13, -34,
1092     }, {
1093      55,   6,   1,  14, -41,  10,  -4,  48,  22, -20,
1094     -31, -10,   5,   7,  20,  -9, -16,  45,  -8,  19,
1095     -40,  12,  -1, -15,  -4, -10,  12,  34,  11, -41,
1096     -16, -24,  30,  49,  20, -13, -28, -22, -18, -43,
1097     }, {
1098      84,  -6,  -9, -36, -47,  -1,  -4,  36,  36,  12,
1099     -27,  20,  26, -17,  -9, -33,   1,  47, -19,  46,
1100       9,  27,  15, -13, -15, -18,  35,   6,  42, -33,
1101      20, -36,   1,  -4,  38,  14,  18,  -2, -27, -20,
1102     }, {
1103      15,  13,  13,   1, -26, -14,  -9,  41,   1, -16,
1104     -46,  27,  18,   1,   4, -16, -11,  43,  -8,  45,
1105       0,  11,  21, -29, -30,  -8,  19,  42,  41, -28,
1106       0, -20,  20,  11,  30,  10,  -4,  -5, -32, -28,
1107     }, {
1108      79,  -2, -12, -22, -42, -28,  -1,  51,  54,  15,
1109       8, -41,   0, -24,   6, -15,   1,  17, -36, -12,
1110     -14,  47,   0,  -6, -11, -26,  16, -27,  13, -43,
1111      22, -18,  10,  12,   2, -34,  15, -33,  13, -13,
1112     }, {
1113      10,  18,  10,  15, -21, -41,  -6,  56,  19, -13,
1114      -9, -33,  -9,  -6,  20,   1, -11,  13, -24, -13,
1115     -23,  32,   6, -22, -26, -15,   0,   8,  12, -37,
1116       1,  -2,  28,  27,  -5, -37,  -7, -35,   8, -21,
1117     }, {
1118      39,   4,   0, -35, -27, -53,  -6,  44,  33,  18,
1119      -5,  -2,  11, -31,  -9, -22,   6,  15, -36,  13,
1120      25,  46,  23, -20, -37, -24,  23, -19,  43, -29,
1121      38, -14,   0, -26,  12, -10,  38, -16,   0,   0,
1122     }, {
1123     -29,  25,  22,   2,  -6, -67, -11,  49,  -1, -10,
1124     -24,   5,   3, -13,   4,  -5,  -6,  11, -25,  12,
1125      16,  31,  28, -36, -53, -13,   6,  16,  42, -24,
1126      17,   1,  18, -10,   4, -13,  15, -18,  -5,  -7,
1127     }, {
1128      29, -25, -22,  -2,   6,  67,  11, -49,   1,  10,
1129      24,  -5,  -3,  13,  -4,   5,   6, -11,  25, -12,
1130     -16, -31, -28,  36,  53,  13,  -6, -16, -42,  24,
1131     -17,  -1, -18,  10,  -4,  13, -15,  18,   5,   7,
1132     }, {
1133     -39,  -4,   0,  35,  27,  53,   6, -44, -33, -18,
1134       5,   2, -11,  31,   9,  22,  -6, -15,  36, -13,
1135     -25, -46, -23,  20,  37,  24, -23,  19, -43,  29,
1136     -38,  14,   0,  26, -12,  10, -38,  16,   0,   0,
1137     }, {
1138     -10, -18, -10, -15,  21,  41,   6, -56, -19,  13,
1139       9,  33,   9,   6, -20,  -1,  11, -13,  24,  13,
1140      23, -32,  -6,  22,  26,  15,   0,  -8, -12,  37,
1141      -1,   2, -28, -27,   5,  37,   7,  35,  -8,  21,
1142     }, {
1143     -79,   2,  12,  22,  42,  28,   1, -51, -54, -15,
1144      -8,  41,   0,  24,  -6,  15,  -1, -17,  36,  12,
1145      14, -47,   0,   6,  11,  26, -16,  27, -13,  43,
1146     -22,  18, -10, -12,  -2,  34, -15,  33, -13,  13,
1147     }, {
1148     -15, -13, -13,  -1,  26,  14,   9, -41,  -1,  16,
1149      46, -27, -18,  -1,  -4,  16,  11, -43,   8, -45,
1150       0, -11, -21,  29,  30,   8, -19, -42, -41,  28,
1151       0,  20, -20, -11, -30, -10,   4,   5,  32,  28,
1152     }, {
1153     -84,   6,   9,  36,  47,   1,   4, -36, -36, -12,
1154      27, -20, -26,  17,   9,  33,  -1, -47,  19, -46,
1155      -9, -27, -15,  13,  15,  18, -35,  -6, -42,  33,
1156     -20,  36,  -1,   4, -38, -14, -18,   2,  27,  20,
1157     }, {
1158     -55,  -6,  -1, -14,  41, -10,   4, -48, -22,  20,
1159      31,  10,  -5,  -7, -20,   9,  16, -45,   8, -19,
1160      40, -12,   1,  15,   4,  10, -12, -34, -11,  41,
1161      16,  24, -30, -49, -20,  13,  28,  22,  18,  43,
1162     }, {
1163    -124,  13,  21,  23,  62, -23,   0, -43, -57,  -8,
1164      13,  18, -14,  10,  -6,  26,   3, -49,  19, -19,
1165      31, -27,   7,   0, -11,  20, -29,   1, -12,  47,
1166      -4,  39, -11, -34, -28,   9,   5,  19,  13,  34,
1167     }, {
1168      34, -14,  -4,  17,  -5,  24,  26, -20,  27,  45,
1169      12, -24,   2, -13,  21,   8,  22,  16,  32,   2,
1170     -34, -31, -20,   7,  58,  -5,   5,  -2, -38,  12,
1171      -2,   1,  -1,  26,  -5,  23,  21,   6,  -8, -11,
1172     }, {
1173     -34,   6,  18,  55,  15,  11,  21, -16,  -8,  16,
1174      -6, -16,  -5,   4,  35,  24,  10,  12,  43,   1,
1175     -43, -47, -14,  -8,  43,   5, -10,  34, -39,  18,
1176     -22,  16,  17,  42, -13,  19,  -1,   3, -14, -20,
1177     }, {
1178      -5,  -7,   7,   4,   9,   0,  21, -28,   6,  48,
1179      -2,  14,  15, -20,   5,   0,  27,  14,  32,  28,
1180       5, -32,   2,  -6,  32,  -3,  12,   5,  -8,  25,
1181      14,   4, -12, -11,   4,  47,  45,  22, -22,   2,
1182     }, {
1183     -74,  12,  30,  42,  30, -14,  16, -23, -29,  19,
1184     -20,  21,   7,  -1,  19,  17,  14,  10,  43,  27,
1185      -3, -48,   8, -22,  16,   7,  -4,  42,  -9,  31,
1186      -6,  20,   6,   4,  -3,  43,  22,  20, -28,  -5,
1187     }, {
1188     -10,  -3,   4,  18,  15, -27,  24, -13,  24,  51,
1189      34, -47, -12, -28,  21,  19,  27, -16,  15, -30,
1190     -17, -12, -12,   0,  36, -10,  -7, -27, -37,  16,
1191      15,  22,  -3,   4, -31,  -1,  42,  -7,  18,   9,
1192     }, {
1193     -79,  17,  27,  56,  36, -41,  19,  -8, -10,  22,
1194      15, -39, -20,  -9,  35,  35,  15, -20,  26, -31,
1195     -26, -27,  -6, -15,  20,   0, -23,   8, -38,  22,
1196      -5,  38,  15,  20, -39,  -4,  18,  -9,  13,   1,
1197     }, {
1198     -50,   3,  16,   5,  30, -53,  19, -20,   3,  55,
1199      19,  -8,   0, -34,   5,  11,  32, -18,  15,  -4,
1200      22, -13,  10, -13,   9,  -8,   0, -19,  -7,  29,
1201      31,  26, -13, -33, -21,  22,  65,   9,   4,  23,
1202     }, {
1203    -119,  24,  39,  44,  51, -66,  14, -15, -31,  26,
1204       1,   0,  -7, -16,  19,  28,  19, -22,  26,  -4,
1205      13, -28,  16, -29,  -5,   1, -16,  16,  -8,  35,
1206      10,  42,   4, -17, -29,  19,  42,   7,   0,  15,
1207     }, {
1208      31, -28,   6, -16, -16,  50, -31, -14,   0,   6,
1209      36,  17,   0,   0, -29, -14,  11,  18,  20, -25,
1210      -6, -33, -19,  20,  43,  21,  21, -14, -55,   0,
1211     -32, -40, -42,  39,   1,  -8, -14,   8,  -6,  -3,
1212     }, {
1213     -37,  -8,  29,  22,   4,  37, -36,  -9, -34, -22,
1214      17,  24,  -8,  18, -15,   2,  -1,  14,  31, -25,
1215     -15, -48, -13,   4,  28,  31,   5,  21, -57,   4,
1216     -53, -24, -23,  55,  -6, -12, -37,   6, -11, -11,
1217     }, {
1218      -7, -22,  18, -29,  -1,  25, -36, -21, -20,   9,
1219      22,  56,  11,  -6, -45, -21,  15,  16,  20,   1,
1220      33, -34,   2,   6,  17,  23,  28,  -6, -25,  12,
1221     -16, -37, -53,   1,  11,  15,   8,  25, -20,  11,
1222     }, {
1223     -76,  -1,  41,   9,  19,  12, -41, -17, -55, -18,
1224       3,  63,   3,  12, -30,  -5,   3,  12,  31,   0,
1225      24, -49,   8,  -9,   1,  33,  12,  29, -27,  18,
1226     -37, -21, -34,  17,   3,  11, -14,  23, -25,   2,
1227     }, {
1228     -13, -17,  15, -15,   3,  -1, -33,  -7,  -1,  12,
1229      58,  -5, -15, -13, -29,  -3,  16, -13,   4, -57,
1230      10, -13, -11,  13,  21,  15,   9, -40, -55,   3,
1231     -14, -19, -44,  17, -24, -32,   5,  -4,  21,  18,
1232     }, {
1233     -82,   3,  38,  23,  24, -15, -38,  -2, -37, -15,
1234      39,   2, -23,   4, -15,  12,   3, -17,  15, -58,
1235       1, -29,  -6,  -2,   5,  26,  -7,  -4, -56,   9,
1236     -35,  -3, -25,  33, -32, -36, -17,  -7,  15,   9,
1237     }, {
1238     -52, -10,  27, -27,  18, -26, -38, -14, -23,  16,
1239      44,  33,  -3, -20, -45, -10,  20, -15,   3, -31,
1240      50, -14,  10,   0,  -5,  17,  15, -32, -24,  16,
1241       1, -15, -55, -20, -14,  -8,  29,  12,   7,  32,
1242     }, {
1243    -121,   9,  50,  10,  40, -40, -43,  -9, -58, -12,
1244      25,  41, -11,  -2, -31,   5,   8, -19,  15, -32,
1245      41, -30,  16, -16, -20,  28,   0,   3, -26,  22,
1246     -19,   0, -36,  -4, -22, -12,   6,   9,   1,  24,
1247     }, {
1248      36, -18,  24,   3, -28,   7, -16,  13,  26,  41,
1249      24,  -1,   5, -26,  -3, -12,  27,  46,  27, -10,
1250     -24, -34, -10,  -8,  49,   2,  34,   0, -51, -12,
1251     -17, -38, -25,  56,   0,   0,  22,  -3, -20, -22,
1252     }, {
1253     -32,   2,  47,  42,  -7,  -5, -21,  18,  -9,  12,
1254       5,   5,  -2,  -8,  10,   4,  14,  42,  38, -10,
1255     -33, -49,  -5, -24,  33,  12,  17,  35, -52,  -6,
1256     -38, -22,  -7,  72,  -7,  -3,   0,  -6, -25, -30,
1257     }, {
1258      -2, -11,  36,  -9, -13, -17, -21,   6,   5,  45,
1259      10,  36,  18, -33, -19, -19,  31,  44,  27,  15,
1260      16, -34,  11, -22,  22,   4,  40,   7, -21,   0,
1261      -1, -35, -36,  18,  10,  24,  46,  12, -34,  -8,
1262     }, {
1263     -71,   9,  59,  29,   8, -30, -26,  11, -30,  16,
1264      -8,  44,   9, -14,  -5,  -2,  19,  40,  38,  15,
1265       7, -50,  17, -38,   7,  14,  24,  43, -22,   6,
1266     -22, -19, -17,  34,   2,  20,  23,  10, -39, -16,
1267     }, {
1268      -8,  -6,  33,   4,  -7, -44, -18,  21,  23,  48,
1269      46, -24,  -9, -40,  -3,  -1,  32,  13,  11, -43,
1270      -7, -14,  -3, -15,  26,  -3,  21, -26, -50,  -8,
1271       0, -16, -27,  34, -25, -23,  43, -17,   6,  -1,
1272     }, {
1273     -77,  13,  56,  43,  13, -57, -23,  26, -11,  19,
1274      27, -16, -17, -22,  10,  15,  19,  10,  22, -43,
1275     -16, -30,   2, -31,  11,   6,   5,   9, -52,  -2,
1276     -20,   0,  -8,  50, -33, -27,  19, -19,   1,  -9,
1277     }, {
1278     -47,   0,  45,  -7,   7, -69, -23,  13,   2,  51,
1279      32,  14,   3, -47, -19,  -8,  37,  11,  10, -16,
1280      32, -15,  19, -29,   0,  -1,  28, -18, -20,   4,
1281      16, -13, -38,  -3, -15,   0,  66,   0,  -7,  13,
1282     }, {
1283    -116,  20,  68,  30,  28, -83, -28,  18, -32,  22,
1284      13,  21,  -5, -28,  -5,   7,  24,   8,  22, -17,
1285      23, -30,  25, -45, -15,   9,  11,  18, -22,  10,
1286      -4,   2, -19,  12, -23,  -3,  43,  -2, -12,   4,
1287     }, {
1288      72, -13, -29, -18,   4,  90,  37, -34,   4,  -1,
1289      13,  -9,  -6,  11,   2,  24, -13,   3,  -7, -11,
1290      -4,   4, -42,  25,  31,  -1,  -8, -29,  -6,  17,
1291     -19,   2, -10,  -6,  38,  22, -42, -19,  -6, -11,
1292     }, {
1293       3,   7,  -6,  20,  25,  77,  32, -29, -31, -30,
1294      -4,  -2, -14,  29,  16,  40, -26,   0,   3, -12,
1295     -13, -10, -36,   9,  15,   8, -24,   6,  -7,  22,
1296     -40,  17,   8,   9,  31,  18, -66, -22, -11, -19,
1297     }, {
1298      32,  -6, -17, -31,  19,  65,  33, -41, -16,   1,
1299       0,  29,   6,   4, -13,  17,  -9,   1,  -8,  14,
1300      35,   3, -19,  11,   4,   0,  -1, -21,  23,  30,
1301      -3,   5, -20, -44,  48,  46, -19,  -3, -20,   3,
1302     }, {
1303     -36,  13,   5,   7,  40,  51,  28, -36, -52, -27,
1304     -18,  36,  -2,  22,   0,  33, -21,  -2,   3,  13,
1305      26, -11, -14,  -4, -10,  10, -18,  14,  22,  36,
1306     -24,  21,  -1, -28,  40,  42, -42,  -5, -25,  -5,
1307     }, {
1308      27,  -1, -20, -17,  24,  38,  35, -26,   1,   4,
1309      35, -32, -21,  -3,   2,  35,  -8, -29, -24, -44,
1310      12,  24, -34,  18,   8,  -7, -21, -55,  -5,  21,
1311      -2,  23, -11, -28,  13,  -1, -22, -33,  21,  10,
1312     }, {
1313     -41,  18,   2,  21,  45,  24,  30, -21, -33, -24,
1314      17, -24, -29,  15,  16,  51, -21, -33, -13, -45,
1315       3,   8, -28,   2,  -7,   2, -37, -19,  -7,  27,
1316     -22,  39,   7, -12,   5,  -5, -45, -35,  15,   1,
1317     }, {
1318     -12,   4,  -8, -29,  39,  12,  30, -33, -19,   8,
1319      21,   6,  -8,  -9, -13,  28,  -4, -31, -24, -18,
1320      52,  23, -12,   4, -18,  -5, -14, -47,  24,  34,
1321      14,  27, -22, -66,  22,  22,   1, -16,   6,  24,
1322     }, {
1323     -81,  25,  14,   8,  61,   0,  25, -28, -54, -20,
1324       3,  14, -17,   8,   0,  44, -16, -35, -13, -18,
1325      43,   7,  -6, -11, -33,   4, -30, -11,  22,  40,
1326      -6,  43,  -3, -50,  14,  18, -22, -18,   1,  16,
1327     }, {
1328      77,  -2, -11,   1,  -7,  47,  52,  -5,  29,  33,
1329       1, -28,   0, -15,  28,  26,   2,  30,   0,   2,
1330     -22,   4, -33,  -3,  36, -21,   3, -15,  -2,   5,
1331      -4,   4,   6,   9,  37,  31,  -5, -32, -20, -30,
1332     }, {
1333       8,  17,  10,  40,  13,  34,  47,   0,  -5,   4,
1334     -16, -21,  -8,   2,  42,  43, -10,  26,  10,   2,
1335     -31, -11, -27, -19,  21, -10, -12,  20,  -3,  11,
1336     -25,  20,  25,  25,  29,  28, -28, -34, -25, -38,
1337     }, {
1338      37,   3,   0, -10,   7,  22,  48, -12,   8,  36,
1339     -12,   9,  12, -22,  12,  19,   6,  28,   0,  29,
1340      18,   3, -11, -17,  10, -18,  10,  -7,  27,  18,
1341      11,   7,  -3, -28,  47,  55,  18, -15, -34, -16,
1342     }, {
1343     -31,  24,  23,  27,  29,   9,  43,  -8, -26,   7,
1344     -30,  17,   4,  -3,  26,  35,  -5,  24,  10,  28,
1345       9, -12,  -5, -33,  -5,  -8,  -5,  29,  26,  24,
1346      -9,  23,  14, -12,  39,  52,  -5, -18, -39, -24,
1347     }, {
1348      32,   8,  -3,   2,  13,  -4,  50,   1,  27,  39,
1349      23, -51, -15, -30,  27,  37,   7,  -1, -17, -29,
1350      -5,  23, -25, -10,  14, -26,  -8, -41,  -1,   9,
1351      13,  26,   5, -12,  12,   7,  14, -45,   6,  -9,
1352     }, {
1353     -36,  29,  19,  41,  34, -18,  45,   6,  -8,  10,
1354       5, -43, -23, -11,  42,  53,  -5,  -5,  -6, -30,
1355     -14,   8, -20, -26,  -1, -16, -25,  -4,  -3,  15,
1356      -7,  41,  23,   3,   4,   3,  -8, -48,   1, -17,
1357     }, {
1358      -7,  15,   9,  -9,  28, -29,  45,  -5,   6,  43,
1359       9, -12,  -2, -36,  12,  30,  11,  -3, -17,  -3,
1360      34,  22,  -3, -24, -12, -24,  -2, -32,  28,  22,
1361      29,  29,  -5, -50,  21,  31,  38, -29,  -7,   5,
1362     }, {
1363     -76,  35,  31,  28,  49, -43,  40,   0, -29,  14,
1364      -8,  -5, -10, -18,  26,  46,   0,  -7,  -6,  -3,
1365      25,   7,   2, -40, -28, -14, -18,   3,  27,  28,
1366       8,  45,  13, -34,  13,  27,  15, -31, -12,  -3,
1367     }, {
1368      74, -17,   0, -31, -18,  73,  -5,   0,   3,  -5,
1369      25,  12,  -3,  -1, -22,   3,  -9,  33, -12, -24,
1370       6,   2, -33,   9,  21,   5,  20, -27, -19,  -7,
1371     -34, -37, -34,  22,  44,   0, -41, -29, -17, -21,
1372     }, {
1373       5,   3,  21,   7,   2,  60, -10,   5, -32, -34,
1374       7,  20, -11,  16,  -8,  20, -21,  29,  -1, -24,
1375      -2, -13, -27,  -6,   5,  15,   3,   8, -21,  -1,
1376     -55, -21, -15,  38,  37,  -3, -65, -32, -23, -30,
1377     }, {
1378      35, -10,  11, -44,  -3,  48, -10,  -6, -17,  -2,
1379      11,  51,   8,  -8, -38,  -3,  -4,  31, -12,   2,
1380      46,   1, -10,  -4,  -5,   7,  26, -19,  10,   5,
1381     -18, -34, -45, -15,  54,  24, -18, -13, -31,  -7,
1382     }, {
1383     -33,  10,  34,  -5,  17,  35, -15,  -1, -53, -30,
1384      -6,  59,   0,  10, -24,  13, -17,  27,  -1,   1,
1385      37, -13,  -4, -20, -20,  18,  10,  16,   8,  11,
1386     -39, -18, -26,   0,  46,  20, -41, -15, -37, -15,
1387     }, {
1388      29,  -5,   7, -30,   1,  21,  -7,   7,   0,   0,
1389      47,  -9, -18, -15, -22,  14,  -4,   0, -28, -57,
1390      23,  21, -25,   2,  -1,   0,   7, -53, -19,  -3,
1391     -17, -15, -36,   0,  19, -24, -21, -43,   9,   0,
1392     }, {
1393     -39,  14,  30,   8,  22,   8, -12,  12, -34, -27,
1394      29,  -2, -26,   2,  -8,  31, -16,  -3, -17, -57,
1395      14,   6, -19, -13, -16,  10,  -8, -17, -20,   2,
1396     -38,   0, -17,  16,  11, -27, -44, -45,   4,  -8,
1397     }, {
1398      -9,   1,  20, -43,  17,  -3, -12,   0, -20,   4,
1399      33,  29,  -6, -22, -38,   7,   0,  -1, -29, -30,
1400      63,  21,  -3, -11, -27,   1,  14, -45,  10,   9,
1401      -1, -12, -47, -37,  28,   0,   2, -26,  -4,  13,
1402     }, {
1403     -78,  21,  43,  -4,  38, -17, -17,   5, -55, -24,
1404      15,  36, -14,  -4, -24,  24, -12,  -5, -17, -31,
1405      54,   5,   2, -27, -43,  12,  -2,  -9,   9,  15,
1406     -22,   3, -28, -21,  20,  -3, -20, -28,  -9,   5,
1407     }, {
1408      80,  -6,  16, -11, -30,  30,   9,  28,  28,  29,
1409      13,  -6,   2, -28,   3,   5,   7,  60,  -5,  -9,
1410     -11,   1, -24, -19,  27, -13,  32, -13, -15, -19,
1411     -19, -35, -17,  39,  43,   9,  -4, -42, -32, -41,
1412     }, {
1413      11,  14,  39,  27,  -9,  17,   4,  33,  -6,   0,
1414      -4,   1,  -5, -10,  17,  22,  -5,  57,   5,  -9,
1415     -20, -13, -18, -35,  11,  -3,  16,  22, -17, -13,
1416     -40, -19,   1,  55,  35,   5, -27, -44, -37, -49,
1417     }, {
1418      40,   0,  28, -24, -14,   5,   4,  21,   7,  33,
1419       0,  32,  15, -35, -12,  -1,  11,  58,  -5,  16,
1420      28,   0,  -1, -33,   0, -11,  39,  -5,  14,  -6,
1421      -3, -31, -28,   1,  53,  33,  19, -25, -46, -26,
1422     }, {
1423     -28,  20,  51,  14,   6,  -7,   0,  26, -27,   4,
1424     -18,  40,   6, -16,   1,  15,   0,  55,   5,  16,
1425      19, -14,   3, -49, -14,  -1,  22,  30,  12,   0,
1426     -24, -15,  -9,  17,  45,  29,  -4, -28, -51, -35,
1427     }, {
1428      34,   4,  25, -10,  -9, -21,   7,  36,  26,  36,
1429      35, -28, -12, -42,   3,  16,  12,  28, -21, -42,
1430       5,  21, -16, -26,   4, -19,  19, -39, -15, -15,
1431      -1, -13, -19,  17,  17, -14,  15, -55,  -4, -19,
1432     }, {
1433     -34,  25,  48,  28,  11, -34,   2,  41,  -9,   7,
1434      17, -21, -20, -24,  17,  33,   0,  24, -10, -42,
1435      -3,   5, -10, -42, -11,  -8,   3,  -3, -16,  -9,
1436     -22,   2,   0,  33,  10, -18,  -7, -58, -10, -28,
1437     }, {
1438      -4,  11,  37, -23,   5, -46,   2,  29,   5,  39,
1439      21,   9,   0, -49, -12,   9,  16,  26, -22, -15,
1440      45,  20,   5, -40, -22, -17,  26, -31,  14,  -2,
1441      14, -10, -30, -20,  27,   9,  39, -39, -18,  -5,
1442     }, {
1443     -73,  32,  60,  15,  26, -59,  -2,  33, -30,  10,
1444       3,  17,  -8, -30,   1,  26,   4,  22, -10, -16,
1445      36,   5,  11, -56, -37,  -6,  10,   5,  13,   3,
1446      -6,   5, -11,  -4,  19,   5,  16, -41, -24, -13
1447     }
1448 };
1449
1450 static const uint16_t cb1_base[128]={
1451     19657, 18474, 18365, 17520, 21048, 18231, 18584, 16671,
1452     20363, 19069, 19409, 18430, 21844, 18753, 19613, 17411,
1453     20389, 21772, 20129, 21702, 20978, 20472, 19627, 19387,
1454     21477, 23134, 21841, 23919, 22089, 21519, 21134, 20852,
1455     19675, 17821, 19044, 17477, 19986, 16955, 18446, 16086,
1456     21138, 18899, 20952, 18929, 21452, 17833, 20104, 17159,
1457     19770, 20056, 20336, 20866, 19329, 18217, 18908, 18004,
1458     21556, 21948, 23079, 23889, 20922, 19544, 20984, 19781,
1459     19781, 20984, 19544, 20922, 23889, 23079, 21948, 21556,
1460     18004, 18908, 18217, 19329, 20866, 20336, 20056, 19770,
1461     17159, 20104, 17833, 21452, 18929, 20952, 18899, 21138,
1462     16086, 18446, 16955, 19986, 17477, 19044, 17821, 19675,
1463     20852, 21134, 21519, 22089, 23919, 21841, 23134, 21477,
1464     19387, 19627, 20472, 20978, 21702, 20129, 21772, 20389,
1465     17411, 19613, 18753, 21844, 18430, 19409, 19069, 20363,
1466     16671, 18584, 18231, 21048, 17520, 18365, 18474, 19657,
1467 };
1468
1469 static const uint16_t cb2_base[128]={
1470     12174, 13380, 13879, 13832, 13170, 13227, 13204, 12053,
1471     12410, 13988, 14348, 14631, 13100, 13415, 13224, 12268,
1472     11982, 13825, 13499, 14210, 13877, 14788, 13811, 13109,
1473     11449, 13275, 12833, 13717, 12728, 13696, 12759, 12405,
1474     10230, 12185, 11628, 13161, 11762, 13458, 12312, 12818,
1475     10443, 12773, 12011, 14020, 11818, 13825, 12453, 13226,
1476     10446, 13162, 11881, 14300, 12859, 16288, 13490, 15053,
1477     10155, 12820, 11519, 13973, 12041, 15081, 12635, 14198,
1478     14198, 12635, 15081, 12041, 13973, 11519, 12820, 10155,
1479     15053, 13490, 16288, 12859, 14300, 11881, 13162, 10446,
1480     13226, 12453, 13825, 11818, 14020, 12011, 12773, 10443,
1481     12818, 12312, 13458, 11762, 13161, 11628, 12185, 10230,
1482     12405, 12759, 13696, 12728, 13717, 12833, 13275, 11449,
1483     13109, 13811, 14788, 13877, 14210, 13499, 13825, 11982,
1484     12268, 13224, 13415, 13100, 14631, 14348, 13988, 12410,
1485     12053, 13204, 13227, 13170, 13832, 13879, 13380, 12174,
1486 };
1487
1488 static const int16_t energy_tab[32]={
1489         0,    16,    20,    25,    32,    41,    51,    65,
1490        81,   103,   129,   163,   205,   259,   326,   410,
1491       516,   650,   819,  1031,  1298,  1634,  2057,  2590,
1492      3261,  4105,  5168,  6507,  8192, 10313, 12983, 16345
1493 };
1494
1495 static const int16_t lpc_refl_cb1[64]={
1496     -4041, -4018, -3998, -3977, -3954, -3930, -3906, -3879,
1497     -3852, -3825, -3795, -3764, -3731, -3699, -3666, -3631,
1498     -3594, -3555, -3513, -3468, -3420, -3372, -3321, -3268,
1499     -3212, -3153, -3090, -3021, -2944, -2863, -2772, -2676,
1500     -2565, -2445, -2328, -2202, -2072, -1941, -1808, -1660,
1501     -1508, -1348, -1185,  -994,  -798,  -600,  -374,  -110,
1502       152,   447,   720,   982,  1229,  1456,  1682,  1916,
1503      2130,  2353,  2595,  2853,  3118,  3363,  3588,  3814
1504 };
1505
1506 static const int16_t lpc_refl_cb2[32]={
1507     -3091, -2386, -1871, -1425, -1021,  -649,  -316,   -20,
1508       267,   544,   810,  1065,  1305,  1534,  1756,  1970,
1509      2171,  2359,  2536,  2700,  2854,  2996,  3133,  3263,
1510      3386,  3499,  3603,  3701,  3789,  3870,  3947,  4020
1511 };
1512
1513 static const int16_t lpc_refl_cb3[32]={
1514     -3525, -3295, -3081, -2890, -2696, -2511, -2328, -2149,
1515     -1979, -1817, -1658, -1498, -1341, -1188, -1032,  -876,
1516      -721,  -561,  -394,  -228,   -54,   119,   296,   484,
1517       683,   895,  1123,  1373,  1651,  1965,  2360,  2854
1518 };
1519
1520 static const int16_t lpc_refl_cb4[16]={
1521     -1845, -1057,  -522,   -77,   301,   647,   975,  1285,
1522      1582,  1873,  2163,  2452,  2735,  3017,  3299,  3569
1523 };
1524
1525 static const int16_t lpc_refl_cb5[16]={
1526     -2691, -2187, -1788, -1435, -1118,  -837,  -571,  -316,
1527       -59,   201,   470,   759,  1077,  1457,  1908,  2495
1528 };
1529
1530 static const int16_t lpc_refl_cb6[8]={
1531     -1372,  -474,   133,   632,  1100,  1571,  2075,  2672
1532 };
1533
1534 static const int16_t lpc_refl_cb7[8]={
1535     -2389, -1787, -1231,  -717,  -239,   234,   770,  1474
1536 };
1537
1538 static const int16_t lpc_refl_cb8[8]={
1539     -1569,  -864,  -296,   200,   670,  1151,  1709,  2385
1540 };
1541
1542 static const int16_t lpc_refl_cb9[8]={
1543     -2200, -1608, -1062,  -569,  -120,   338,   863,  1621
1544 };
1545
1546 static const int16_t lpc_refl_cb10[4]={
1547      -617,   190,   802,  1483
1548 };
1549
1550 static const int16_t *lpc_refl_cb[10]={
1551     lpc_refl_cb1, lpc_refl_cb2, lpc_refl_cb3, lpc_refl_cb4, lpc_refl_cb5,
1552     lpc_refl_cb6, lpc_refl_cb7, lpc_refl_cb8, lpc_refl_cb9, lpc_refl_cb10
1553 };
1554
1555 #endif /* FFMPEG_RA144_H */