]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/blob - libavcodec/ra144.h
Rename table
[frescor/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 wavtable1[256][9] = {
29     { 541,   956,   768, -1011,  -811,  -717,  -571,  -893,  -576},
30     { 877,   581,   568,  -997,  -975,  -646,  -752,  -661,  -632},
31     { 675,   787,   635,  -519,  -838,  -977,  -890,  -605,  -789},
32     { 624,   732,   668,  -893,  -815,  -956,  -762,  -523,  -873},
33     { 623,   839,   697, -1022,  -849,  -571,  -759,  -688,  -949},
34     { 640,   693,   991,  -867,  -619,  -671,  -800,  -940,  -959},
35     { 925,   687,   608,  -621,  -549,  -817,  -837,  -924,  -722},
36     { 552,   797,   572,  -861,  -617,  -892,  -596,  -621,  -640},
37     { 535,   832,   799,  -871,  -836,  -649,  -560,  -676,  -624},
38     { 762,   605,   577,  -902,  -859,  -682,  -568,  -716,  -650},
39     { 832,   561,  1003,  -913,  -815,  -550,  -676,  -616,  -982},
40     { 590,   687,   588,  -793,  -679,  -790,  -681,  -923,  -677},
41     { 646,   901,   732,  -569,  -924,  -645,  -816,  -794,  -524},
42     { 828,   689,   896,  -557,  -725,  -603,  -670,  -927,  -784},
43     { 875,   624,   848,  -533,  -725,  -516,  -748,  -760,  -702},
44     { 571,   942,  1022,  -526,  -570,  -941,  -638,  -868, -1020},
45     { 824,   736,   643,  -593,  -517,  -925,  -663,  -530,  -808},
46     { 517,   765,   512,  -774,  -518,  -767,  -523,  -572,  -513},
47     { 562,   908,   761,  -997,  -836,  -675,  -617,  -805,  -566},
48     { 694,   913,   675,  -619,  -916,  -603,  -941,  -815,  -891},
49     { 704,   524,   672,  -722,  -925,  -689,  -969,  -538,  -883},
50     { 721,   757,   558,  -534,  -786,  -826, -1018,  -561,  -608},
51     { 884,   551,   633,  -951,  -546,  -681,  -763,  -592,  -784},
52     { 558,  1007,   846,  -549,  -923,  -832,  -608,  -991,  -699},
53     { 932,   746,   777,  -679,  -707,  -566,  -849,  -544,  -589},
54     { 566,   822,   926,  -910,  -513,  -744,  -627,  -659,  -839},
55     { 613,   771,   611,  -924,  -731,  -921,  -733,  -581,  -729},
56     { 737,   671,  1008,  -967,  -726,  -661,  -531,  -880,  -993},
57     { 651,   594,   579,  -757,  -737,  -673,  -830,  -691,  -655},
58     { 801,   636,   564,  -996,  -883,  -702,  -626,  -792,  -622},
59     { 852,   910,   719,  -757,  -599,  -639,  -709,  -809, -1012},
60     { 998,   614,   575,  -599,  -561,  -691,  -974,  -737,  -647},
61     { 665,   935,   628,  -607,  -816,  -574,  -863,  -854,  -771},
62     { 631,   596,   829,  -735, -1023,  -966,  -778,  -694,  -672},
63     { 644,   926,   526,  -583,  -663,  -953,  -811,  -838,  -542},
64     { 879,   988,   613,  -848,  -526,  -592,  -755,  -953,  -734},
65     { 941,   692,   693,  -637,  -638,  -939,  -866,  -937,  -940},
66     { 565,   672,   576,  -742,  -637,  -757,  -625,  -882,  -649},
67     { 547,   628,   740,  -671,  -791,  -909,  -585,  -771,  -535},
68     { 639,   532,   537,  -665,  -671,  -559,  -798,  -554,  -564},
69     { 955,   604,   598,  -564,  -558,  -706,  -891,  -714,  -699},
70     { 562,   580,   900,  -637,  -989, -1021,  -617,  -658,  -791},
71     { 603,   899,   621,  -530,  -733,  -545,  -712,  -789,  -755},
72     { 746,   533,   624,  -776,  -909,  -650,  -543,  -555,  -761},
73     { 729,   514,   735,  -733,  -523,  -739,  -519,  -517,  -528},
74     { 853,   551,   692,  -919,  -577,  -745,  -711,  -593,  -936},
75     { 949,  1018,  1004,  -944,  -931,  -999,  -880, -1013,  -985},
76     { 544,   988,   735,  -525,  -781,  -710,  -578,  -954,  -528},
77     { 789,   782,   821,  -603,  -633,  -628,  -608,  -598,  -659},
78     { 897,   516,   754,  -906,  -661,  -761,  -786,  -521,  -556},
79     { 517,   702,   828,  -710,  -837,  -568,  -523,  -963,  -670},
80     { 586,   818,   763,  -937,  -874,  -609,  -672,  -654,  -568},
81     { 907,   652,   592,  -578,  -525,  -754,  -804,  -830,  -686},
82     { 528,   652,   642,  -673,  -663,  -818,  -546,  -830,  -806},
83     { 531,   708,   780,  -736,  -811,  -540,  -552,  -981,  -595},
84     { 666,   625,   727,  -813,  -946,  -888,  -867,  -763,  -516},
85     { 947,   727,   554,  -673,  -512,  -787,  -875,  -517,  -599},
86     { 549,   657,   981,  -705,  -526,  -630,  -589,  -843,  -941},
87     { 605,   920,   852,  -544, -1008,  -766,  -716,  -827,  -709},
88     { 624,   619,   983,  -755,  -599,  -595,  -761,  -750,  -944},
89     { 605,   909,   547,  -537,  -646,  -971,  -715,  -807,  -584},
90     { 690,   935,   516,  -631,  -697,  -944,  -932,  -855,  -521},
91     { 700,   612,   853,  -838,  -584, -1021,  -959,  -732,  -711},
92     { 767,   832,   574,  -623,  -861,  -933,  -575,  -676,  -643},
93     { 523,   898,   923,  -919,  -945,  -810,  -536,  -789,  -833},
94     { 722,   958,   691,  -676,  -976,  -647, -1020,  -896,  -935},
95     { 613,   771,   928,  -924,  -556,  -700,  -734,  -581,  -842},
96     { 758,   757,   584,  -561,  -866,  -865,  -562,  -560,  -667},
97     { 512,   567,   577,  -567,  -577,  -639,  -512,  -628,  -650},
98     { 615,   638,   698,  -766,  -839,  -871,  -739,  -795,  -954},
99     { 574,   642,   589,  -720,  -660,  -739,  -644,  -806,  -677},
100     { 993,   682,   878,  -662,  -852,  -585,  -963,  -910,  -753},
101     { 539,   890,   913,  -939,  -963,  -795,  -569,  -775,  -815},
102     { 694,   928,   544,  -629,  -738,  -987,  -941,  -842,  -578},
103     { 805,   600,   680,  -944,  -535,  -798,  -633,  -704,  -905},
104     { 540,   951,   782, -1004,  -825,  -727,  -570,  -884,  -597},
105     { 816,   950,   590,  -757,  -941,  -548,  -650,  -881,  -681},
106     { 955,   847,   811,  -790,  -757,  -671,  -891,  -700,  -643},
107     { 547,   883,   556,  -945,  -595,  -960,  -586,  -762,  -605},
108     { 652,   888,   604,  -565,  -770,  -524,  -831,  -770,  -713},
109     { 863,   585,   855,  -986,  -721,  -978,  -727,  -668,  -715},
110     {1023,   997,   516,  -997,  -516, -1006, -1023,  -972,  -520},
111     { 932,   614,   640,  -560,  -583,  -769,  -850,  -738,  -800},
112     { 627,   564,   573,  -691,  -702,  -631,  -769,  -621,  -641},
113     { 876,   900,   724,  -770,  -620,  -637,  -750,  -792,  -512},
114     { 515,   857,   896,  -863,  -902,  -750,  -519,  -718,  -784},
115     { 647,   953,   879,  -602,  -555,  -818,  -817,  -888,  -755},
116     { 806,   854,   857,  -672,  -675,  -715,  -634,  -712,  -718},
117     { 545,   583,   631,  -621,  -672,  -719,  -581,  -664,  -778},
118     { 657,   601,   751,  -772,  -963,  -882,  -843,  -707,  -550},
119     { 740,   905,   795,  -654,  -575,  -704,  -535,  -801,  -618},
120     { 841,  1016,   568,  -835,  -934,  -564,  -691, -1009,  -631},
121     { 747,   589,   983,  -861,  -718,  -566,  -545,  -679,  -945},
122     { 878,   613,   526,  -526,  -902,  -630,  -753,  -736,  -540},
123     { 864,   723,   779,  -610,  -657,  -550,  -729, -1022,  -592},
124     { 534,   674,   774,  -703,  -808, -1019,  -557,  -887,  -586},
125     { 950,   649,   939,  -602,  -871,  -595,  -881,  -824,  -861},
126     { 590,   703,   899,  -811,  -518,  -618,  -680,  -966,  -790},
127     { 618,   527,   579,  -637,  -700,  -597,  -746,  -543,  -657},
128     { 725,   647,   972,  -917,  -689,  -615,  -513,  -818,  -924},
129     { 641,   647,   707,  -810,  -885,  -893,  -803,  -817,  -976},
130     { 730,   663,   644,  -946,  -920,  -835,  -521,  -860,  -812},
131     { 807,   572,   578,  -902,  -912,  -646,  -637,  -639,  -653},
132     { 879,   611,   821,  -524,  -705,  -979,  -755,  -729,  -658},
133     { 667,   729,   841,  -951,  -549,  -599,  -871,  -519,  -692},
134     { 782,   585,   751,  -895,  -574,  -859,  -598,  -670,  -551},
135     { 802,   733,   976,  -574,  -765,  -699,  -628,  -525,  -931},
136     { 850,   871,   708,  -724,  -588,  -602,  -706,  -742,  -979},
137     { 870,   743,   704,  -632,  -598, -1023,  -739,  -540,  -970},
138     { 941,   899,   585,  -827,  -538,  -514,  -866,  -790,  -669},
139     { 943,   632,   875,  -582,  -806,  -541,  -869,  -781,  -749},
140     {1023,   732,   638,  -731,  -637,  -912, -1022,  -523,  -795},
141     { 778,   753,   655,  -573,  -997,  -965,  -592,  -554,  -839},
142     { 843,   945,   945,  -779,  -779,  -873,  -694,  -873,  -873},
143     { 942,   969,   572,  -892,  -527,  -542,  -867,  -918,  -640},
144     {1008,   559,   854,  -551,  -841,  -934,  -993,  -612,  -712},
145     { 868,   729,   787,  -618,  -668,  -560,  -737,  -519,  -605},
146     { 970,   686,   547,  -650,  -518,  -733,  -919,  -919,  -585},
147     { 535,   635,   674,  -664,  -705,  -836,  -560,  -788,  -887},
148     { 560,   636,   828,  -696,  -907,  -514,  -613,  -790,  -670},
149     { 994,   592,   833,  -575,  -809,  -964,  -966,  -686,  -677},
150     { 548,   621,   694,  -665,  -743,  -843,  -587,  -755,  -942},
151     { 550,   801,   955,  -861,  -513,  -748,  -591,  -627,  -892},
152     { 582,   522,   646,  -594,  -735,  -659,  -663,  -533,  -815},
153     { 606,   625,   818,  -739,  -969,  -999,  -717,  -763,  -655},
154     { 623,   591,   874,  -720,  -531, -1010,  -758,  -683,  -746},
155     { 669,   535,  1001,  -700,  -654,  -523,  -876,  -559,  -979},
156     { 701,   938,   592,  -642,  -810,  -542,  -960,  -860,  -684},
157     { 925,   820,   738,  -741,  -667,  -592,  -835,  -657,  -533},
158     { 735,   790,   544,  -567,  -781,  -840,  -527,  -610,  -578},
159     { 575,   788,   674,  -886,  -758,  -519,  -647,  -607,  -888},
160     { 655,   783,   528, -1003,  -677,  -809,  -840,  -599,  -545},
161     { 527,   513,   677,  -529,  -699,  -679,  -544,  -514,  -897},
162     { 782,   852,   940,  -651,  -718,  -783,  -597,  -709,  -863},
163     { 578,   910,   513,  -514,  -581,  -914,  -654,  -809,  -515},
164     { 692,   882,   734,  -596,  -993,  -632,  -937,  -759,  -526},
165     { 586,   683,   715,  -782,  -818,  -954,  -670,  -911,  -999},
166     { 739,   609,   717,  -880,  -518,  -854,  -534,  -725, -1006},
167     { 778,   773,   697,  -588,  -530,  -527,  -592,  -584,  -951},
168     { 922,   785,   813,  -707,  -732,  -624,  -830,  -602,  -646},
169     { 766,   651,   984,  -974,  -736,  -626,  -573,  -827,  -946},
170     { 978,   596,   515,  -569,  -984,  -600,  -934,  -694,  -518},
171     { 535,   757,   540,  -792,  -565,  -799,  -560,  -559,  -571},
172     { 662,   687,   589,  -890,  -762,  -791,  -857,  -924,  -678},
173     { 554,   536,   979,  -580,  -530,  -512,  -601,  -561,  -936},
174     { 723,   982,   690,  -694,  -976,  -662, -1022,  -943,  -932},
175     { 936,   956,   527,  -875,  -965,  -986,  -856,  -894,  -543},
176     { 590,  1002,   547,  -577,  -631,  -536,  -680,  -980,  -586},
177     { 517,   653,   825,  -660,  -833,  -526,  -522,  -834,  -664},
178     { 832,   592,   974,  -964,  -792,  -564,  -677,  -686,  -928},
179     { 512,   957,   903,  -957,  -903,  -844,  -512,  -894,  -796},
180     { 631,   545,   906,  -672,  -558,  -965,  -777,  -581,  -802},
181     { 514,   720,   649,  -723,  -652,  -913,  -516, -1012,  -824},
182     { 596,   679,   694,  -790,  -807,  -920,  -693,  -900,  -940},
183     { 617,   740,   979,  -892,  -590,  -708,  -743,  -535,  -936},
184     { 711,   685,   877,  -952,  -609,  -587,  -987,  -917,  -752},
185     { 655,   835,   848,  -534,  -542,  -691,  -838,  -681,  -702},
186     { 754,   839,   698,  -618,  -515,  -573,  -556,  -688,  -954},
187     { 871,   515,   769,  -877,  -655,  -774,  -742,  -518,  -578},
188     { 955,   852,   573,  -795,  -535,  -955,  -892,  -709,  -643},
189     { 640,   859,   587,  -537,  -735,  -986,  -801,  -721,  -674},
190     { 792,   863,   554,  -667,  -858,  -935,  -612,  -727,  -601},
191     { 843,   708,   682,  -583,  -562,  -944,  -694,  -979,  -910},
192     { 971,   768,   552,  -728,  -524,  -829,  -921,  -576,  -596},
193     { 891,   536,   690,  -935,  -601,  -724,  -776,  -563,  -931},
194     {1016,   560,   663,  -556,  -659,  -727, -1009,  -614,  -860},
195     { 543,   870,   674,  -924,  -716,  -573,  -577,  -739,  -889},
196     { 601,   999,   585,  -586,  -686,  -571,  -705,  -975,  -668},
197     { 945,   966,   889,  -892,  -821,  -840,  -872,  -912,  -773},
198     { 529,   912,   777,  -943,  -804,  -692,  -547,  -812,  -590},
199     { 574,  1020,   714,  -572,  -801,  -711,  -643, -1016,  -997},
200     { 609,   922,   932,  -549,  -555,  -840,  -725,  -831,  -848},
201     { 598,   778,   929,  -909,  -543,  -707,  -698,  -592,  -844},
202     { 651,   772,   744,  -982,  -947,  -561,  -827,  -582,  -541},
203     { 691,   957,   722,  -646,  -976,  -675,  -934,  -894, -1020},
204     { 729,   766,   984,  -546,  -701,  -736,  -520,  -573,  -945},
205     { 547,   519,   632,  -555,  -675,  -640,  -585,  -526,  -780},
206     { 583,   532,   922,  -607,  -525,  -960,  -664,  -554,  -831},
207     { 633,   995,   603,  -615,  -745,  -586,  -783,  -968,  -710},
208     { 677,   571,   874,  -757,  -578,  -977,  -896,  -638,  -747},
209     { 602,   545,   666,  -641,  -783,  -709,  -708,  -580,  -866},
210     { 627,   542,   875,  -665,  -536,  -928,  -769,  -575,  -748},
211     { 672,   983,   598,  -645,  -786,  -575,  -882,  -944,  -700},
212     { 692,   979,   730,  -662,  -988,  -698,  -937,  -937,  -521},
213     { 668,   634,   872,  -827,  -569,  -540,  -871,  -785,  -742},
214     { 711,   706,   674,  -982,  -937,  -931,  -988,  -975,  -889},
215     { 739,   977,   595,  -706,  -860,  -568,  -534,  -932,  -691},
216     { 759,   905,   763,  -671,  -566,  -675,  -563,  -799,  -569},
217     { 756,   582,   763,  -860,  -563,  -868,  -558,  -663,  -568},
218     { 748,  1013,   908,  -741,  -664,  -898,  -547, -1002,  -805},
219     { 804,   937,   950,  -736,  -746,  -869,  -631,  -858,  -882},
220     { 785,   543,   998,  -833,  -766,  -529,  -602,  -576,  -973},
221     { 999,   684,   942,  -668,  -920,  -630,  -975,  -915,  -868},
222     { 626,   633,   996,  -774,  -609,  -616,  -765,  -783,  -970},
223     { 626,   567,   835,  -693, -1021,  -925,  -765,  -628,  -681},
224     { 739,   571,   973,  -825,  -702,  -543,  -533,  -637,  -925},
225     { 655,   769,   707,  -984,  -906,  -531,  -839,  -577,  -978},
226     { 702,   952,   571,  -653,  -785,  -532,  -964,  -886,  -638},
227     { 727,   712,   514, -1012,  -730,  -715,  -516,  -990,  -516},
228     { 744,   686,   741,  -998,  -539,  -994,  -541,  -921,  -536},
229     { 731,   552,   714,  -789, -1021,  -772,  -522,  -596,  -998},
230     { 824,   991,   726,  -798,  -585,  -703,  -664,  -959,  -515},
231     { 795,   615,   544,  -955,  -844,  -653,  -617,  -738,  -578},
232     { 870,   575,   824,  -978,  -700,  -926,  -739,  -646,  -664},
233     { 803,   832,   923,  -653,  -724,  -750,  -630,  -677,  -832},
234     { 819,   839,   531,  -671,  -849,  -871,  -655,  -688,  -550},
235     { 887,   786,   852,  -681,  -738,  -654,  -769,  -603,  -709},
236     { 933,   764,   570,  -696,  -519,  -851,  -850,  -570,  -634},
237     { 716,   906,   654,  -634,  -916,  -579, -1003,  -802,  -837},
238     { 784,   804,   563,  -616,  -864,  -885,  -601,  -631,  -620},
239     { 774,   535,   876,  -809,  -662,  -915,  -585,  -559,  -749},
240     { 807,   598,   649,  -943, -1023,  -758,  -636,  -699,  -822},
241     { 817,   759,   718,  -606,  -573,  -533,  -652,  -563, -1008},
242     { 831,   993,   846,  -806,  -687,  -821,  -675,  -963,  -699},
243     { 858,   567,   605,  -951, -1015,  -670,  -720,  -628,  -716},
244     { 876,  1012,   651,  -866,  -557,  -643,  -750, -1001,  -827},
245     { 852,   548,   549,  -913,  -914,  -588,  -710,  -587,  -589},
246     { 895,  1008,   871,  -881,  -761,  -858,  -782,  -993,  -741},
247     { 892,  1000,   591,  -872,  -515,  -578,  -777,  -977,  -683},
248     { 935,   516,   836,  -944,  -764,  -844,  -855,  -521,  -682},
249     { 931,   612,   776,  -557,  -706,  -929,  -847,  -733,  -589},
250     { 968,   614,   816,  -581,  -771,  -980,  -915,  -738,  -651},
251     { 524,   777,   719,  -796,  -737,  -546,  -537,  -590, -1012},
252     { 549,   694,   786,  -744,  -843,  -533,  -589,  -941,  -603},
253     { 882,   754,   534,  -649,  -920,  -787,  -759,  -555,  -557},
254     { 597,   837,   766,  -977,  -895,  -627,  -697,  -684,  -574},
255     { 635,   954,   704,  -592,  -873,  -656,  -788,  -890,  -969},
256     { 803,   550,   798,  -863,  -626,  -858,  -630,  -591,  -622},
257     { 699,   654,   798,  -894,  -545, -1021,  -954,  -837,  -622},
258     { 924,   767,   738,  -693,  -666,  -553,  -834,  -575,  -531},
259     { 970,   675,   608,  -639,  -576,  -801,  -919,  -890,  -722},
260     { 632,   706,   684,  -873,  -844,  -944,  -780,  -976,  -914},
261     { 858,   767,   563,  -643,  -945,  -844,  -719,  -574,  -620},
262     { 527,   765,   702,  -788,  -724,  -525,  -543,  -572,  -964},
263     { 559,   924,  1003, -1009,  -547,  -905,  -610,  -833,  -983},
264     { 618,   524,   611,  -633,  -738,  -625,  -747,  -536,  -729},
265     { 999,   942,   963,  -920,  -940,  -886,  -976,  -867,  -905},
266     { 547,   857,   935,  -916,  -999,  -783,  -584,  -718,  -854},
267     { 734,   926,   569,  -665,  -818,  -515,  -527,  -838,  -634},
268     { 967,   746,   551,  -705,  -520,  -804,  -913,  -544,  -593},
269     { 834,   633,   881,  -515,  -718,  -545,  -679,  -783,  -758},
270     { 941,   701,   727,  -645,  -668,  -997,  -865,  -961,  -516},
271     { 945,   564,   636,  -521,  -587,  -701,  -873,  -623,  -790},
272     { 512,   563,   793,  -563,  -794,  -873,  -512,  -619,  -615},
273     { 984,   556,   570,  -534,  -548,  -620,  -945,  -604,  -636},
274     { 984,   540,   740,  -519,  -712,  -782,  -946,  -570,  -536},
275     { 527,   764,   874,  -787,  -901,  -652,  -543,  -570,  -747},
276     { 530,   664,  1014,  -688,  -525,  -658,  -549,  -862, -1005},
277     { 546,   515,   521,  -550,  -556,  -525,  -584,  -519,  -531},
278     { 554,   934,   672, -1011,  -728,  -613,  -600,  -852,  -882},
279     { 598,   945,   556,  -552,  -650,  -513,  -700,  -872,  -603},
280     { 627,   531,   733,  -651,  -899,  -760,  -769,  -551,  -525},
281     { 576,  1020,  1014,  -574,  -571, -1011,  -650, -1016, -1005},
282     { 623,   924,   594,  -563,  -724,  -537,  -759,  -835,  -691},
283     { 678,   909,   603,  -602,  -800,  -536,  -899,  -807,  -712},
284     { 814,   744,   543,  -592,  -865,  -790,  -648,  -541,  -577}
285 };
286
287 static const uint8_t wavtable2[256][9] = {
288     {14, 14, 14, 20, 20, 19, 21, 20, 20},
289     {14, 14, 14, 20, 20, 20, 20, 21, 21},
290     {14, 13, 14, 18, 20, 19, 21, 18, 21},
291     {13, 13, 14, 18, 19, 19, 19, 18, 21},
292     {13, 14, 13, 19, 18, 18, 19, 20, 19},
293     {13, 14, 15, 19, 19, 20, 19, 21, 22},
294     {13, 13, 13, 17, 17, 18, 18, 19, 19},
295     {12, 14, 13, 18, 17, 19, 17, 20, 19},
296     {13, 13, 13, 18, 18, 17, 19, 18, 18},
297     {13, 13, 12, 18, 17, 17, 18, 19, 17},
298     {13, 12, 13, 17, 17, 16, 18, 17, 18},
299     {12, 13, 12, 17, 16, 17, 17, 19, 17},
300     {12, 13, 13, 16, 17, 17, 17, 18, 18},
301     {12, 13, 13, 16, 16, 17, 16, 19, 18},
302     {12, 12, 13, 15, 16, 16, 16, 17, 18},
303     {11, 13, 13, 15, 15, 17, 15, 18, 18},
304     {13, 12, 13, 16, 17, 17, 18, 16, 19},
305     {12, 12, 12, 16, 16, 16, 17, 16, 17},
306     {13, 12, 12, 17, 17, 15, 19, 16, 16},
307     {13, 12, 11, 16, 16, 14, 19, 16, 15},
308     {12, 12, 12, 16, 16, 16, 17, 17, 17},
309     {12, 13, 11, 16, 15, 16, 17, 18, 15},
310     {12, 12, 11, 16, 14, 15, 16, 17, 15},
311     {11, 13, 12, 15, 15, 16, 15, 18, 16},
312     {12, 12, 12, 15, 15, 15, 16, 16, 16},
313     {11, 12, 12, 15, 14, 15, 15, 16, 16},
314     {11, 12, 12, 15, 15, 16, 15, 16, 17},
315     {11, 12, 13, 15, 15, 16, 14, 17, 18},
316     {11, 12, 11, 15, 14, 15, 15, 17, 15},
317     {11, 12, 11, 15, 14, 15, 14, 17, 15},
318     {11, 13, 12, 15, 14, 16, 14, 18, 17},
319     {11, 12, 12, 14, 14, 16, 14, 17, 17},
320     {12, 12, 12, 15, 16, 15, 17, 16, 17},
321     {12, 11, 12, 15, 16, 15, 17, 15, 16},
322     {12, 12, 11, 15, 15, 15, 17, 16, 15},
323     {12, 12, 11, 15, 14, 14, 16, 16, 15},
324     {13, 11, 11, 15, 15, 14, 18, 15, 15},
325     {12, 11, 10, 15, 14, 13, 17, 15, 13},
326     {11, 11, 11, 14, 14, 14, 15, 15, 14},
327     {11, 11, 10, 14, 13, 13, 15, 15, 13},
328     {12, 11, 12, 14, 15, 15, 16, 15, 17},
329     {11, 11, 12, 14, 15, 15, 15, 15, 16},
330     {11, 12, 11, 14, 14, 14, 15, 16, 15},
331     {11, 11, 11, 14, 14, 14, 14, 15, 15},
332     {11, 11, 12, 14, 14, 15, 14, 15, 16},
333     {11, 11, 12, 14, 14, 15, 14, 15, 17},
334     {11, 12, 12, 14, 14, 15, 14, 16, 16},
335     {10, 12, 12, 13, 14, 15, 13, 16, 16},
336     {11, 12, 11, 14, 13, 14, 14, 16, 14},
337     {11, 11, 11, 14, 13, 14, 14, 15, 14},
338     {10, 12, 11, 14, 13, 14, 13, 17, 14},
339     {10, 12, 11, 14, 13, 14, 13, 16, 14},
340     {11, 11, 11, 13, 13, 14, 14, 15, 15},
341     {10, 11, 11, 13, 13, 14, 13, 15, 15},
342     {10, 11, 12, 13, 14, 14, 13, 15, 16},
343     {10, 11, 12, 13, 14, 15, 13, 15, 16},
344     {11, 12, 11, 14, 13, 15, 14, 16, 15},
345     {10, 12, 12, 14, 13, 15, 13, 17, 16},
346     {10, 13, 12, 14, 14, 16, 13, 18, 16},
347     {10, 12, 13, 14, 14, 16, 13, 17, 18},
348     {10, 12, 11, 13, 13, 15, 13, 16, 15},
349     {10, 12, 11, 13, 13, 15, 13, 16, 15},
350     {10, 12, 12, 14, 13, 16, 13, 17, 16},
351     {10, 12, 12, 13, 14, 16, 12, 16, 17},
352     {12, 11, 12, 15, 16, 14, 17, 14, 16},
353     {12, 11, 11, 14, 15, 13, 17, 14, 15},
354     {11, 11, 12, 14, 14, 14, 15, 14, 16},
355     {11, 11, 11, 13, 14, 14, 14, 14, 15},
356     {11, 10, 11, 13, 14, 13, 15, 13, 15},
357     {11, 10, 11, 13, 14, 13, 15, 13, 15},
358     {12, 10, 10, 14, 14, 12, 17, 13, 13},
359     {12, 10, 10, 13, 13, 11, 16, 13, 12},
360     {11, 11, 11, 14, 14, 13, 15, 14, 14},
361     {11, 11, 10, 13, 13, 13, 15, 14, 13},
362     {11, 11, 10, 14, 12, 13, 14, 15, 13},
363     {10, 12, 10, 14, 12, 13, 13, 16, 12},
364     {11, 11, 11, 13, 14, 13, 14, 14, 15},
365     {11, 11, 11, 13, 13, 13, 14, 14, 14},
366     {10, 11, 11, 13, 13, 14, 13, 14, 15},
367     {10, 11, 11, 12, 13, 13, 13, 14, 15},
368     {11, 10, 11, 13, 13, 13, 14, 13, 14},
369     {11, 11, 10, 13, 12, 13, 14, 14, 13},
370     {11, 10, 10, 12, 12, 12, 14, 13, 13},
371     {10, 10, 10, 12, 12, 12, 13, 13, 13},
372     {11, 11, 10, 13, 12, 12, 14, 14, 12},
373     {10, 11, 10, 13, 12, 12, 13, 14, 12},
374     {10, 11, 10, 12, 11, 12, 13, 14, 12},
375     {10, 11, 10, 12, 11, 12, 12, 14, 12},
376     {10, 10, 11, 12, 13, 13, 13, 13, 15},
377     {10, 10, 11, 12, 13, 13, 13, 13, 14},
378     {10, 11, 11, 12, 12, 13, 12, 14, 14},
379     {10, 11, 11, 12, 13, 13, 12, 14, 15},
380     {10, 10, 11, 12, 12, 12, 12, 13, 14},
381     {10, 10, 10, 11, 12, 12, 12, 13, 13},
382     {10, 10, 11, 11, 12, 12, 12, 13, 14},
383     { 9, 10, 11, 11, 12, 13, 11, 13, 14},
384     {11, 11, 11, 13, 13, 13, 14, 15, 14},
385     {10, 11, 11, 13, 12, 13, 13, 15, 14},
386     {10, 11, 10, 13, 12, 13, 13, 15, 13},
387     {10, 11, 11, 13, 12, 13, 12, 15, 14},
388     {10, 11, 11, 13, 13, 14, 13, 15, 15},
389     {10, 11, 11, 13, 13, 14, 12, 15, 15},
390     {10, 11, 11, 13, 13, 14, 12, 15, 15},
391     {10, 11, 12, 12, 13, 15, 12, 15, 16},
392     {10, 12, 11, 14, 12, 14, 13, 16, 14},
393     {10, 12, 11, 14, 12, 15, 12, 17, 14},
394     {10, 12, 12, 13, 13, 15, 12, 16, 16},
395     {10, 13, 12, 14, 13, 16, 12, 18, 17},
396     {10, 12, 11, 13, 12, 15, 12, 16, 15},
397     {10, 12, 11, 13, 12, 14, 12, 16, 15},
398     {10, 12, 12, 13, 13, 15, 12, 17, 16},
399     {10, 12, 12, 13, 13, 16, 12, 16, 17},
400     {10, 12, 10, 13, 12, 14, 12, 16, 13},
401     {10, 12, 11, 13, 12, 14, 12, 16, 14},
402     {10, 12, 10, 13, 11, 13, 12, 16, 13},
403     {10, 11, 11, 12, 12, 14, 12, 15, 14},
404     {10, 11, 11, 12, 12, 13, 12, 14, 14},
405     {10, 11, 11, 12, 12, 14, 12, 15, 15},
406     { 9, 11, 11, 12, 12, 14, 11, 15, 15},
407     { 9, 11, 12, 12, 13, 14, 11, 15, 16},
408     {10, 12, 11, 13, 12, 15, 12, 17, 14},
409     { 9, 12, 11, 13, 12, 15, 11, 17, 15},
410     { 9, 12, 12, 13, 12, 15, 11, 16, 16},
411     { 9, 12, 12, 13, 13, 16, 11, 17, 17},
412     { 9, 12, 11, 13, 12, 15, 11, 17, 14},
413     { 9, 12, 12, 13, 12, 16, 11, 17, 16},
414     { 9, 12, 12, 13, 12, 15, 11, 17, 16},
415     { 9, 13, 12, 13, 13, 16, 11, 18, 17},
416     {12, 10, 11, 13, 14, 12, 16, 12, 14},
417     {11, 10, 10, 12, 13, 12, 14, 12, 13},
418     {10, 10, 11, 12, 13, 12, 13, 12, 15},
419     {10, 10, 10, 12, 12, 12, 13, 12, 13},
420     {11,  9, 10, 12, 13, 11, 15, 11, 13},
421     {11, 10, 10, 12, 12, 11, 14, 12, 12},
422     {10, 10,  9, 11, 11, 11, 13, 12, 11},
423     {10, 10,  9, 11, 11, 10, 13, 12, 10},
424     {10, 10, 10, 12, 12, 12, 13, 13, 13},
425     {10, 10, 10, 12, 11, 12, 12, 13, 13},
426     {10, 10, 10, 11, 11, 11, 12, 12, 13},
427     {10, 10, 10, 11, 11, 11, 12, 12, 12},
428     {10, 10, 10, 12, 11, 11, 12, 13, 12},
429     {10, 10,  9, 11, 11, 11, 12, 13, 11},
430     { 9, 10,  9, 11, 10, 11, 11, 12, 11},
431     { 9, 10,  9, 11, 10, 11, 11, 13, 11},
432     {10,  9, 11, 11, 12, 11, 13, 11, 14},
433     {10, 10, 10, 11, 12, 11, 13, 12, 13},
434     {10, 10, 10, 11, 12, 12, 12, 12, 13},
435     { 9, 10, 10, 10, 11, 11, 11, 12, 13},
436     {10,  9, 10, 11, 12, 10, 13, 11, 12},
437     {10,  9, 10, 11, 11, 10, 12, 11, 12},
438     { 9, 10, 10, 11, 11, 11, 11, 12, 12},
439     { 9,  9, 10, 10, 10, 11, 11, 11, 12},
440     { 9, 10, 10, 11, 11, 12, 11, 13, 13},
441     { 9, 10, 10, 11, 11, 12, 11, 13, 13},
442     { 9, 10, 11, 11, 11, 12, 11, 12, 14},
443     { 9, 10, 11, 11, 11, 12, 11, 13, 14},
444     { 9, 10, 10, 10, 10, 11, 11, 12, 12},
445     { 9, 10, 10, 10, 10, 11, 10, 12, 13},
446     { 9,  9, 10, 10, 10, 11, 10, 11, 12},
447     { 9, 10, 10, 10, 10, 12, 10, 12, 13},
448     {10, 11, 10, 12, 12, 13, 13, 14, 13},
449     {10, 11, 10, 12, 12, 13, 12, 14, 13},
450     {10, 11, 10, 12, 11, 13, 12, 15, 13},
451     {10, 11, 10, 12, 11, 13, 12, 14, 13},
452     {10, 10, 10, 12, 11, 12, 12, 13, 13},
453     {10, 10, 10, 11, 11, 12, 12, 13, 13},
454     { 9, 11, 10, 12, 11, 12, 11, 14, 13},
455     { 9, 11, 10, 11, 11, 12, 11, 14, 13},
456     {10, 11, 11, 12, 12, 13, 12, 14, 14},
457     { 9, 11, 11, 12, 12, 13, 11, 14, 14},
458     { 9, 11, 11, 11, 12, 13, 11, 14, 15},
459     { 9, 11, 12, 11, 12, 14, 11, 14, 16},
460     { 9, 11, 11, 12, 11, 13, 11, 14, 14},
461     { 9, 11, 11, 12, 12, 13, 11, 14, 14},
462     { 9, 11, 11, 11, 12, 13, 11, 14, 15},
463     { 9, 11, 12, 11, 12, 14, 10, 14, 16},
464     { 9, 11, 10, 12, 11, 13, 11, 15, 13},
465     { 9, 11, 11, 12, 11, 14, 11, 15, 14},
466     { 9, 12, 10, 12, 11, 13, 11, 16, 13},
467     { 9, 11, 11, 12, 11, 14, 11, 15, 14},
468     { 9, 11, 11, 12, 12, 14, 11, 15, 15},
469     { 9, 11, 12, 12, 12, 15, 11, 15, 16},
470     { 9, 12, 11, 12, 12, 14, 11, 16, 15},
471     { 9, 12, 12, 12, 13, 15, 11, 16, 16},
472     { 9, 12, 11, 13, 11, 14, 11, 17, 14},
473     { 9, 12, 11, 13, 12, 15, 11, 17, 15},
474     { 9, 12, 11, 12, 12, 14, 10, 16, 15},
475     { 9, 12, 12, 12, 12, 15, 10, 16, 16},
476     { 9, 12, 11, 13, 11, 15, 10, 17, 14},
477     { 9, 13, 12, 13, 12, 16, 10, 18, 16},
478     { 9, 13, 12, 13, 12, 16, 10, 18, 16},
479     { 9, 12, 13, 13, 13, 16, 10, 17, 18},
480     {10, 11, 10, 12, 11, 12, 12, 15, 12},
481     { 9, 11, 10, 12, 10, 12, 11, 15, 12},
482     { 9, 10, 10, 11, 11, 12, 11, 13, 12},
483     { 9, 10, 10, 11, 10, 11, 10, 13, 12},
484     { 9, 11, 10, 12, 11, 12, 11, 14, 13},
485     { 9, 11, 10, 11, 11, 12, 11, 14, 13},
486     { 9, 11, 10, 12, 11, 13, 10, 15, 13},
487     { 9, 11, 11, 12, 11, 14, 10, 15, 14},
488     { 9, 10, 10, 11, 11, 12, 10, 13, 13},
489     { 9, 11, 10, 11, 10, 12, 10, 14, 12},
490     { 9, 10, 10, 11, 11, 12, 10, 13, 13},
491     { 9, 10, 11, 11, 11, 13, 10, 13, 14},
492     { 9, 11, 11, 11, 11, 13, 10, 14, 14},
493     { 9, 11, 11, 11, 12, 14, 10, 14, 15},
494     { 9, 11, 11, 11, 11, 13, 10, 14, 14},
495     { 9, 11, 11, 11, 11, 14, 10, 14, 15},
496     { 9, 12, 10, 12, 11, 13, 11, 16, 13},
497     { 9, 12, 10, 12, 11, 14, 10, 16, 13},
498     { 9, 11, 11, 12, 11, 14, 10, 15, 14},
499     { 9, 11, 11, 12, 12, 14, 10, 15, 15},
500     { 9, 12, 11, 12, 11, 14, 10, 16, 15},
501     { 9, 12, 12, 12, 12, 15, 10, 16, 16},
502     { 9, 12, 11, 13, 12, 15, 10, 17, 15},
503     { 9, 13, 12, 13, 12, 16, 10, 18, 17},
504     { 9, 11, 10, 12, 11, 13, 10, 15, 13},
505     { 9, 12, 11, 12, 11, 14, 10, 16, 14},
506     { 9, 12, 11, 12, 11, 14, 10, 16, 15},
507     { 9, 11, 12, 12, 12, 15, 10, 15, 16},
508     { 9, 12, 11, 12, 11, 15, 10, 17, 14},
509     { 9, 12, 12, 12, 12, 16, 10, 17, 16},
510     { 8, 12, 11, 12, 11, 14,  9, 16, 15},
511     { 8, 12, 12, 12, 12, 15,  9, 17, 16},
512     {10,  9,  9, 10, 11, 10, 12, 10, 11},
513     { 9,  9,  9, 10, 10,  9, 11, 10, 10},
514     { 9, 10,  9, 10, 10, 10, 11, 12, 11},
515     { 9,  9,  9, 10,  9, 10, 10, 11, 10},
516     { 9,  9, 10, 10, 10, 11, 11, 11, 12},
517     { 9,  9, 10,  9, 10, 10, 10, 10, 12},
518     { 9,  9,  9,  9,  9, 10, 10, 11, 11},
519     { 8,  9,  9,  9,  9, 10,  9, 11, 11},
520     { 9, 10,  9, 10, 10, 11, 10, 12, 11},
521     { 8, 10,  9, 10,  9, 10,  9, 12, 11},
522     { 8, 10, 10, 10,  9, 11,  9, 12, 12},
523     { 8,  9, 10,  9, 10, 11,  9, 11, 13},
524     { 9,  9,  9,  9,  9,  9, 10, 10, 10},
525     { 7,  8,  8,  7,  7,  7,  7,  8,  8},
526     { 8, 10,  9,  9,  9, 10,  8, 12, 11},
527     { 8,  9,  9,  8,  8, 10,  8, 10, 11},
528     { 9, 11, 10, 11, 10, 12, 10, 15, 12},
529     { 9, 11, 10, 11, 10, 13, 10, 15, 12},
530     { 9, 10, 10, 10, 10, 12, 10, 13, 13},
531     { 8, 10, 11, 10, 11, 13,  9, 13, 14},
532     { 9, 11, 10, 11, 10, 13, 10, 15, 13},
533     { 9, 11, 11, 11, 11, 14, 10, 15, 14},
534     { 8, 11, 11, 11, 11, 13,  9, 14, 14},
535     { 8, 11, 12, 11, 11, 14,  9, 15, 16},
536     { 8, 10,  9, 10,  9, 11,  9, 13, 11},
537     { 8, 11, 10, 11, 10, 12,  9, 14, 13},
538     { 8, 11, 10, 10, 10, 12,  9, 14, 13},
539     { 8, 10, 11, 10, 11, 13,  9, 13, 14},
540     { 8, 12, 11, 11, 10, 14,  9, 16, 14},
541     { 8, 12, 11, 11, 11, 14,  9, 16, 15},
542     { 8, 11, 10, 10, 10, 12,  9, 14, 13},
543     { 8, 11, 10, 10, 10, 13,  8, 14, 13}
544 };
545
546 static const int8_t etable1[128][40]={
547     {
548      38,  -4,  15,  -4,  14, -13,  12, -11,  -2,  -6,
549      -6, -11, -45, -16, -11, -13,  -7,   6, -12,   4,
550     -20,   3, -16,  12,  -1,  12,  46,  24,   0,  33,
551      -3,   9, -12, -12,  -8,  -7,  17,  -6,   0,  -2,
552     }, {
553      60, -16,   3, -22,  10, -32,   0, -28, -17, -18,
554      -3, -25, -37, -23, -10,   3,   2,   3,   0,   3,
555     -14,   0, -14,  -1,   0,   2,  32,   9,  -1,  25,
556       7,  13,  -5,  13,   8,   1,   2,   8, -10,   6,
557     }, {
558      27, -12,  28,  -2,   6,  -7,  15,   9, -11,   1,
559     -13, -11, -40,   4, -29, -14, -19,  -5, -23,  -8,
560     -30, -13, -17,   0, -14,  12,  34,  20,  -2,  25,
561       2, -16,  -4, -12,  15,  16,  29,   7,  24,  10,
562     }, {
563      49, -24,  16, -20,   2, -26,   2,  -7, -25, -10,
564     -11, -25, -32,  -3, -27,   2,  -8,  -8, -11,  -9,
565     -24, -17, -16, -14, -13,   2,  20,   5,  -4,  17,
566      14, -12,   3,  13,  33,  25,  14,  23,  15,  19,
567     }, {
568      46,  -6,  21,   8,  -2, -16,  -5,  -8, -11,   4,
569       8,  15, -24,   4,  -2, -26,  -3, -16, -16, -14,
570      -9,  -2,  -1,   4,  19,   7,  36,  17,   9,  13,
571       0,  31,  -5, -12,   7,  -8,  11, -15, -13,  -4,
572     }, {
573      68, -18,   9,  -9,  -6, -35, -18, -25, -26,  -7,
574      10,   1, -16,  -3,  -1,  -9,   6, -19,  -4, -15,
575      -4,  -6,   0,  -8,  20,  -2,  23,   2,   7,   5,
576      12,  35,   1,  13,  24,   0,  -3,   0, -22,   4,
577     }, {
578      35, -14,  34,  10, -10, -10,  -1,  12, -20,  12,
579       0,  15, -18,  24, -20, -27, -14, -28, -27, -27,
580     -20, -19,  -2,  -8,   5,   7,  25,  13,   5,   5,
581       6,   5,   2, -12,  31,  15,  23,  -1,  12,   8,
582     }, {
583      57, -26,  22,  -7, -14, -28, -14,  -3, -35,   0,
584       3,   1, -11,  16, -18, -10,  -4, -31, -15, -28,
585     -14, -23,  -1, -21,   7,  -2,  11,  -1,   3,  -1,
586      18,   9,  10,  13,  49,  24,   8,  14,   2,  16,
587     }, {
588      25,  15,  22,  11,  18,   4,  15, -22,   8,  -2,
589     -17,  -9, -48, -20, -30, -17, -16,  11,  -1,  16,
590       2,  10,  -5,  26,  -2,  -4,  22,   0,   2,  10,
591      -6,  13, -14,  10, -23,   0,  10,  -2,   1,   0,
592     }, {
593      47,   3,  11,  -6,  15, -13,   2, -38,  -6, -13,
594     -15, -22, -40, -28, -28,   0,  -5,   8,  10,  15,
595       7,   7,  -4,  13,  -1, -14,   9, -14,   0,   2,
596       4,  18,  -7,  36,  -6,   8,  -3,  13,  -7,   8,
597     }, {
598      14,   7,  36,  13,  10,  10,  18,   0,   0,   5,
599     -25,  -8, -43,   0, -48, -18, -27,   0, -12,   3,
600      -7,  -6,  -7,  13, -15,  -5,  11,  -3,   0,   2,
601       0, -12,  -6,  10,   0,  23,  22,  11,  26,  12,
602     }, {
603      36,  -5,  24,  -4,   7,  -7,   6, -17, -14,  -5,
604     -22, -22, -35,  -8, -46,  -1, -17,  -3,   0,   2,
605      -2, -10,  -5,   0, -14, -15,  -2, -18,  -2,  -4,
606      11,  -7,   1,  36,  18,  32,   7,  27,  17,  20,
607     }, {
608      33,  13,  29,  24,   1,   1,  -2, -18,   0,   9,
609      -3,  17, -27,   0, -21, -30, -12, -11,  -5,  -2,
610      12,   4,   9,  19,  18,  -9,  13,  -6,  11,  -8,
611      -2,  35,  -8,  10,  -7,  -1,   4, -11, -10,  -2,
612     }, {
613      55,   1,  17,   6,  -1, -16, -15, -35, -15,  -2,
614       0,   4, -19,  -8, -20, -13,  -1, -14,   7,  -3,
615      18,   0,  10,   5,  19, -19,   0, -21,   8, -16,
616       9,  39,   0,  36,  10,   7,  -9,   4, -20,   5,
617     }, {
618      22,   5,  42,  26,  -6,   8,   1,   2,  -9,  17,
619     -10,  18, -21,  19, -39, -31, -23, -23, -16, -15,
620       2, -12,   7,   6,   5,  -9,   1, -10,   7, -16,
621       4,   9,   0,  10,  17,  22,  16,   2,  14,   9,
622     }, {
623      44,  -6,  30,   8,  -9, -10, -11, -14, -23,   5,
624      -8,   4, -14,  12, -37, -14, -12, -26,  -4, -16,
625       8, -16,   9,  -7,   6, -19, -12, -25,   5, -24,
626      15,  13,   8,  36,  34,  31,   1,  18,   4,  18,
627     }, {
628      -3,  -5,  -9,  -7,  15,  -1,   5,  13,   2,  12,
629       5,   2, -21, -23,  -2, -16,   0,   5,  -6,  13,
630     -23,   3, -32,  10, -15,   8,  44,  28,   9,  37,
631      -2,  13,  -9, -15, -12, -27,  -7, -12,   0, -11,
632     }, {
633      18, -17, -21, -25,  11, -19,  -6,  -3, -11,   0,
634       7, -11, -13, -31,  -1,   0,   9,   1,   5,  12,
635     -18,   0, -31,  -2, -13,  -1,  30,  14,   7,  29,
636       9,  18,  -1,  10,   4, -18, -22,   3, -10,  -2,
637     }, {
638     -13, -13,   3,  -5,   7,   4,   9,  34,  -5,  20,
639      -2,   3, -16,  -3, -20, -17, -11,  -7, -17,   0,
640     -34, -13, -33,  -2, -28,   8,  32,  24,   5,  29,
641       3, -12,   0, -15,  11,  -3,   3,   2,  24,   1,
642     }, {
643       8, -25,  -8, -23,   3, -13,  -3,  17, -20,   8,
644       0, -10,  -8, -11, -18,   0,  -1, -10,  -5,   0,
645     -28, -17, -32, -15, -26,  -1,  19,   9,   3,  21,
646      15,  -7,   6,   9,  29,   5, -10,  17,  15,   9,
647     }, {
648       4,  -6,  -3,   5,  -1,  -4, -11,  16,  -6,  23,
649      19,  29,   0,  -3,   6, -30,   3, -17, -10,  -5,
650     -13,  -2, -17,   3,   5,   3,  35,  21,  17,  17,
651       2,  35,  -2, -15,   3, -28, -13, -21, -13, -13,
652     }, {
653      26, -19, -15, -12,  -5, -22, -24,   0, -21,  12,
654      21,  15,   8, -11,   7, -12,  14, -20,   2,  -6,
655      -7,  -6, -16,  -9,   6,  -5,  21,   7,  15,  10,
656      13,  39,   5,  10,  20, -19, -28,  -5, -22,  -5,
657     }, {
658      -5, -15,   9,   7,  -9,   2,  -8,  37, -14,  31,
659      11,  29,   5,  16, -11, -30,  -7, -29, -21, -18,
660     -23, -19, -18,  -9,  -7,   3,  23,  17,  14,   9,
661       8,   9,   6, -15,  27,  -4,  -2,  -6,  12,  -1,
662     }, {
663      16, -27,  -2, -10, -13, -16, -20,  20, -29,  20,
664      14,  16,  13,   8,  -9, -13,   2, -33,  -9, -19,
665     -17, -23, -17, -22,  -6,  -6,   9,   2,  12,   2,
666      20,  13,  13,  10,  45,   4, -16,   8,   2,   7,
667     }, {
668     -16,  14,  -2,   8,  20,  17,   9,   2,  14,  16,
669      -6,   5, -24, -28, -21, -20,  -8,   9,   4,  25,
670      -1,  11, -22,  24, -15,  -8,  21,   5,  11,  14,
671      -5,  18, -11,   7, -27, -20, -14,  -7,   1,  -9,
672     }, {
673       6,   2, -14,  -9,  16,  -1,  -3, -14,   0,   5,
674      -3,  -8, -16, -36, -19,  -3,   1,   6,  17,  24,
675       4,   7, -21,  11, -14, -18,   7,  -9,   9,   7,
676       6,  22,  -3,  33, -10, -11, -28,   7,  -7,   0,
677     }, {
678     -26,   6,  11,  10,  12,  23,  12,  23,   5,  24,
679     -13,   5, -19,  -8, -38, -21, -20,  -2,  -6,  12,
680     -11,  -5, -23,  11, -29,  -9,   9,   0,   7,   6,
681       1,  -7,  -2,   7,  -3,   3,  -2,   6,  27,   3,
682     }, {
683      -4,  -6,   0,  -7,   8,   4,   0,   6,  -9,  13,
684     -11,  -7, -11, -15, -37,  -4,  -9,  -5,   5,  11,
685      -5,  -9, -22,  -1, -27, -18,  -4, -14,   5,   0,
686      12,  -3,   4,  32,  14,  12, -17,  22,  17,  11,
687     }, {
688      -8,  12,   3,  21,   3,  14,  -8,   5,   4,  28,
689       7,  32,  -2,  -8, -12, -34,  -4, -12,   1,   6,
690       9,   4,  -7,  17,   4, -13,  11,  -1,  19,  -4,
691       0,  39,  -4,   7, -11, -21, -20, -16, -10, -11,
692     }, {
693      13,   0,  -8,   3,   0,  -4, -21, -11,  -9,  16,
694      10,  18,   5, -16, -10, -16,   5, -15,  13,   5,
695      15,   1,  -6,   4,   6, -23,  -2, -16,  17, -12,
696      10,  44,   3,  33,   6, -12, -34,  -1, -20,  -3,
697     }, {
698     -18,   4,  17,  23,  -4,  20,  -4,  26,  -3,  36,
699       0,  32,   2,  12, -29, -34, -16, -24, -10,  -6,
700       0, -12,  -8,   4,  -8, -13,   0,  -6,  16, -12,
701       5,  13,   3,   7,  13,   3,  -8,  -2,  14,   0,
702     }, {
703       3,  -7,   5,   5,  -8,   2, -17,   9, -18,  24,
704       2,  19,  10,   4, -28, -17,  -5, -28,   2,  -7,
705       4, -15,  -7,  -8,  -6, -23, -13, -21,  14, -20,
706      17,  18,  11,  33,  30,  11, -23,  13,   5,   9,
707     }, {
708      60,  10,   7,  -1,   9,  -8,   6, -13,   2, -15,
709      -1, -10, -13, -11,  15,   0,   6,   9,  -1,   0,
710     -13,   1, -11,  -3, -13,  21,  13,  26,  -7,  31,
711     -10,  -7, -16, -33, -31, -10,  22,  -8,   1,  -2,
712     }, {
713      82,  -1,  -4, -19,   6, -27,  -6, -29, -12, -26,
714       1, -24,  -5, -18,  17,  17,  17,   6,  10,   0,
715      -7,  -2,  -9, -16, -12,  11,   0,  11,  -9,  23,
716       0,  -3,  -8,  -8, -13,  -1,   8,   7,  -7,   6,
717     }, {
718      49,   2,  21,   0,   1,  -2,   9,   8,  -6,  -6,
719      -8, -10,  -8,   9,  -2,   0,  -4,  -2, -13, -12,
720     -23, -15, -12, -16, -26,  21,   2,  21, -11,  23,
721      -4, -33,  -7, -33,  -6,  13,  34,   5,  27,  10,
722     }, {
723      71, -10,   9, -17,  -1, -20,  -3,  -8, -21, -18,
724      -6, -24,   0,   1,   0,  16,   6,  -5,   0, -13,
725     -17, -19, -11, -29, -25,  11, -11,   6, -13,  15,
726       7, -29,   0,  -8,  11,  22,  20,  21,  17,  18,
727     }, {
728      67,   8,  14,  11,  -7, -11, -11,  -9,  -7,  -3,
729      13,  16,   8,   9,  24, -12,  10, -13,  -5, -17,
730      -2,  -4,   3, -10,   6,  17,   4,  19,   0,  11,
731      -6,  13,  -9, -33, -14, -10,  16, -17, -10,  -4,
732     }, {
733      90,  -3,   2,  -6, -10, -29, -24, -26, -21, -15,
734      15,   2,  16,   1,  25,   4,  21, -16,   6, -18,
735       3,  -8,   5, -24,   8,   7,  -9,   4,  -1,   3,
736       5,  18,  -1,  -7,   2,  -1,   2,  -1, -19,   3,
737     }, {
738      57,   0,  27,  13, -14,  -5,  -7,  11, -15,   4,
739       5,  16,  13,  29,   6, -13,   0, -25, -16, -31,
740     -12, -22,   2, -23,  -6,  16,  -7,  14,  -2,   3,
741       0, -12,   0, -33,   9,  13,  28,  -3,  14,   7,
742     }, {
743      79, -11,  15,  -4, -18, -23, -20,  -5, -30,  -7,
744       7,   2,  21,  21,   8,   3,  10, -28,  -4, -31,
745      -6, -25,   3, -37,  -4,   7, -20,   0,  -4,  -4,
746      11,  -7,   6,  -8,  27,  22,  14,  12,   5,  16,
747     }, {
748      47,  30,  15,  14,  14,   9,   9, -23,  13, -10,
749     -12,  -7, -16, -15,  -3,  -3,  -1,  14,   9,  12,
750       9,   8,   0,  10, -14,   4,  -9,   2,  -5,   8,
751     -13,  -3, -18, -10, -45,  -3,  16,  -4,   4,   0,
752     }, {
753      69,  17,   3,  -3,  10,  -8,  -3, -40,  -1, -21,
754     -10, -21,  -8, -23,  -1,  13,   8,  11,  21,  11,
755      15,   4,   0,  -2, -13,  -5, -23, -12,  -7,   0,
756      -1,   0, -10,  14, -28,   5,   1,  11,  -5,   7,
757     }, {
758      36,  21,  28,  16,   6,  16,  12,  -2,   4,  -2,
759     -20,  -7, -11,   4, -20,  -4, -12,   2,  -1,   0,
760       0,  -8,  -2,  -2, -27,   4, -21,  -2,  -9,   0,
761      -6, -29,  -9, -10, -21,  21,  28,  10,  29,  11,
762     }, {
763      58,   9,  16,  -1,   2,  -2,   0, -19, -10, -13,
764     -17, -21,  -3,  -3, -19,  12,  -2,   0,  10,  -1,
765       5, -12,   0, -15, -26,  -5, -34, -16, -11,  -7,
766       4, -25,  -2,  14,  -3,  29,  13,  25,  20,  20,
767     }, {
768      55,  28,  21,  27,  -2,   7,  -8, -20,   4,   1,
769       1,  18,   5,   4,   5, -16,   2,  -8,   5,  -5,
770      19,   2,  14,   3,   6,   0, -18,  -4,   2, -11,
771      -8,  18, -11, -10, -29,  -3,  10, -13,  -8,  -3,
772     }, {
773      77,  16,   9,   9,  -6, -11, -21, -37, -10, -10,
774       4,   5,  13,  -3,   7,   0,  13, -11,  17,  -6,
775      25,  -1,  15,  -9,   7,  -9, -32, -19,   0, -18,
776       2,  22,  -3,  15, -12,   5,  -4,   2, -17,   5,
777     }, {
778      44,  20,  34,  29, -10,  13,  -4,   0,  -4,   9,
779      -5,  19,  10,  24, -11, -17,  -8, -20,  -5, -19,
780       9, -14,  12,  -9,  -6,   0, -30,  -9,   0, -19,
781      -2,  -7,  -2, -10,  -5,  20,  21,   1,  17,   9,
782     }, {
783      66,   8,  23,  11, -14,  -5, -17, -16, -19,  -2,
784      -3,   5,  18,  17, -10,   0,   1, -23,   6, -20,
785      15, -18,  14, -22,  -5, -10, -44, -23,  -2, -26,
786       9,  -3,   4,  14,  12,  29,   7,  16,   7,  18,
787     }, {
788      18,   9, -17,  -4,  11,   3,   0,  11,   7,   4,
789      10,   3,  10, -18,  24,  -3,  14,   7,   4,  10,
790     -16,   1, -27,  -4, -27,  17,  12,  30,   0,  35,
791      -9,  -3, -12, -36, -35, -30,  -2, -13,   2, -11,
792     }, {
793      40,  -2, -29, -22,   7, -14, -12,  -5,  -7,  -7,
794      12,  -9,  18, -26,  26,  14,  24,   4,  16,   9,
795     -10,  -2, -26, -18, -26,   7,  -1,  15,  -1,  27,
796       2,   0,  -4, -11, -17, -21, -16,   1,  -7,  -3,
797     }, {
798       8,   1,  -3,  -2,   3,  10,   3,  32,  -1,  12,
799       2,   4,  15,   1,   7,  -3,   2,  -4,  -6,  -3,
800     -26, -15, -29, -17, -40,  17,   0,  26,  -2,  27,
801      -2, -29,  -4, -36, -10,  -6,   9,   0,  27,   0,
802     }, {
803      30, -11, -15, -20,   0,  -8,  -9,  15, -15,   0,
804       5,  -9,  23,  -6,   8,  13,  13,  -7,   5,  -3,
805     -20, -19, -27, -31, -39,   7, -13,  11,  -4,  19,
806       8, -25,   3, -11,   7,   2,  -4,  16,  18,   9,
807     }, {
808      26,   7, -11,   8,  -5,   1, -17,  14,  -1,  15,
809      24,  30,  32,   1,  33, -16,  18, -14,   0,  -8,
810      -6,  -4, -12, -12,  -6,  13,   2,  23,   8,  15,
811      -4,  17,  -5, -36, -18, -30,  -8, -22, -10, -14,
812     }, {
813      48,  -4, -23,  -9,  -9, -17, -30,  -2, -16,   3,
814      26,  16,  40,  -6,  35,   1,  28, -17,  12,  -9,
815       0,  -8, -11, -25,  -5,   3, -10,   8,   6,   7,
816       6,  22,   1, -11,  -1, -21, -22,  -7, -19,  -5,
817     }, {
818      15,   0,   2,  10, -13,   7, -14,  35, -10,  23,
819      16,  31,  37,  21,  16, -17,   6, -26, -10, -21,
820     -16, -21, -13, -25, -19,  13,  -8,  19,   5,   7,
821       1,  -8,   2, -36,   5,  -6,   3,  -8,  15,  -1,
822     }, {
823      37, -12,  -9,  -7, -17, -11, -26,  18, -25,  12,
824      19,  17,  45,  14,  17,   0,  17, -30,   1, -22,
825     -10, -25, -12, -38, -18,   3, -22,   4,   3,   0,
826      13,  -3,  10, -11,  23,   2, -10,   7,   5,   7,
827     }, {
828       5,  29,  -9,  11,  15,  22,   3,   0,  18,   8,
829      -1,   6,   7, -23,   6,  -6,   5,  12,  15,  21,
830       5,   8, -17,   9, -28,   0, -11,   6,   2,  12,
831     -11,   0, -14, -13, -49, -22,  -8,  -9,   4,  -9,
832     }, {
833      27,  16, -21,  -6,  12,   3,  -9, -16,   3,  -2,
834       1,  -7,  15, -31,   7,  10,  16,   9,  27,  21,
835      11,   5, -16,  -3, -26,  -9, -24,  -7,   0,   4,
836       0,   4,  -6,  11, -32, -14, -23,   6,  -5,  -1,
837     }, {
838      -4,  20,   3,  13,   8,  28,   6,  21,  10,  16,
839      -8,   7,  12,  -3, -11,  -7,  -5,   0,   4,   8,
840      -4,  -8, -18,  -3, -41,   0, -22,   2,   0,   4,
841      -5, -25,  -6, -14, -25,   1,   2,   4,  29,   2,
842     }, {
843      17,   8,  -8,  -4,   4,  10,  -6,   5,  -4,   5,
844      -6,  -6,  20, -10,  -9,   9,   4,  -2,  16,   7,
845       1, -12, -17, -16, -39,  -9, -36, -12,  -2,  -3,
846       6, -21,   1,  11,  -7,  10, -11,  20,  20,  11,
847     }, {
848      13,  27,  -3,  24,  -1,  19, -14,   3,   9,  20,
849      12,  33,  29,  -3,  15, -20,   9,  -9,  11,   3,
850      16,   2,  -2,   2,  -7,  -3, -20,   0,  10,  -7,
851      -7,  22,  -7, -13, -33, -23, -14, -18,  -7, -12,
852     }, {
853      35,  15, -15,   6,  -4,   1, -27, -12,  -5,   8,
854      15,  19,  37, -11,  16,  -2,  20, -12,  23,   2,
855      22,  -1,  -1, -11,  -5, -13, -34, -14,   8, -14,
856       4,  26,   0,  11, -16, -14, -29,  -2, -17,  -3,
857     }, {
858       3,  19,   9,  26,  -8,  26, -10,  24,   0,  28,
859       5,  33,  34,  17,  -2, -20,  -1, -22,   0, -10,
860       6, -14,  -3, -10, -20,  -4, -32,  -4,   7, -15,
861       0,  -3,   0, -13,  -9,   0,  -3,  -4,  17,   0,
862     }, {
863      25,   7,  -2,   8, -12,   7, -23,   8, -13,  16,
864       7,  20,  42,   9,   0,  -3,   9, -25,  12, -10,
865      12, -18,  -2, -24, -19, -13, -46, -19,   5, -22,
866      10,   0,   8,  11,   8,   9, -17,  11,   7,   8,
867     }, {
868     -25,  -7,   2,  -8,  12,  -7,  23,  -8,  13, -16,
869      -7, -20, -42,  -9,   0,   3,  -9,  25, -12,  10,
870     -12,  18,   2,  24,  19,  13,  46,  19,  -5,  22,
871     -10,   0,  -8, -11,  -8,  -9,  17, -11,  -7,  -8,
872     }, {
873      -3, -19,  -9, -26,   8, -26,  10, -24,   0, -28,
874      -5, -33, -34, -17,   2,  20,   1,  22,   0,  10,
875      -6,  14,   3,  10,  20,   4,  32,   4,  -7,  15,
876       0,   3,   0,  13,   9,   0,   3,   4, -17,   0,
877     }, {
878     -35, -15,  15,  -6,   4,  -1,  27,  12,   5,  -8,
879     -15, -19, -37,  11, -16,   2, -20,  12, -23,  -2,
880     -22,   1,   1,  11,   5,  13,  34,  14,  -8,  14,
881      -4, -26,   0, -11,  16,  14,  29,   2,  17,   3,
882     }, {
883     -13, -27,   3, -24,   1, -19,  14,  -3,  -9, -20,
884     -12, -33, -29,   3, -15,  20,  -9,   9, -11,  -3,
885     -16,  -2,   2,  -2,   7,   3,  20,   0, -10,   7,
886       7, -22,   7,  13,  33,  23,  14,  18,   7,  12,
887     }, {
888     -17,  -8,   8,   4,  -4, -10,   6,  -5,   4,  -5,
889       6,   6, -20,  10,   9,  -9,  -4,   2, -16,  -7,
890      -1,  12,  17,  16,  39,   9,  36,  12,   2,   3,
891      -6,  21,  -1, -11,   7, -10,  11, -20, -20, -11,
892     }, {
893       4, -20,  -3, -13,  -8, -28,  -6, -21, -10, -16,
894       8,  -7, -12,   3,  11,   7,   5,   0,  -4,  -8,
895       4,   8,  18,   3,  41,   0,  22,  -2,   0,  -4,
896       5,  25,   6,  14,  25,  -1,  -2,  -4, -29,  -2,
897     }, {
898     -27, -16,  21,   6, -12,  -3,   9,  16,  -3,   2,
899      -1,   7, -15,  31,  -7, -10, -16,  -9, -27, -21,
900     -11,  -5,  16,   3,  26,   9,  24,   7,   0,  -4,
901       0,  -4,   6, -11,  32,  14,  23,  -6,   5,   1,
902     }, {
903      -5, -29,   9, -11, -15, -22,  -3,   0, -18,  -8,
904       1,  -6,  -7,  23,  -6,   6,  -5, -12, -15, -21,
905      -5,  -8,  17,  -9,  28,   0,  11,  -6,  -2, -12,
906      11,   0,  14,  13,  49,  22,   8,   9,  -4,   9,
907     }, {
908     -37,  12,   9,   7,  17,  11,  26, -18,  25, -12,
909     -19, -17, -45, -14, -17,   0, -17,  30,  -1,  22,
910      10,  25,  12,  38,  18,  -3,  22,  -4,  -3,   0,
911     -13,   3, -10,  11, -23,  -2,  10,  -7,  -5,  -7,
912     }, {
913     -15,   0,  -2, -10,  13,  -7,  14, -35,  10, -23,
914     -16, -31, -37, -21, -16,  17,  -6,  26,  10,  21,
915      16,  21,  13,  25,  19, -13,   8, -19,  -5,  -7,
916      -1,   8,  -2,  36,  -5,   6,  -3,   8, -15,   1,
917     }, {
918     -48,   4,  23,   9,   9,  17,  30,   2,  16,  -3,
919     -26, -16, -40,   6, -35,  -1, -28,  17, -12,   9,
920       0,   8,  11,  25,   5,  -3,  10,  -8,  -6,  -7,
921      -6, -22,  -1,  11,   1,  21,  22,   7,  19,   5,
922     }, {
923     -26,  -7,  11,  -8,   5,  -1,  17, -14,   1, -15,
924     -24, -30, -32,  -1, -33,  16, -18,  14,   0,   8,
925       6,   4,  12,  12,   6, -13,  -2, -23,  -8, -15,
926       4, -17,   5,  36,  18,  30,   8,  22,  10,  14,
927     }, {
928     -30,  11,  15,  20,   0,   8,   9, -15,  15,   0,
929      -5,   9, -23,   6,  -8, -13, -13,   7,  -5,   3,
930      20,  19,  27,  31,  39,  -7,  13, -11,   4, -19,
931      -8,  25,  -3,  11,  -7,  -2,   4, -16, -18,  -9,
932     }, {
933      -8,  -1,   3,   2,  -3, -10,  -3, -32,   1, -12,
934      -2,  -4, -15,  -1,  -7,   3,  -2,   4,   6,   3,
935      26,  15,  29,  17,  40, -17,   0, -26,   2, -27,
936       2,  29,   4,  36,  10,   6,  -9,   0, -27,   0,
937     }, {
938     -40,   2,  29,  22,  -7,  14,  12,   5,   7,   7,
939     -12,   9, -18,  26, -26, -14, -24,  -4, -16,  -9,
940      10,   2,  26,  18,  26,  -7,   1, -15,   1, -27,
941      -2,   0,   4,  11,  17,  21,  16,  -1,   7,   3,
942     }, {
943     -18,  -9,  17,   4, -11,  -3,   0, -11,  -7,  -4,
944     -10,  -3, -10,  18, -24,   3, -14,  -7,  -4, -10,
945      16,  -1,  27,   4,  27, -17, -12, -30,   0, -35,
946       9,   3,  12,  36,  35,  30,   2,  13,  -2,  11,
947     }, {
948     -66,  -8, -23, -11,  14,   5,  17,  16,  19,   2,
949       3,  -5, -18, -17,  10,   0,  -1,  23,  -6,  20,
950     -15,  18, -14,  22,   5,  10,  44,  23,   2,  26,
951      -9,   3,  -4, -14, -12, -29,  -7, -16,  -7, -18,
952     }, {
953     -44, -20, -34, -29,  10, -13,   4,   0,   4,  -9,
954       5, -19, -10, -24,  11,  17,   8,  20,   5,  19,
955      -9,  14, -12,   9,   6,   0,  30,   9,   0,  19,
956       2,   7,   2,  10,   5, -20, -21,  -1, -17,  -9,
957     }, {
958     -77, -16,  -9,  -9,   6,  11,  21,  37,  10,  10,
959      -4,  -5, -13,   3,  -7,   0, -13,  11, -17,   6,
960     -25,   1, -15,   9,  -7,   9,  32,  19,   0,  18,
961      -2, -22,   3, -15,  12,  -5,   4,  -2,  17,  -5,
962     }, {
963     -55, -28, -21, -27,   2,  -7,   8,  20,  -4,  -1,
964      -1, -18,  -5,  -4,  -5,  16,  -2,   8,  -5,   5,
965     -19,  -2, -14,  -3,  -6,   0,  18,   4,  -2,  11,
966       8, -18,  11,  10,  29,   3, -10,  13,   8,   3,
967     }, {
968     -58,  -9, -16,   1,  -2,   2,   0,  19,  10,  13,
969      17,  21,   3,   3,  19, -12,   2,   0, -10,   1,
970      -5,  12,   0,  15,  26,   5,  34,  16,  11,   7,
971      -4,  25,   2, -14,   3, -29, -13, -25, -20, -20,
972     }, {
973     -36, -21, -28, -16,  -6, -16, -12,   2,  -4,   2,
974      20,   7,  11,  -4,  20,   4,  12,  -2,   1,   0,
975       0,   8,   2,   2,  27,  -4,  21,   2,   9,   0,
976       6,  29,   9,  10,  21, -21, -28, -10, -29, -11,
977     }, {
978     -69, -17,  -3,   3, -10,   8,   3,  40,   1,  21,
979      10,  21,   8,  23,   1, -13,  -8, -11, -21, -11,
980     -15,  -4,   0,   2,  13,   5,  23,  12,   7,   0,
981       1,   0,  10, -14,  28,  -5,  -1, -11,   5,  -7,
982     }, {
983     -47, -30, -15, -14, -14,  -9,  -9,  23, -13,  10,
984      12,   7,  16,  15,   3,   3,   1, -14,  -9, -12,
985      -9,  -8,   0, -10,  14,  -4,   9,  -2,   5,  -8,
986      13,   3,  18,  10,  45,   3, -16,   4,  -4,   0,
987     }, {
988     -79,  11, -15,   4,  18,  23,  20,   5,  30,   7,
989      -7,  -2, -21, -21,  -8,  -3, -10,  28,   4,  31,
990       6,  25,  -3,  37,   4,  -7,  20,   0,   4,   4,
991     -11,   7,  -6,   8, -27, -22, -14, -12,  -5, -16,
992     }, {
993     -57,   0, -27, -13,  14,   5,   7, -11,  15,  -4,
994      -5, -16, -13, -29,  -6,  13,   0,  25,  16,  31,
995      12,  22,  -2,  23,   6, -16,   7, -14,   2,  -3,
996       0,  12,   0,  33,  -9, -13, -28,   3, -14,  -7,
997     }, {
998     -90,   3,  -2,   6,  10,  29,  24,  26,  21,  15,
999     -15,  -2, -16,  -1, -25,  -4, -21,  16,  -6,  18,
1000      -3,   8,  -5,  24,  -8,  -7,   9,  -4,   1,  -3,
1001      -5, -18,   1,   7,  -2,   1,  -2,   1,  19,  -3,
1002     }, {
1003     -67,  -8, -14, -11,   7,  11,  11,   9,   7,   3,
1004     -13, -16,  -8,  -9, -24,  12, -10,  13,   5,  17,
1005       2,   4,  -3,  10,  -6, -17,  -4, -19,   0, -11,
1006       6, -13,   9,  33,  14,  10, -16,  17,  10,   4,
1007     }, {
1008     -71,  10,  -9,  17,   1,  20,   3,   8,  21,  18,
1009       6,  24,   0,  -1,   0, -16,  -6,   5,   0,  13,
1010      17,  19,  11,  29,  25, -11,  11,  -6,  13, -15,
1011      -7,  29,   0,   8, -11, -22, -20, -21, -17, -18,
1012     }, {
1013     -49,  -2, -21,   0,  -1,   2,  -9,  -8,   6,   6,
1014       8,  10,   8,  -9,   2,   0,   4,   2,  13,  12,
1015      23,  15,  12,  16,  26, -21,  -2, -21,  11, -23,
1016       4,  33,   7,  33,   6, -13, -34,  -5, -27, -10,
1017     }, {
1018     -82,   1,   4,  19,  -6,  27,   6,  29,  12,  26,
1019      -1,  24,   5,  18, -17, -17, -17,  -6, -10,   0,
1020       7,   2,   9,  16,  12, -11,   0, -11,   9, -23,
1021       0,   3,   8,   8,  13,   1,  -8,  -7,   7,  -6,
1022     }, {
1023     -60, -10,  -7,   1,  -9,   8,  -6,  13,  -2,  15,
1024       1,  10,  13,  11, -15,   0,  -6,  -9,   1,   0,
1025      13,  -1,  11,   3,  13, -21, -13, -26,   7, -31,
1026      10,   7,  16,  33,  31,  10, -22,   8,  -1,   2,
1027     }, {
1028      -3,   7,  -5,  -5,   8,  -2,  17,  -9,  18, -24,
1029      -2, -19, -10,  -4,  28,  17,   5,  28,  -2,   7,
1030      -4,  15,   7,   8,   6,  23,  13,  21, -14,  20,
1031     -17, -18, -11, -33, -30, -11,  23, -13,  -5,  -9,
1032     }, {
1033      18,  -4, -17, -23,   4, -20,   4, -26,   3, -36,
1034       0, -32,  -2, -12,  29,  34,  16,  24,  10,   6,
1035       0,  12,   8,  -4,   8,  13,   0,   6, -16,  12,
1036      -5, -13,  -3,  -7, -13,  -3,   8,   2, -14,   0,
1037     }, {
1038     -13,   0,   8,  -3,   0,   4,  21,  11,   9, -16,
1039     -10, -18,  -5,  16,  10,  16,  -5,  15, -13,  -5,
1040     -15,  -1,   6,  -4,  -6,  23,   2,  16, -17,  12,
1041     -10, -44,  -3, -33,  -6,  12,  34,   1,  20,   3,
1042     }, {
1043       8, -12,  -3, -21,  -3, -14,   8,  -5,  -4, -28,
1044      -7, -32,   2,   8,  12,  34,   4,  12,  -1,  -6,
1045      -9,  -4,   7, -17,  -4,  13, -11,   1, -19,   4,
1046       0, -39,   4,  -7,  11,  21,  20,  16,  10,  11,
1047     }, {
1048       4,   6,   0,   7,  -8,  -4,   0,  -6,   9, -13,
1049      11,   7,  11,  15,  37,   4,   9,   5,  -5, -11,
1050       5,   9,  22,   1,  27,  18,   4,  14,  -5,   0,
1051     -12,   3,  -4, -32, -14, -12,  17, -22, -17, -11,
1052     }, {
1053      26,  -6, -11, -10, -12, -23, -12, -23,  -5, -24,
1054      13,  -5,  19,   8,  38,  21,  20,   2,   6, -12,
1055      11,   5,  23, -11,  29,   9,  -9,   0,  -7,  -6,
1056      -1,   7,   2,  -7,   3,  -3,   2,  -6, -27,  -3,
1057     }, {
1058      -6,  -2,  14,   9, -16,   1,   3,  14,   0,  -5,
1059       3,   8,  16,  36,  19,   3,  -1,  -6, -17, -24,
1060      -4,  -7,  21, -11,  14,  18,  -7,   9,  -9,  -7,
1061      -6, -22,   3, -33,  10,  11,  28,  -7,   7,   0,
1062     }, {
1063      16, -14,   2,  -8, -20, -17,  -9,  -2, -14, -16,
1064       6,  -5,  24,  28,  21,  20,   8,  -9,  -4, -25,
1065       1, -11,  22, -24,  15,   8, -21,  -5, -11, -14,
1066       5, -18,  11,  -7,  27,  20,  14,   7,  -1,   9,
1067     }, {
1068     -16,  27,   2,  10,  13,  16,  20, -20,  29, -20,
1069     -14, -16, -13,  -8,   9,  13,  -2,  33,   9,  19,
1070      17,  23,  17,  22,   6,   6,  -9,  -2, -12,  -2,
1071     -20, -13, -13, -10, -45,  -4,  16,  -8,  -2,  -7,
1072     }, {
1073       5,  15,  -9,  -7,   9,  -2,   8, -37,  14, -31,
1074     -11, -29,  -5, -16,  11,  30,   7,  29,  21,  18,
1075      23,  19,  18,   9,   7,  -3, -23, -17, -14,  -9,
1076      -8,  -9,  -6,  15, -27,   4,   2,   6, -12,   1,
1077     }, {
1078     -26,  19,  15,  12,   5,  22,  24,   0,  21, -12,
1079     -21, -15,  -8,  11,  -7,  12, -14,  20,  -2,   6,
1080       7,   6,  16,   9,  -6,   5, -21,  -7, -15, -10,
1081     -13, -39,  -5, -10, -20,  19,  28,   5,  22,   5,
1082     }, {
1083      -4,   6,   3,  -5,   1,   4,  11, -16,   6, -23,
1084     -19, -29,   0,   3,  -6,  30,  -3,  17,  10,   5,
1085      13,   2,  17,  -3,  -5,  -3, -35, -21, -17, -17,
1086      -2, -35,   2,  15,  -3,  28,  13,  21,  13,  13,
1087     }, {
1088      -8,  25,   8,  23,  -3,  13,   3, -17,  20,  -8,
1089       0,  10,   8,  11,  18,   0,   1,  10,   5,   0,
1090      28,  17,  32,  15,  26,   1, -19,  -9,  -3, -21,
1091     -15,   7,  -6,  -9, -29,  -5,  10, -17, -15,  -9,
1092     }, {
1093      13,  13,  -3,   5,  -7,  -4,  -9, -34,   5, -20,
1094       2,  -3,  16,   3,  20,  17,  11,   7,  17,   0,
1095      34,  13,  33,   2,  28,  -8, -32, -24,  -5, -29,
1096      -3,  12,   0,  15, -11,   3,  -3,  -2, -24,  -1,
1097     }, {
1098     -18,  17,  21,  25, -11,  19,   6,   3,  11,   0,
1099      -7,  11,  13,  31,   1,   0,  -9,  -1,  -5, -12,
1100      18,   0,  31,   2,  13,   1, -30, -14,  -7, -29,
1101      -9, -18,   1, -10,  -4,  18,  22,  -3,  10,   2,
1102     }, {
1103       3,   5,   9,   7, -15,   1,  -5, -13,  -2, -12,
1104      -5,  -2,  21,  23,   2,  16,   0,  -5,   6, -13,
1105      23,  -3,  32, -10,  15,  -8, -44, -28,  -9, -37,
1106       2, -13,   9,  15,  12,  27,   7,  12,   0,  11,
1107     }, {
1108     -44,   6, -30,  -8,   9,  10,  11,  14,  23,  -5,
1109       8,  -4,  14, -12,  37,  14,  12,  26,   4,  16,
1110      -8,  16,  -9,   7,  -6,  19,  12,  25,  -5,  24,
1111     -15, -13,  -8, -36, -34, -31,  -1, -18,  -4, -18,
1112     }, {
1113     -22,  -5, -42, -26,   6,  -8,  -1,  -2,   9, -17,
1114      10, -18,  21, -19,  39,  31,  23,  23,  16,  15,
1115      -2,  12,  -7,  -6,  -5,   9,  -1,  10,  -7,  16,
1116      -4,  -9,   0, -10, -17, -22, -16,  -2, -14,  -9,
1117     }, {
1118     -55,  -1, -17,  -6,   1,  16,  15,  35,  15,   2,
1119       0,  -4,  19,   8,  20,  13,   1,  14,  -7,   3,
1120     -18,   0, -10,  -5, -19,  19,   0,  21,  -8,  16,
1121      -9, -39,   0, -36, -10,  -7,   9,  -4,  20,  -5,
1122     }, {
1123     -33, -13, -29, -24,  -1,  -1,   2,  18,   0,  -9,
1124       3, -17,  27,   0,  21,  30,  12,  11,   5,   2,
1125     -12,  -4,  -9, -19, -18,   9, -13,   6, -11,   8,
1126       2, -35,   8, -10,   7,   1,  -4,  11,  10,   2,
1127     }, {
1128     -36,   5, -24,   4,  -7,   7,  -6,  17,  14,   5,
1129      22,  22,  35,   8,  46,   1,  17,   3,   0,  -2,
1130       2,  10,   5,   0,  14,  15,   2,  18,   2,   4,
1131     -11,   7,  -1, -36, -18, -32,  -7, -27, -17, -20,
1132     }, {
1133     -14,  -7, -36, -13, -10, -10, -18,   0,   0,  -5,
1134      25,   8,  43,   0,  48,  18,  27,   0,  12,  -3,
1135       7,   6,   7, -13,  15,   5, -11,   3,   0,  -2,
1136       0,  12,   6, -10,   0, -23, -22, -11, -26, -12,
1137     }, {
1138     -47,  -3, -11,   6, -15,  13,  -2,  38,   6,  13,
1139      15,  22,  40,  28,  28,   0,   5,  -8, -10, -15,
1140      -7,  -7,   4, -13,   1,  14,  -9,  14,   0,  -2,
1141      -4, -18,   7, -36,   6,  -8,   3, -13,   7,  -8,
1142     }, {
1143     -25, -15, -22, -11, -18,  -4, -15,  22,  -8,   2,
1144      17,   9,  48,  20,  30,  17,  16, -11,   1, -16,
1145      -2, -10,   5, -26,   2,   4, -22,   0,  -2, -10,
1146       6, -13,  14, -10,  23,   0, -10,   2,  -1,   0,
1147     }, {
1148     -57,  26, -22,   7,  14,  28,  14,   3,  35,   0,
1149      -3,  -1,  11, -16,  18,  10,   4,  31,  15,  28,
1150      14,  23,   1,  21,  -7,   2, -11,   1,  -3,   1,
1151     -18,  -9, -10, -13, -49, -24,  -8, -14,  -2, -16,
1152     }, {
1153     -35,  14, -34, -10,  10,  10,   1, -12,  20, -12,
1154       0, -15,  18, -24,  20,  27,  14,  28,  27,  27,
1155      20,  19,   2,   8,  -5,  -7, -25, -13,  -5,  -5,
1156      -6,  -5,  -2,  12, -31, -15, -23,   1, -12,  -8,
1157     }, {
1158     -68,  18,  -9,   9,   6,  35,  18,  25,  26,   7,
1159     -10,  -1,  16,   3,   1,   9,  -6,  19,   4,  15,
1160       4,   6,   0,   8, -20,   2, -23,  -2,  -7,  -5,
1161     -12, -35,  -1, -13, -24,   0,   3,   0,  22,  -4,
1162     }, {
1163     -46,   6, -21,  -8,   2,  16,   5,   8,  11,  -4,
1164      -8, -15,  24,  -4,   2,  26,   3,  16,  16,  14,
1165       9,   2,   1,  -4, -19,  -7, -36, -17,  -9, -13,
1166       0, -31,   5,  12,  -7,   8, -11,  15,  13,   4,
1167     }, {
1168     -49,  24, -16,  20,  -2,  26,  -2,   7,  25,  10,
1169      11,  25,  32,   3,  27,  -2,   8,   8,  11,   9,
1170      24,  17,  16,  14,  13,  -2, -20,  -5,   4, -17,
1171     -14,  12,  -3, -13, -33, -25, -14, -23, -15, -19,
1172     }, {
1173     -27,  12, -28,   2,  -6,   7, -15,  -9,  11,  -1,
1174      13,  11,  40,  -4,  29,  14,  19,   5,  23,   8,
1175      30,  13,  17,   0,  14, -12, -34, -20,   2, -25,
1176      -2,  16,   4,  12, -15, -16, -29,  -7, -24, -10,
1177     }, {
1178     -60,  16,  -3,  22, -10,  32,   0,  28,  17,  18,
1179       3,  25,  37,  23,  10,  -3,  -2,  -3,   0,  -3,
1180      14,   0,  14,   1,   0,  -2, -32,  -9,   1, -25,
1181      -7, -13,   5, -13,  -8,  -1,  -2,  -8,  10,  -6,
1182     }, {
1183     -38,   4, -15,   4, -14,  13, -12,  11,   2,   6,
1184       6,  11,  45,  16,  11,  13,   7,  -6,  12,  -4,
1185      20,  -3,  16, -12,   1, -12, -46, -24,   0, -33,
1186       3,  -9,  12,  12,   8,   7, -17,   6,   0,   2
1187     }
1188 };
1189
1190 static const int8_t etable2[128][40]={
1191     {
1192      73, -32, -60, -15, -26,  59,   2, -33,  30, -10,
1193      -3, -17,   8,  30,  -1, -26,  -4, -22,  10,  16,
1194     -36,  -5, -11,  56,  37,   6, -10,  -5, -13,  -3,
1195       6,  -5,  11,   4, -19,  -5, -16,  41,  24,  13,
1196     }, {
1197       4, -11, -37,  23,  -5,  46,  -2, -29,  -5, -39,
1198     -21,  -9,   0,  49,  12,  -9, -16, -26,  22,  15,
1199     -45, -20,  -5,  40,  22,  17, -26,  31, -14,   2,
1200     -14,  10,  30,  20, -27,  -9, -39,  39,  18,   5,
1201     }, {
1202      34, -25, -48, -28, -11,  34,  -2, -41,   9,  -7,
1203     -17,  21,  20,  24, -17, -33,   0, -24,  10,  42,
1204       3,  -5,  10,  42,  11,   8,  -3,   3,  16,   9,
1205      22,  -2,   0, -33, -10,  18,   7,  58,  10,  28,
1206     }, {
1207     -34,  -4, -25,  10,   9,  21,  -7, -36, -26, -36,
1208     -35,  28,  12,  42,  -3, -16, -12, -28,  21,  42,
1209      -5, -21,  16,  26,  -4,  19, -19,  39,  15,  15,
1210       1,  13,  19, -17, -17,  14, -15,  55,   4,  19,
1211     }, {
1212      28, -20, -51, -14,  -6,   7,   0, -26,  27,  -4,
1213      18, -40,  -6,  16,  -1, -15,   0, -55,  -5, -16,
1214     -19,  14,  -3,  49,  14,   1, -22, -30, -12,   0,
1215      24,  15,   9, -17, -45, -29,   4,  28,  51,  35,
1216     }, {
1217     -40,   0, -28,  24,  14,  -5,  -4, -21,  -7, -33,
1218       0, -32, -15,  35,  12,   1, -11, -58,   5, -16,
1219     -28,   0,   1,  33,   0,  11, -39,   5, -14,   6,
1220       3,  31,  28,  -1, -53, -33, -19,  25,  46,  26,
1221     }, {
1222     -11, -14, -39, -27,   9, -17,  -4, -33,   6,   0,
1223       4,  -1,   5,  10, -17, -22,   5, -57,  -5,   9,
1224      20,  13,  18,  35, -11,   3, -16, -22,  17,  13,
1225      40,  19,  -1, -55, -35,  -5,  27,  44,  37,  49,
1226     }, {
1227     -80,   6, -16,  11,  30, -30,  -9, -28, -28, -29,
1228     -13,   6,  -2,  28,  -3,  -5,  -7, -60,   5,   9,
1229      11,  -1,  24,  19, -27,  13, -32,  13,  15,  19,
1230      19,  35,  17, -39, -43,  -9,   4,  42,  32,  41,
1231     }, {
1232      78, -21, -43,   4, -38,  17,  17,  -5,  55,  24,
1233     -15, -36,  14,   4,  24, -24,  12,   5,  17,  31,
1234     -54,  -5,  -2,  27,  43, -12,   2,   9,  -9, -15,
1235      22,  -3,  28,  21, -20,   3,  20,  28,   9,  -5,
1236     }, {
1237       9,  -1, -20,  43, -17,   3,  12,   0,  20,  -4,
1238     -33, -29,   6,  22,  38,  -7,   0,   1,  29,  30,
1239     -63, -21,   3,  11,  27,  -1, -14,  45, -10,  -9,
1240       1,  12,  47,  37, -28,   0,  -2,  26,   4, -13,
1241     }, {
1242      39, -14, -30,  -8, -22,  -8,  12, -12,  34,  27,
1243     -29,   2,  26,  -2,   8, -31,  16,   3,  17,  57,
1244     -14,  -6,  19,  13,  16, -10,   8,  17,  20,  -2,
1245      38,   0,  17, -16, -11,  27,  44,  45,  -4,   8,
1246     }, {
1247     -29,   5,  -7,  30,  -1, -21,   7,  -7,   0,   0,
1248     -47,   9,  18,  15,  22, -14,   4,   0,  28,  57,
1249     -23, -21,  25,  -2,   1,   0,  -7,  53,  19,   3,
1250      17,  15,  36,   0, -19,  24,  21,  43,  -9,   0,
1251     }, {
1252      33, -10, -34,   5, -17, -35,  15,   1,  53,  30,
1253       6, -59,   0, -10,  24, -13,  17, -27,   1,  -1,
1254     -37,  13,   4,  20,  20, -18, -10, -16,  -8, -11,
1255      39,  18,  26,   0, -46, -20,  41,  15,  37,  15,
1256     }, {
1257     -35,  10, -11,  44,   3, -48,  10,   6,  17,   2,
1258     -11, -51,  -8,   8,  38,   3,   4, -31,  12,  -2,
1259     -46,  -1,  10,   4,   5,  -7, -26,  19, -10,  -5,
1260      18,  34,  45,  15, -54, -24,  18,  13,  31,   7,
1261     }, {
1262      -5,  -3, -21,  -7,  -2, -60,  10,  -5,  32,  34,
1263      -7, -20,  11, -16,   8, -20,  21, -29,   1,  24,
1264       2,  13,  27,   6,  -5, -15,  -3,  -8,  21,   1,
1265      55,  21,  15, -38, -37,   3,  65,  32,  23,  30,
1266     }, {
1267     -74,  17,   0,  31,  18, -73,   5,   0,  -3,   5,
1268     -25, -12,   3,   1,  22,  -3,   9, -33,  12,  24,
1269      -6,  -2,  33,  -9, -21,  -5, -20,  27,  19,   7,
1270      34,  37,  34, -22, -44,   0,  41,  29,  17,  21,
1271     }, {
1272      76, -35, -31, -28, -49,  43, -40,   0,  29, -14,
1273       8,   5,  10,  18, -26, -46,   0,   7,   6,   3,
1274     -25,  -7,  -2,  40,  28,  14,  18,  -3, -27, -28,
1275      -8, -45, -13,  34, -13, -27, -15,  31,  12,   3,
1276     }, {
1277       7, -15,  -9,   9, -28,  29, -45,   5,  -6, -43,
1278      -9,  12,   2,  36, -12, -30, -11,   3,  17,   3,
1279     -34, -22,   3,  24,  12,  24,   2,  32, -28, -22,
1280     -29, -29,   5,  50, -21, -31, -38,  29,   7,  -5,
1281     }, {
1282      36, -29, -19, -41, -34,  18, -45,  -6,   8, -10,
1283      -5,  43,  23,  11, -42, -53,   5,   5,   6,  30,
1284      14,  -8,  20,  26,   1,  16,  25,   4,   3, -15,
1285       7, -41, -23,  -3,  -4,  -3,   8,  48,  -1,  17,
1286     }, {
1287     -32,  -8,   3,  -2, -13,   4, -50,  -1, -27, -39,
1288     -23,  51,  15,  30, -27, -37,  -7,   1,  17,  29,
1289       5, -23,  25,  10, -14,  26,   8,  41,   1,  -9,
1290     -13, -26,  -5,  12, -12,  -7, -14,  45,  -6,   9,
1291     }, {
1292      31, -24, -23, -27, -29,  -9, -43,   8,  26,  -7,
1293      30, -17,  -4,   3, -26, -35,   5, -24, -10, -28,
1294      -9,  12,   5,  33,   5,   8,   5, -29, -26, -24,
1295       9, -23, -14,  12, -39, -52,   5,  18,  39,  24,
1296     }, {
1297     -37,  -3,   0,  10,  -7, -22, -48,  12,  -8, -36,
1298      12,  -9, -12,  22, -12, -19,  -6, -28,   0, -29,
1299     -18,  -3,  11,  17, -10,  18, -10,   7, -27, -18,
1300     -11,  -7,   3,  28, -47, -55, -18,  15,  34,  16,
1301     }, {
1302      -8, -17, -10, -40, -13, -34, -47,   0,   5,  -4,
1303      16,  21,   8,  -2, -42, -43,  10, -26, -10,  -2,
1304      31,  11,  27,  19, -21,  10,  12, -20,   3, -11,
1305      25, -20, -25, -25, -29, -28,  28,  34,  25,  38,
1306     }, {
1307     -77,   2,  11,  -1,   7, -47, -52,   5, -29, -33,
1308      -1,  28,   0,  15, -28, -26,  -2, -30,   0,  -2,
1309      22,  -4,  33,   3, -36,  21,  -3,  15,   2,  -5,
1310       4,  -4,  -6,  -9, -37, -31,   5,  32,  20,  30,
1311     }, {
1312      81, -25, -14,  -8, -61,   0, -25,  28,  54,  20,
1313      -3, -14,  17,  -8,   0, -44,  16,  35,  13,  18,
1314     -43,  -7,   6,  11,  33,  -4,  30,  11, -22, -40,
1315       6, -43,   3,  50, -14, -18,  22,  18,  -1, -16,
1316     }, {
1317      12,  -4,   8,  29, -39, -12, -30,  33,  19,  -8,
1318     -21,  -6,   8,   9,  13, -28,   4,  31,  24,  18,
1319     -52, -23,  12,  -4,  18,   5,  14,  47, -24, -34,
1320     -14, -27,  22,  66, -22, -22,  -1,  16,  -6, -24,
1321     }, {
1322      41, -18,  -2, -21, -45, -24, -30,  21,  33,  24,
1323     -17,  24,  29, -15, -16, -51,  21,  33,  13,  45,
1324      -3,  -8,  28,  -2,   7,  -2,  37,  19,   7, -27,
1325      22, -39,  -7,  12,  -5,   5,  45,  35, -15,  -1,
1326     }, {
1327     -27,   1,  20,  17, -24, -38, -35,  26,  -1,  -4,
1328     -35,  32,  21,   3,  -2, -35,   8,  29,  24,  44,
1329     -12, -24,  34, -18,  -8,   7,  21,  55,   5, -21,
1330       2, -23,  11,  28, -13,   1,  22,  33, -21, -10,
1331     }, {
1332      36, -13,  -5,  -7, -40, -51, -28,  36,  52,  27,
1333      18, -36,   2, -22,   0, -33,  21,   2,  -3, -13,
1334     -26,  11,  14,   4,  10, -10,  18, -14, -22, -36,
1335      24, -21,   1,  28, -40, -42,  42,   5,  25,   5,
1336     }, {
1337     -32,   6,  17,  31, -19, -65, -33,  41,  16,  -1,
1338       0, -29,  -6,  -4,  13, -17,   9,  -1,   8, -14,
1339     -35,  -3,  19, -11,  -4,   0,   1,  21, -23, -30,
1340       3,  -5,  20,  44, -48, -46,  19,   3,  20,  -3,
1341     }, {
1342      -3,  -7,   6, -20, -25, -77, -32,  29,  31,  30,
1343       4,   2,  14, -29, -16, -40,  26,   0,  -3,  12,
1344      13,  10,  36,  -9, -15,  -8,  24,  -6,   7, -22,
1345      40, -17,  -8,  -9, -31, -18,  66,  22,  11,  19,
1346     }, {
1347     -72,  13,  29,  18,  -4, -90, -37,  34,  -4,   1,
1348     -13,   9,   6, -11,  -2, -24,  13,  -3,   7,  11,
1349       4,  -4,  42, -25, -31,   1,   8,  29,   6, -17,
1350      19,  -2,  10,   6, -38, -22,  42,  19,   6,  11,
1351     }, {
1352     116, -20, -68, -30, -28,  83,  28, -18,  32, -22,
1353     -13, -21,   5,  28,   5,  -7, -24,  -8, -22,  17,
1354     -23,  30, -25,  45,  15,  -9, -11, -18,  22, -10,
1355       4,  -2,  19, -12,  23,   3, -43,   2,  12,  -4,
1356     }, {
1357      47,   0, -45,   7,  -7,  69,  23, -13,  -2, -51,
1358     -32, -14,  -3,  47,  19,   8, -37, -11, -10,  16,
1359     -32,  15, -19,  29,   0,   1, -28,  18,  20,  -4,
1360     -16,  13,  38,   3,  15,   0, -66,   0,   7, -13,
1361     }, {
1362      77, -13, -56, -43, -13,  57,  23, -26,  11, -19,
1363     -27,  16,  17,  22, -10, -15, -19, -10, -22,  43,
1364      16,  30,  -2,  31, -11,  -6,  -5,  -9,  52,   2,
1365      20,   0,   8, -50,  33,  27, -19,  19,  -1,   9,
1366     }, {
1367       8,   6, -33,  -4,   7,  44,  18, -21, -23, -48,
1368     -46,  24,   9,  40,   3,   1, -32, -13, -11,  43,
1369       7,  14,   3,  15, -26,   3, -21,  26,  50,   8,
1370       0,  16,  27, -34,  25,  23, -43,  17,  -6,   1,
1371     }, {
1372      71,  -9, -59, -29,  -8,  30,  26, -11,  30, -16,
1373       8, -44,  -9,  14,   5,   2, -19, -40, -38, -15,
1374      -7,  50, -17,  38,  -7, -14, -24, -43,  22,  -6,
1375      22,  19,  17, -34,  -2, -20, -23, -10,  39,  16,
1376     }, {
1377       2,  11, -36,   9,  13,  17,  21,  -6,  -5, -45,
1378     -10, -36, -18,  33,  19,  19, -31, -44, -27, -15,
1379     -16,  34, -11,  22, -22,  -4, -40,  -7,  21,   0,
1380       1,  35,  36, -18, -10, -24, -46, -12,  34,   8,
1381     }, {
1382      32,  -2, -47, -42,   7,   5,  21, -18,   9, -12,
1383      -5,  -5,   2,   8, -10,  -4, -14, -42, -38,  10,
1384      33,  49,   5,  24, -33, -12, -17, -35,  52,   6,
1385      38,  22,   7, -72,   7,   3,   0,   6,  25,  30,
1386     }, {
1387     -36,  18, -24,  -3,  28,  -7,  16, -13, -26, -41,
1388     -24,   1,  -5,  26,   3,  12, -27, -46, -27,  10,
1389      24,  34,  10,   8, -49,  -2, -34,   0,  51,  12,
1390      17,  38,  25, -56,   0,   0, -22,   3,  20,  22,
1391     }, {
1392     121,  -9, -50, -10, -40,  40,  43,   9,  58,  12,
1393     -25, -41,  11,   2,  31,  -5,  -8,  19, -15,  32,
1394     -41,  30, -16,  16,  20, -28,   0,  -3,  26, -22,
1395      19,   0,  36,   4,  22,  12,  -6,  -9,  -1, -24,
1396     }, {
1397      52,  10, -27,  27, -18,  26,  38,  14,  23, -16,
1398     -44, -33,   3,  20,  45,  10, -20,  15,  -3,  31,
1399     -50,  14, -10,   0,   5, -17, -15,  32,  24, -16,
1400      -1,  15,  55,  20,  14,   8, -29, -12,  -7, -32,
1401     }, {
1402      82,  -3, -38, -23, -24,  15,  38,   2,  37,  15,
1403     -39,  -2,  23,  -4,  15, -12,  -3,  17, -15,  58,
1404      -1,  29,   6,   2,  -5, -26,   7,   4,  56,  -9,
1405      35,   3,  25, -33,  32,  36,  17,   7, -15,  -9,
1406     }, {
1407      13,  17, -15,  15,  -3,   1,  33,   7,   1, -12,
1408     -58,   5,  15,  13,  29,   3, -16,  13,  -4,  57,
1409     -10,  13,  11, -13, -21, -15,  -9,  40,  55,  -3,
1410      14,  19,  44, -17,  24,  32,  -5,   4, -21, -18,
1411     }, {
1412      76,   1, -41,  -9, -19, -12,  41,  17,  55,  18,
1413      -3, -63,  -3, -12,  30,   5,  -3, -12, -31,   0,
1414     -24,  49,  -8,   9,  -1, -33, -12, -29,  27, -18,
1415      37,  21,  34, -17,  -3, -11,  14, -23,  25,  -2,
1416     }, {
1417       7,  22, -18,  29,   1, -25,  36,  21,  20,  -9,
1418     -22, -56, -11,   6,  45,  21, -15, -16, -20,  -1,
1419     -33,  34,  -2,  -6, -17, -23, -28,   6,  25, -12,
1420      16,  37,  53,  -1, -11, -15,  -8, -25,  20, -11,
1421     }, {
1422      37,   8, -29, -22,  -4, -37,  36,   9,  34,  22,
1423     -17, -24,   8, -18,  15,  -2,   1, -14, -31,  25,
1424      15,  48,  13,  -4, -28, -31,  -5, -21,  57,  -4,
1425      53,  24,  23, -55,   6,  12,  37,  -6,  11,  11,
1426     }, {
1427     -31,  28,  -6,  16,  16, -50,  31,  14,   0,  -6,
1428     -36, -17,   0,   0,  29,  14, -11, -18, -20,  25,
1429       6,  33,  19, -20, -43, -21, -21,  14,  55,   0,
1430      32,  40,  42, -39,  -1,   8,  14,  -8,   6,   3,
1431     }, {
1432     119, -24, -39, -44, -51,  66, -14,  15,  31, -26,
1433      -1,   0,   7,  16, -19, -28, -19,  22, -26,   4,
1434     -13,  28, -16,  29,   5,  -1,  16, -16,   8, -35,
1435     -10, -42,  -4,  17,  29, -19, -42,  -7,   0, -15,
1436     }, {
1437      50,  -3, -16,  -5, -30,  53, -19,  20,  -3, -55,
1438     -19,   8,   0,  34,  -5, -11, -32,  18, -15,   4,
1439     -22,  13, -10,  13,  -9,   8,   0,  19,   7, -29,
1440     -31, -26,  13,  33,  21, -22, -65,  -9,  -4, -23,
1441     }, {
1442      79, -17, -27, -56, -36,  41, -19,   8,  10, -22,
1443     -15,  39,  20,   9, -35, -35, -15,  20, -26,  31,
1444      26,  27,   6,  15, -20,   0,  23,  -8,  38, -22,
1445       5, -38, -15, -20,  39,   4, -18,   9, -13,  -1,
1446     }, {
1447      10,   3,  -4, -18, -15,  27, -24,  13, -24, -51,
1448     -34,  47,  12,  28, -21, -19, -27,  16, -15,  30,
1449      17,  12,  12,   0, -36,  10,   7,  27,  37, -16,
1450     -15, -22,   3,  -4,  31,   1, -42,   7, -18,  -9,
1451     }, {
1452      74, -12, -30, -42, -30,  14, -16,  23,  29, -19,
1453      20, -21,  -7,   1, -19, -17, -14, -10, -43, -27,
1454       3,  48,  -8,  22, -16,  -7,   4, -42,   9, -31,
1455       6, -20,  -6,  -4,   3, -43, -22, -20,  28,   5,
1456     }, {
1457       5,   7,  -7,  -4,  -9,   0, -21,  28,  -6, -48,
1458       2, -14, -15,  20,  -5,   0, -27, -14, -32, -28,
1459      -5,  32,  -2,   6, -32,   3, -12,  -5,   8, -25,
1460     -14,  -4,  12,  11,  -4, -47, -45, -22,  22,  -2,
1461     }, {
1462      34,  -6, -18, -55, -15, -11, -21,  16,   8, -16,
1463       6,  16,   5,  -4, -35, -24, -10, -12, -43,  -1,
1464      43,  47,  14,   8, -43,  -5,  10, -34,  39, -18,
1465      22, -16, -17, -42,  13, -19,   1,  -3,  14,  20,
1466     }, {
1467     -34,  14,   4, -17,   5, -24, -26,  20, -27, -45,
1468     -12,  24,  -2,  13, -21,  -8, -22, -16, -32,  -2,
1469      34,  31,  20,  -7, -58,   5,  -5,   2,  38, -12,
1470       2,  -1,   1, -26,   5, -23, -21,  -6,   8,  11,
1471     }, {
1472     124, -13, -21, -23, -62,  23,   0,  43,  57,   8,
1473     -13, -18,  14, -10,   6, -26,  -3,  49, -19,  19,
1474     -31,  27,  -7,   0,  11, -20,  29,  -1,  12, -47,
1475       4, -39,  11,  34,  28,  -9,  -5, -19, -13, -34,
1476     }, {
1477      55,   6,   1,  14, -41,  10,  -4,  48,  22, -20,
1478     -31, -10,   5,   7,  20,  -9, -16,  45,  -8,  19,
1479     -40,  12,  -1, -15,  -4, -10,  12,  34,  11, -41,
1480     -16, -24,  30,  49,  20, -13, -28, -22, -18, -43,
1481     }, {
1482      84,  -6,  -9, -36, -47,  -1,  -4,  36,  36,  12,
1483     -27,  20,  26, -17,  -9, -33,   1,  47, -19,  46,
1484       9,  27,  15, -13, -15, -18,  35,   6,  42, -33,
1485      20, -36,   1,  -4,  38,  14,  18,  -2, -27, -20,
1486     }, {
1487      15,  13,  13,   1, -26, -14,  -9,  41,   1, -16,
1488     -46,  27,  18,   1,   4, -16, -11,  43,  -8,  45,
1489       0,  11,  21, -29, -30,  -8,  19,  42,  41, -28,
1490       0, -20,  20,  11,  30,  10,  -4,  -5, -32, -28,
1491     }, {
1492      79,  -2, -12, -22, -42, -28,  -1,  51,  54,  15,
1493       8, -41,   0, -24,   6, -15,   1,  17, -36, -12,
1494     -14,  47,   0,  -6, -11, -26,  16, -27,  13, -43,
1495      22, -18,  10,  12,   2, -34,  15, -33,  13, -13,
1496     }, {
1497      10,  18,  10,  15, -21, -41,  -6,  56,  19, -13,
1498      -9, -33,  -9,  -6,  20,   1, -11,  13, -24, -13,
1499     -23,  32,   6, -22, -26, -15,   0,   8,  12, -37,
1500       1,  -2,  28,  27,  -5, -37,  -7, -35,   8, -21,
1501     }, {
1502      39,   4,   0, -35, -27, -53,  -6,  44,  33,  18,
1503      -5,  -2,  11, -31,  -9, -22,   6,  15, -36,  13,
1504      25,  46,  23, -20, -37, -24,  23, -19,  43, -29,
1505      38, -14,   0, -26,  12, -10,  38, -16,   0,   0,
1506     }, {
1507     -29,  25,  22,   2,  -6, -67, -11,  49,  -1, -10,
1508     -24,   5,   3, -13,   4,  -5,  -6,  11, -25,  12,
1509      16,  31,  28, -36, -53, -13,   6,  16,  42, -24,
1510      17,   1,  18, -10,   4, -13,  15, -18,  -5,  -7,
1511     }, {
1512      29, -25, -22,  -2,   6,  67,  11, -49,   1,  10,
1513      24,  -5,  -3,  13,  -4,   5,   6, -11,  25, -12,
1514     -16, -31, -28,  36,  53,  13,  -6, -16, -42,  24,
1515     -17,  -1, -18,  10,  -4,  13, -15,  18,   5,   7,
1516     }, {
1517     -39,  -4,   0,  35,  27,  53,   6, -44, -33, -18,
1518       5,   2, -11,  31,   9,  22,  -6, -15,  36, -13,
1519     -25, -46, -23,  20,  37,  24, -23,  19, -43,  29,
1520     -38,  14,   0,  26, -12,  10, -38,  16,   0,   0,
1521     }, {
1522     -10, -18, -10, -15,  21,  41,   6, -56, -19,  13,
1523       9,  33,   9,   6, -20,  -1,  11, -13,  24,  13,
1524      23, -32,  -6,  22,  26,  15,   0,  -8, -12,  37,
1525      -1,   2, -28, -27,   5,  37,   7,  35,  -8,  21,
1526     }, {
1527     -79,   2,  12,  22,  42,  28,   1, -51, -54, -15,
1528      -8,  41,   0,  24,  -6,  15,  -1, -17,  36,  12,
1529      14, -47,   0,   6,  11,  26, -16,  27, -13,  43,
1530     -22,  18, -10, -12,  -2,  34, -15,  33, -13,  13,
1531     }, {
1532     -15, -13, -13,  -1,  26,  14,   9, -41,  -1,  16,
1533      46, -27, -18,  -1,  -4,  16,  11, -43,   8, -45,
1534       0, -11, -21,  29,  30,   8, -19, -42, -41,  28,
1535       0,  20, -20, -11, -30, -10,   4,   5,  32,  28,
1536     }, {
1537     -84,   6,   9,  36,  47,   1,   4, -36, -36, -12,
1538      27, -20, -26,  17,   9,  33,  -1, -47,  19, -46,
1539      -9, -27, -15,  13,  15,  18, -35,  -6, -42,  33,
1540     -20,  36,  -1,   4, -38, -14, -18,   2,  27,  20,
1541     }, {
1542     -55,  -6,  -1, -14,  41, -10,   4, -48, -22,  20,
1543      31,  10,  -5,  -7, -20,   9,  16, -45,   8, -19,
1544      40, -12,   1,  15,   4,  10, -12, -34, -11,  41,
1545      16,  24, -30, -49, -20,  13,  28,  22,  18,  43,
1546     }, {
1547    -124,  13,  21,  23,  62, -23,   0, -43, -57,  -8,
1548      13,  18, -14,  10,  -6,  26,   3, -49,  19, -19,
1549      31, -27,   7,   0, -11,  20, -29,   1, -12,  47,
1550      -4,  39, -11, -34, -28,   9,   5,  19,  13,  34,
1551     }, {
1552      34, -14,  -4,  17,  -5,  24,  26, -20,  27,  45,
1553      12, -24,   2, -13,  21,   8,  22,  16,  32,   2,
1554     -34, -31, -20,   7,  58,  -5,   5,  -2, -38,  12,
1555      -2,   1,  -1,  26,  -5,  23,  21,   6,  -8, -11,
1556     }, {
1557     -34,   6,  18,  55,  15,  11,  21, -16,  -8,  16,
1558      -6, -16,  -5,   4,  35,  24,  10,  12,  43,   1,
1559     -43, -47, -14,  -8,  43,   5, -10,  34, -39,  18,
1560     -22,  16,  17,  42, -13,  19,  -1,   3, -14, -20,
1561     }, {
1562      -5,  -7,   7,   4,   9,   0,  21, -28,   6,  48,
1563      -2,  14,  15, -20,   5,   0,  27,  14,  32,  28,
1564       5, -32,   2,  -6,  32,  -3,  12,   5,  -8,  25,
1565      14,   4, -12, -11,   4,  47,  45,  22, -22,   2,
1566     }, {
1567     -74,  12,  30,  42,  30, -14,  16, -23, -29,  19,
1568     -20,  21,   7,  -1,  19,  17,  14,  10,  43,  27,
1569      -3, -48,   8, -22,  16,   7,  -4,  42,  -9,  31,
1570      -6,  20,   6,   4,  -3,  43,  22,  20, -28,  -5,
1571     }, {
1572     -10,  -3,   4,  18,  15, -27,  24, -13,  24,  51,
1573      34, -47, -12, -28,  21,  19,  27, -16,  15, -30,
1574     -17, -12, -12,   0,  36, -10,  -7, -27, -37,  16,
1575      15,  22,  -3,   4, -31,  -1,  42,  -7,  18,   9,
1576     }, {
1577     -79,  17,  27,  56,  36, -41,  19,  -8, -10,  22,
1578      15, -39, -20,  -9,  35,  35,  15, -20,  26, -31,
1579     -26, -27,  -6, -15,  20,   0, -23,   8, -38,  22,
1580      -5,  38,  15,  20, -39,  -4,  18,  -9,  13,   1,
1581     }, {
1582     -50,   3,  16,   5,  30, -53,  19, -20,   3,  55,
1583      19,  -8,   0, -34,   5,  11,  32, -18,  15,  -4,
1584      22, -13,  10, -13,   9,  -8,   0, -19,  -7,  29,
1585      31,  26, -13, -33, -21,  22,  65,   9,   4,  23,
1586     }, {
1587    -119,  24,  39,  44,  51, -66,  14, -15, -31,  26,
1588       1,   0,  -7, -16,  19,  28,  19, -22,  26,  -4,
1589      13, -28,  16, -29,  -5,   1, -16,  16,  -8,  35,
1590      10,  42,   4, -17, -29,  19,  42,   7,   0,  15,
1591     }, {
1592      31, -28,   6, -16, -16,  50, -31, -14,   0,   6,
1593      36,  17,   0,   0, -29, -14,  11,  18,  20, -25,
1594      -6, -33, -19,  20,  43,  21,  21, -14, -55,   0,
1595     -32, -40, -42,  39,   1,  -8, -14,   8,  -6,  -3,
1596     }, {
1597     -37,  -8,  29,  22,   4,  37, -36,  -9, -34, -22,
1598      17,  24,  -8,  18, -15,   2,  -1,  14,  31, -25,
1599     -15, -48, -13,   4,  28,  31,   5,  21, -57,   4,
1600     -53, -24, -23,  55,  -6, -12, -37,   6, -11, -11,
1601     }, {
1602      -7, -22,  18, -29,  -1,  25, -36, -21, -20,   9,
1603      22,  56,  11,  -6, -45, -21,  15,  16,  20,   1,
1604      33, -34,   2,   6,  17,  23,  28,  -6, -25,  12,
1605     -16, -37, -53,   1,  11,  15,   8,  25, -20,  11,
1606     }, {
1607     -76,  -1,  41,   9,  19,  12, -41, -17, -55, -18,
1608       3,  63,   3,  12, -30,  -5,   3,  12,  31,   0,
1609      24, -49,   8,  -9,   1,  33,  12,  29, -27,  18,
1610     -37, -21, -34,  17,   3,  11, -14,  23, -25,   2,
1611     }, {
1612     -13, -17,  15, -15,   3,  -1, -33,  -7,  -1,  12,
1613      58,  -5, -15, -13, -29,  -3,  16, -13,   4, -57,
1614      10, -13, -11,  13,  21,  15,   9, -40, -55,   3,
1615     -14, -19, -44,  17, -24, -32,   5,  -4,  21,  18,
1616     }, {
1617     -82,   3,  38,  23,  24, -15, -38,  -2, -37, -15,
1618      39,   2, -23,   4, -15,  12,   3, -17,  15, -58,
1619       1, -29,  -6,  -2,   5,  26,  -7,  -4, -56,   9,
1620     -35,  -3, -25,  33, -32, -36, -17,  -7,  15,   9,
1621     }, {
1622     -52, -10,  27, -27,  18, -26, -38, -14, -23,  16,
1623      44,  33,  -3, -20, -45, -10,  20, -15,   3, -31,
1624      50, -14,  10,   0,  -5,  17,  15, -32, -24,  16,
1625       1, -15, -55, -20, -14,  -8,  29,  12,   7,  32,
1626     }, {
1627    -121,   9,  50,  10,  40, -40, -43,  -9, -58, -12,
1628      25,  41, -11,  -2, -31,   5,   8, -19,  15, -32,
1629      41, -30,  16, -16, -20,  28,   0,   3, -26,  22,
1630     -19,   0, -36,  -4, -22, -12,   6,   9,   1,  24,
1631     }, {
1632      36, -18,  24,   3, -28,   7, -16,  13,  26,  41,
1633      24,  -1,   5, -26,  -3, -12,  27,  46,  27, -10,
1634     -24, -34, -10,  -8,  49,   2,  34,   0, -51, -12,
1635     -17, -38, -25,  56,   0,   0,  22,  -3, -20, -22,
1636     }, {
1637     -32,   2,  47,  42,  -7,  -5, -21,  18,  -9,  12,
1638       5,   5,  -2,  -8,  10,   4,  14,  42,  38, -10,
1639     -33, -49,  -5, -24,  33,  12,  17,  35, -52,  -6,
1640     -38, -22,  -7,  72,  -7,  -3,   0,  -6, -25, -30,
1641     }, {
1642      -2, -11,  36,  -9, -13, -17, -21,   6,   5,  45,
1643      10,  36,  18, -33, -19, -19,  31,  44,  27,  15,
1644      16, -34,  11, -22,  22,   4,  40,   7, -21,   0,
1645      -1, -35, -36,  18,  10,  24,  46,  12, -34,  -8,
1646     }, {
1647     -71,   9,  59,  29,   8, -30, -26,  11, -30,  16,
1648      -8,  44,   9, -14,  -5,  -2,  19,  40,  38,  15,
1649       7, -50,  17, -38,   7,  14,  24,  43, -22,   6,
1650     -22, -19, -17,  34,   2,  20,  23,  10, -39, -16,
1651     }, {
1652      -8,  -6,  33,   4,  -7, -44, -18,  21,  23,  48,
1653      46, -24,  -9, -40,  -3,  -1,  32,  13,  11, -43,
1654      -7, -14,  -3, -15,  26,  -3,  21, -26, -50,  -8,
1655       0, -16, -27,  34, -25, -23,  43, -17,   6,  -1,
1656     }, {
1657     -77,  13,  56,  43,  13, -57, -23,  26, -11,  19,
1658      27, -16, -17, -22,  10,  15,  19,  10,  22, -43,
1659     -16, -30,   2, -31,  11,   6,   5,   9, -52,  -2,
1660     -20,   0,  -8,  50, -33, -27,  19, -19,   1,  -9,
1661     }, {
1662     -47,   0,  45,  -7,   7, -69, -23,  13,   2,  51,
1663      32,  14,   3, -47, -19,  -8,  37,  11,  10, -16,
1664      32, -15,  19, -29,   0,  -1,  28, -18, -20,   4,
1665      16, -13, -38,  -3, -15,   0,  66,   0,  -7,  13,
1666     }, {
1667    -116,  20,  68,  30,  28, -83, -28,  18, -32,  22,
1668      13,  21,  -5, -28,  -5,   7,  24,   8,  22, -17,
1669      23, -30,  25, -45, -15,   9,  11,  18, -22,  10,
1670      -4,   2, -19,  12, -23,  -3,  43,  -2, -12,   4,
1671     }, {
1672      72, -13, -29, -18,   4,  90,  37, -34,   4,  -1,
1673      13,  -9,  -6,  11,   2,  24, -13,   3,  -7, -11,
1674      -4,   4, -42,  25,  31,  -1,  -8, -29,  -6,  17,
1675     -19,   2, -10,  -6,  38,  22, -42, -19,  -6, -11,
1676     }, {
1677       3,   7,  -6,  20,  25,  77,  32, -29, -31, -30,
1678      -4,  -2, -14,  29,  16,  40, -26,   0,   3, -12,
1679     -13, -10, -36,   9,  15,   8, -24,   6,  -7,  22,
1680     -40,  17,   8,   9,  31,  18, -66, -22, -11, -19,
1681     }, {
1682      32,  -6, -17, -31,  19,  65,  33, -41, -16,   1,
1683       0,  29,   6,   4, -13,  17,  -9,   1,  -8,  14,
1684      35,   3, -19,  11,   4,   0,  -1, -21,  23,  30,
1685      -3,   5, -20, -44,  48,  46, -19,  -3, -20,   3,
1686     }, {
1687     -36,  13,   5,   7,  40,  51,  28, -36, -52, -27,
1688     -18,  36,  -2,  22,   0,  33, -21,  -2,   3,  13,
1689      26, -11, -14,  -4, -10,  10, -18,  14,  22,  36,
1690     -24,  21,  -1, -28,  40,  42, -42,  -5, -25,  -5,
1691     }, {
1692      27,  -1, -20, -17,  24,  38,  35, -26,   1,   4,
1693      35, -32, -21,  -3,   2,  35,  -8, -29, -24, -44,
1694      12,  24, -34,  18,   8,  -7, -21, -55,  -5,  21,
1695      -2,  23, -11, -28,  13,  -1, -22, -33,  21,  10,
1696     }, {
1697     -41,  18,   2,  21,  45,  24,  30, -21, -33, -24,
1698      17, -24, -29,  15,  16,  51, -21, -33, -13, -45,
1699       3,   8, -28,   2,  -7,   2, -37, -19,  -7,  27,
1700     -22,  39,   7, -12,   5,  -5, -45, -35,  15,   1,
1701     }, {
1702     -12,   4,  -8, -29,  39,  12,  30, -33, -19,   8,
1703      21,   6,  -8,  -9, -13,  28,  -4, -31, -24, -18,
1704      52,  23, -12,   4, -18,  -5, -14, -47,  24,  34,
1705      14,  27, -22, -66,  22,  22,   1, -16,   6,  24,
1706     }, {
1707     -81,  25,  14,   8,  61,   0,  25, -28, -54, -20,
1708       3,  14, -17,   8,   0,  44, -16, -35, -13, -18,
1709      43,   7,  -6, -11, -33,   4, -30, -11,  22,  40,
1710      -6,  43,  -3, -50,  14,  18, -22, -18,   1,  16,
1711     }, {
1712      77,  -2, -11,   1,  -7,  47,  52,  -5,  29,  33,
1713       1, -28,   0, -15,  28,  26,   2,  30,   0,   2,
1714     -22,   4, -33,  -3,  36, -21,   3, -15,  -2,   5,
1715      -4,   4,   6,   9,  37,  31,  -5, -32, -20, -30,
1716     }, {
1717       8,  17,  10,  40,  13,  34,  47,   0,  -5,   4,
1718     -16, -21,  -8,   2,  42,  43, -10,  26,  10,   2,
1719     -31, -11, -27, -19,  21, -10, -12,  20,  -3,  11,
1720     -25,  20,  25,  25,  29,  28, -28, -34, -25, -38,
1721     }, {
1722      37,   3,   0, -10,   7,  22,  48, -12,   8,  36,
1723     -12,   9,  12, -22,  12,  19,   6,  28,   0,  29,
1724      18,   3, -11, -17,  10, -18,  10,  -7,  27,  18,
1725      11,   7,  -3, -28,  47,  55,  18, -15, -34, -16,
1726     }, {
1727     -31,  24,  23,  27,  29,   9,  43,  -8, -26,   7,
1728     -30,  17,   4,  -3,  26,  35,  -5,  24,  10,  28,
1729       9, -12,  -5, -33,  -5,  -8,  -5,  29,  26,  24,
1730      -9,  23,  14, -12,  39,  52,  -5, -18, -39, -24,
1731     }, {
1732      32,   8,  -3,   2,  13,  -4,  50,   1,  27,  39,
1733      23, -51, -15, -30,  27,  37,   7,  -1, -17, -29,
1734      -5,  23, -25, -10,  14, -26,  -8, -41,  -1,   9,
1735      13,  26,   5, -12,  12,   7,  14, -45,   6,  -9,
1736     }, {
1737     -36,  29,  19,  41,  34, -18,  45,   6,  -8,  10,
1738       5, -43, -23, -11,  42,  53,  -5,  -5,  -6, -30,
1739     -14,   8, -20, -26,  -1, -16, -25,  -4,  -3,  15,
1740      -7,  41,  23,   3,   4,   3,  -8, -48,   1, -17,
1741     }, {
1742      -7,  15,   9,  -9,  28, -29,  45,  -5,   6,  43,
1743       9, -12,  -2, -36,  12,  30,  11,  -3, -17,  -3,
1744      34,  22,  -3, -24, -12, -24,  -2, -32,  28,  22,
1745      29,  29,  -5, -50,  21,  31,  38, -29,  -7,   5,
1746     }, {
1747     -76,  35,  31,  28,  49, -43,  40,   0, -29,  14,
1748      -8,  -5, -10, -18,  26,  46,   0,  -7,  -6,  -3,
1749      25,   7,   2, -40, -28, -14, -18,   3,  27,  28,
1750       8,  45,  13, -34,  13,  27,  15, -31, -12,  -3,
1751     }, {
1752      74, -17,   0, -31, -18,  73,  -5,   0,   3,  -5,
1753      25,  12,  -3,  -1, -22,   3,  -9,  33, -12, -24,
1754       6,   2, -33,   9,  21,   5,  20, -27, -19,  -7,
1755     -34, -37, -34,  22,  44,   0, -41, -29, -17, -21,
1756     }, {
1757       5,   3,  21,   7,   2,  60, -10,   5, -32, -34,
1758       7,  20, -11,  16,  -8,  20, -21,  29,  -1, -24,
1759      -2, -13, -27,  -6,   5,  15,   3,   8, -21,  -1,
1760     -55, -21, -15,  38,  37,  -3, -65, -32, -23, -30,
1761     }, {
1762      35, -10,  11, -44,  -3,  48, -10,  -6, -17,  -2,
1763      11,  51,   8,  -8, -38,  -3,  -4,  31, -12,   2,
1764      46,   1, -10,  -4,  -5,   7,  26, -19,  10,   5,
1765     -18, -34, -45, -15,  54,  24, -18, -13, -31,  -7,
1766     }, {
1767     -33,  10,  34,  -5,  17,  35, -15,  -1, -53, -30,
1768      -6,  59,   0,  10, -24,  13, -17,  27,  -1,   1,
1769      37, -13,  -4, -20, -20,  18,  10,  16,   8,  11,
1770     -39, -18, -26,   0,  46,  20, -41, -15, -37, -15,
1771     }, {
1772      29,  -5,   7, -30,   1,  21,  -7,   7,   0,   0,
1773      47,  -9, -18, -15, -22,  14,  -4,   0, -28, -57,
1774      23,  21, -25,   2,  -1,   0,   7, -53, -19,  -3,
1775     -17, -15, -36,   0,  19, -24, -21, -43,   9,   0,
1776     }, {
1777     -39,  14,  30,   8,  22,   8, -12,  12, -34, -27,
1778      29,  -2, -26,   2,  -8,  31, -16,  -3, -17, -57,
1779      14,   6, -19, -13, -16,  10,  -8, -17, -20,   2,
1780     -38,   0, -17,  16,  11, -27, -44, -45,   4,  -8,
1781     }, {
1782      -9,   1,  20, -43,  17,  -3, -12,   0, -20,   4,
1783      33,  29,  -6, -22, -38,   7,   0,  -1, -29, -30,
1784      63,  21,  -3, -11, -27,   1,  14, -45,  10,   9,
1785      -1, -12, -47, -37,  28,   0,   2, -26,  -4,  13,
1786     }, {
1787     -78,  21,  43,  -4,  38, -17, -17,   5, -55, -24,
1788      15,  36, -14,  -4, -24,  24, -12,  -5, -17, -31,
1789      54,   5,   2, -27, -43,  12,  -2,  -9,   9,  15,
1790     -22,   3, -28, -21,  20,  -3, -20, -28,  -9,   5,
1791     }, {
1792      80,  -6,  16, -11, -30,  30,   9,  28,  28,  29,
1793      13,  -6,   2, -28,   3,   5,   7,  60,  -5,  -9,
1794     -11,   1, -24, -19,  27, -13,  32, -13, -15, -19,
1795     -19, -35, -17,  39,  43,   9,  -4, -42, -32, -41,
1796     }, {
1797      11,  14,  39,  27,  -9,  17,   4,  33,  -6,   0,
1798      -4,   1,  -5, -10,  17,  22,  -5,  57,   5,  -9,
1799     -20, -13, -18, -35,  11,  -3,  16,  22, -17, -13,
1800     -40, -19,   1,  55,  35,   5, -27, -44, -37, -49,
1801     }, {
1802      40,   0,  28, -24, -14,   5,   4,  21,   7,  33,
1803       0,  32,  15, -35, -12,  -1,  11,  58,  -5,  16,
1804      28,   0,  -1, -33,   0, -11,  39,  -5,  14,  -6,
1805      -3, -31, -28,   1,  53,  33,  19, -25, -46, -26,
1806     }, {
1807     -28,  20,  51,  14,   6,  -7,   0,  26, -27,   4,
1808     -18,  40,   6, -16,   1,  15,   0,  55,   5,  16,
1809      19, -14,   3, -49, -14,  -1,  22,  30,  12,   0,
1810     -24, -15,  -9,  17,  45,  29,  -4, -28, -51, -35,
1811     }, {
1812      34,   4,  25, -10,  -9, -21,   7,  36,  26,  36,
1813      35, -28, -12, -42,   3,  16,  12,  28, -21, -42,
1814       5,  21, -16, -26,   4, -19,  19, -39, -15, -15,
1815      -1, -13, -19,  17,  17, -14,  15, -55,  -4, -19,
1816     }, {
1817     -34,  25,  48,  28,  11, -34,   2,  41,  -9,   7,
1818      17, -21, -20, -24,  17,  33,   0,  24, -10, -42,
1819      -3,   5, -10, -42, -11,  -8,   3,  -3, -16,  -9,
1820     -22,   2,   0,  33,  10, -18,  -7, -58, -10, -28,
1821     }, {
1822      -4,  11,  37, -23,   5, -46,   2,  29,   5,  39,
1823      21,   9,   0, -49, -12,   9,  16,  26, -22, -15,
1824      45,  20,   5, -40, -22, -17,  26, -31,  14,  -2,
1825      14, -10, -30, -20,  27,   9,  39, -39, -18,  -5,
1826     }, {
1827     -73,  32,  60,  15,  26, -59,  -2,  33, -30,  10,
1828       3,  17,  -8, -30,   1,  26,   4,  22, -10, -16,
1829      36,   5,  11, -56, -37,  -6,  10,   5,  13,   3,
1830      -6,   5, -11,  -4,  19,   5,  16, -41, -24, -13
1831     }
1832 };
1833
1834 static const uint32_t ftable1[128]={
1835     314527,  295599,  293848,  280320,  336779,  291703,  297354,  266749,
1836     325815,  305109,  310555,  294891,  349515,  300052,  313812,  278588,
1837     326231,  348357,  322076,  347246,  335655,  327567,  314037,  310198,
1838     343640,  370152,  349471,  382719,  353433,  344311,  338152,  333632,
1839     314810,  285147,  304708,  279643,  319779,  271292,  295149,  257376,
1840     338219,  302387,  335244,  302877,  343236,  285341,  321676,  274547,
1841     316321,  320899,  325378,  333870,  309279,  291473,  302532,  288065,
1842     344907,  351169,  369278,  382224,  334752,  312711,  335747,  316511,
1843     316511,  335747,  312711,  334752,  382224,  369278,  351169,  344907,
1844     288065,  302532,  291473,  309279,  333870,  325378,  320899,  316321,
1845     274547,  321676,  285341,  343236,  302877,  335244,  302387,  338219,
1846     257376,  295149,  271292,  319779,  279643,  304708,  285147,  314810,
1847     333632,  338152,  344311,  353433,  382719,  349471,  370152,  343640,
1848     310198,  314037,  327567,  335655,  347246,  322076,  348357,  326231,
1849     278588,  313812,  300052,  349515,  294891,  310555,  305109,  325815,
1850     266749,  297354,  291703,  336779,  280320,  293848,  295599,  314527
1851 };
1852
1853 static const uint32_t ftable2[128]={
1854     194793,  214093,  222075,  221325,  210734,  211641,  211270,  192855,
1855     198561,  223821,  229577,  234105,  209600,  214643,  211594,  196292,
1856     191722,  221201,  215984,  227369,  222035,  236618,  220978,  209746,
1857     183193,  212405,  205343,  219484,  203652,  219140,  204153,  198495,
1858     163695,  194973,  186057,  210587,  188197,  215336,  197004,  205097,
1859     167090,  204380,  192189,  224334,  189091,  221215,  199256,  211624,
1860     167150,  210594,  190109,  228813,  205750,  260616,  215853,  240851,
1861     162492,  205131,  184310,  223583,  192669,  241298,  202170,  227169,
1862     227169,  202170,  241298,  192669,  223583,  184310,  205131,  162492,
1863     240851,  215853,  260616,  205750,  228813,  190109,  210594,  167150,
1864     211624,  199256,  221215,  189091,  224334,  192189,  204380,  167090,
1865     205097,  197004,  215336,  188197,  210587,  186057,  194973,  163695,
1866     198495,  204153,  219140,  203652,  219484,  205343,  212405,  183193,
1867     209746,  220978,  236618,  222035,  227369,  215984,  221201,  191722,
1868     196292,  211594,  214643,  209600,  234105,  229577,  223821,  198561,
1869     192855,  211270,  211641,  210734,  221325,  222075,  214093,  194793
1870 };
1871
1872 static const int16_t energy_tab[63]={
1873         0,     6,    16,    18,    20,    23,    25,    29,
1874        32,    36,    41,    46,    51,    57,    65,    73,
1875        81,    91,   103,   115,   129,   145,   163,   183,
1876       205,   230,   259,   290,   326,   365,   410,   460,
1877       516,   579,   650,   730,   819,   919,  1031,  1157,
1878      1298,  1456,  1634,  1833,  2057,  2308,  2590,  2906,
1879      3261,  3659,  4105,  4606,  5168,  5799,  6507,  7301,
1880      8192,  9191, 10313, 11571, 12983, 14567, 16345
1881 };
1882
1883 static const int16_t decodetable1[127]={
1884     -4041, -4029, -4018, -4008, -3998, -3988, -3977, -3966,
1885     -3954, -3942, -3930, -3918, -3906, -3892, -3879, -3866,
1886     -3852, -3839, -3825, -3810, -3795, -3779, -3764, -3748,
1887     -3731, -3715, -3699, -3683, -3666, -3649, -3631, -3613,
1888     -3594, -3574, -3555, -3534, -3513, -3491, -3468, -3444,
1889     -3420, -3396, -3372, -3346, -3321, -3295, -3268, -3240,
1890     -3212, -3183, -3153, -3122, -3090, -3056, -3021, -2983,
1891     -2944, -2903, -2863, -2817, -2772, -2724, -2676, -2620,
1892     -2565, -2505, -2445, -2387, -2328, -2265, -2202, -2137,
1893     -2072, -2006, -1941, -1874, -1808, -1734, -1660, -1584,
1894     -1508, -1428, -1348, -1267, -1185, -1090,  -994,  -896,
1895      -798,  -699,  -600,  -487,  -374,  -242,  -110,    21,
1896       152,   300,   447,   584,   720,   851,   982,  1105,
1897      1229,  1342,  1456,  1569,  1682,  1799,  1916,  2023,
1898      2130,  2242,  2353,  2474,  2595,  2724,  2853,  2986,
1899      3118,  3240,  3363,  3475,  3588,  3701,  3814
1900 };
1901
1902 static const int16_t decodetable2[63]={
1903     -3091, -2739, -2386, -2129, -1871, -1648, -1425, -1223,
1904     -1021,  -835,  -649,  -483,  -316,  -168,   -20,   123,
1905       267,   406,   544,   677,   810,   937,  1065,  1185,
1906      1305,  1420,  1534,  1645,  1756,  1863,  1970,  2071,
1907      2171,  2265,  2359,  2448,  2536,  2618,  2700,  2777,
1908      2854,  2925,  2996,  3064,  3133,  3198,  3263,  3324,
1909      3386,  3442,  3499,  3551,  3603,  3652,  3701,  3745,
1910      3789,  3829,  3870,  3908,  3947,  3983,  4020
1911 };
1912
1913 static const int16_t decodetable3[63]={
1914     -3525, -3410, -3295, -3188, -3081, -2985, -2890, -2793,
1915     -2696, -2603, -2511, -2419, -2328, -2238, -2149, -2064,
1916     -1979, -1898, -1817, -1737, -1658, -1578, -1498, -1420,
1917     -1341, -1265, -1188, -1110, -1032,  -954,  -876,  -798,
1918      -721,  -641,  -561,  -478,  -394,  -311,  -228,  -141,
1919       -54,    32,   119,   208,   296,   390,   484,   584,
1920       683,   789,   895,  1009,  1123,  1248,  1373,  1512,
1921      1651,  1808,  1965,  2162,  2360,  2607,  2854
1922 };
1923
1924 static const int16_t decodetable4[31]={
1925     -1845, -1451, -1057,  -790,  -522,  -300,   -77,   111,
1926       301,   474,   647,   811,   975,  1130,  1285,  1434,
1927      1582,  1727,  1873,  2018,  2163,  2308,  2452,  2594,
1928      2735,  2876,  3017,  3158,  3299,  3434,  3569
1929 };
1930
1931 static const int16_t decodetable5[31]={
1932     -2691, -2439, -2187, -1987, -1788, -1611, -1435, -1276,
1933     -1118,  -977,  -837,  -704,  -571,  -444,  -316,  -188,
1934       -59,    71,   201,   336,   470,   614,   759,   918,
1935      1077,  1267,  1457,  1682,  1908,  2201,  2495
1936 };
1937
1938 static const int16_t decodetable6[15]={
1939     -1372,  -923,  -474,  -170,   133,   383,   632,   866,
1940      1100,  1335,  1571,  1823,  2075,  2374,  2672
1941 };
1942
1943 static const int16_t decodetable7[15]={
1944     -2389, -2088, -1787, -1509, -1231,  -974,  -717,  -478,
1945      -239,    -2,   234,   502,   770,  1122,  1474
1946 };
1947
1948 static const int16_t decodetable8[15]={
1949     -1569, -1217,  -864,  -580,  -296,   -47,   200,   435,
1950       670,   911,  1151,  1430,  1709,  2047,  2385
1951 };
1952
1953 static const int16_t decodetable9[15]={
1954     -2200, -1904, -1608, -1335, -1062,  -816,  -569,  -344,
1955      -120,   108,   338,   600,   863,  1242,  1621
1956 };
1957
1958 static const int16_t decodetable10[7]={
1959      -617,  -213,   190,   496,   802,  1142,  1483
1960 };
1961
1962 static const int16_t *decodetable[10]={
1963     decodetable1,decodetable2,decodetable3,decodetable4,decodetable5,
1964     decodetable6,decodetable7,decodetable8,decodetable9,decodetable10
1965 };
1966
1967 #endif /* FFMPEG_RA144_H */