• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *                                                                            *
3  * Copyright (C) 2018 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20 #include <math.h>
21 #include <stdlib.h>
22 #include <stdio.h>
23 #include <string.h>
24 #include <assert.h>
25 
26 #include <ixheaacd_type_def.h>
27 #include "ixheaacd_bitbuffer.h"
28 #include "ixheaacd_config.h"
29 
30 #include "ixheaacd_mps_polyphase.h"
31 #include "ixheaacd_mps_dec.h"
32 #include "ixheaacd_mps_interface.h"
33 
34 #include "ixheaacd_mps_nlc_dec.h"
35 #include "ixheaacd_mps_huff_tab.h"
36 
37 ia_huff_cld_nodes_struct ixheaacd_huff_cld_nodes = {
38     {{{{-1, 1},   {-2, 2},   {-3, 3},    {-4, 4},    {-5, 5},    {-6, 6},
39        {-7, 7},   {-8, 8},   {-9, 9},    {-10, 10},  {-11, 11},  {-12, 12},
40        {-13, 13}, {15, 14},  {-14, 16},  {-15, 17},  {-16, 18},  {-17, 19},
41        {-18, 20}, {-19, 21}, {-20, -21}, {-23, 22},  {-22, 23},  {-24, 24},
42        {-25, 25}, {27, 26},  {29, 28},   {-30, -31}, {-28, -29}, {-26, -27}}},
43      {{{-1, 1},   {-2, 2},    {-3, 3},   {-4, 4},    {-5, 5},    {-6, 6},
44        {-7, 7},   {9, 8},     {-8, 10},  {-9, 11},   {-10, 12},  {-11, 13},
45        {-12, 14}, {-13, 15},  {-14, 16}, {-15, 17},  {-16, 18},  {-17, 19},
46        {-18, 20}, {-19, -20}, {-21, 21}, {-22, 22},  {-23, 23},  {25, 24},
47        {-24, 26}, {-25, 27},  {29, 28},  {-26, -31}, {-29, -30}, {-27, -28}}},
48      {{{-1, 1},   {-2, 2},    {-3, 3},   {-4, 4},    {-5, 5},    {-6, 6},
49        {-7, 7},   {9, 8},     {-8, 10},  {-9, 11},   {-10, 12},  {-11, 13},
50        {-12, 14}, {-13, 15},  {-14, 16}, {-15, 17},  {-16, 18},  {-17, 19},
51        {-18, 20}, {-19, -20}, {-21, 21}, {-22, 22},  {-23, 23},  {25, 24},
52        {-24, 26}, {-25, 27},  {29, 28},  {-26, -31}, {-29, -30}, {-27, -28}}}},
53     {{{{{2, 1},
54         {-1, -52},
55         {4, 3},
56         {-2, 5},
57         {-51, 6},
58         {-17, -18},
59         {8, 7},
60         {10, 9},
61         {-3, -36},
62         {-19, 11},
63         {-35, -50},
64         {-34, 12},
65         {-4, 13},
66         {-33, 14},
67         {-20, -49}},
68        {{2, 1},     {4, 3},     {-86, 5},  {7, 6},    {9, 8},     {-1, -2},
69         {-85, 10},  {-18, 11},  {-17, 12}, {14, 13},  {-70, 15},  {17, 16},
70         {-19, -69}, {-84, 18},  {-3, 19},  {21, 20},  {-34, -68}, {-20, 22},
71         {-35, 23},  {-83, 24},  {-33, 25}, {-4, 26},  {-53, 27},  {-54, -67},
72         {-36, 28},  {-21, -52}, {-82, 29}, {-5, -50}, {-51, 30},  {-38, 31},
73         {-37, -49}, {-6, 32},   {-66, 33}, {-65, 34}, {-22, -81}},
74        {{2, 1},      {4, 3},     {-120, 5},   {7, 6},      {9, 8},
75         {11, 10},    {-1, 12},   {-18, -119}, {-2, 13},    {15, 14},
76         {-17, 16},   {-104, 17}, {19, 18},    {-19, 20},   {-103, 21},
77         {-118, 22},  {24, 23},   {-3, 25},    {27, 26},    {-34, 28},
78         {-102, 29},  {-20, 30},  {-35, 31},   {33, 32},    {-117, 34},
79         {-33, 35},   {-88, 36},  {-4, 37},    {-87, 38},   {40, 39},
80         {-36, -101}, {-86, 41},  {-21, -37},  {-85, -100}, {-52, 42},
81         {-22, 43},   {-116, 44}, {-50, 45},   {47, 46},    {-5, -51},
82         {-115, 48},  {-70, 49},  {-84, 50},   {-38, -49},  {-72, -99},
83         {-53, 51},   {-69, -71}, {-23, 52},   {-6, -67},   {-114, 53},
84         {-7, 54},    {-66, -68}, {-55, 55},   {57, 56},    {-54, -65},
85         {-8, -56},   {-82, -83}, {59, 58},    {-39, -40},  {-81, 60},
86         {-98, 61},   {-97, 62},  {-24, -113}},
87        {{2, 1},      {4, 3},      {6, 5},      {-154, 7},    {9, 8},
88         {11, 10},    {13, 12},    {15, 14},    {-18, 16},    {-153, 17},
89         {-1, -2},    {19, 18},    {-138, 20},  {-17, 21},    {23, 22},
90         {25, 24},    {-19, -137}, {27, 26},    {-152, 28},   {30, 29},
91         {-3, -34},   {32, 31},    {34, 33},    {36, 35},     {-136, 37},
92         {-35, 38},   {-20, 39},   {-122, 40},  {-151, 41},   {-33, 42},
93         {-121, 43},  {45, 44},    {47, 46},    {-4, 48},     {-36, -120},
94         {-135, 49},  {51, 50},    {-21, 52},   {54, 53},     {56, 55},
95         {-50, -150}, {58, 57},    {-51, 59},   {61, 60},     {-119, 62},
96         {-52, 63},   {-5, 64},    {-37, 65},   {-117, -134}, {-39, -54},
97         {-22, 66},   {-106, 67},  {-69, -102}, {-132, 68},   {-105, 69},
98         {-49, 70},   {-149, 71},  {-24, -104}, {73, 72},     {-53, 74},
99         {-38, -118}, {-103, 75},  {-6, 76},    {-66, -87},   {-133, -147},
100         {-23, 77},   {-67, 78},   {-68, -86},  {-70, -101},  {-40, -148},
101         {-116, 79},  {-55, 80},   {-84, -131}, {82, 81},     {-89, -90},
102         {-7, -25},   {-85, -88},  {-65, 83},   {-72, -146},  {85, 84},
103         {-9, -71},   {-83, 86},   {-82, 87},   {-8, 88},     {-100, 89},
104         {-74, -99},  {-73, 90},   {-10, -81},  {-56, 91},    {-57, -98},
105         {93, 92},    {-58, -114}, {-97, -115}, {95, 94},     {-41, 96},
106         {-42, 97},   {-26, -129}, {-113, 98},  {-130, -145}}},
107       {{{-1, 1},
108         {-52, 2},
109         {-17, 3},
110         {5, 4},
111         {-36, 6},
112         {-33, 7},
113         {-2, -18},
114         {-20, 8},
115         {10, 9},
116         {-34, -49},
117         {-51, 11},
118         {-35, 12},
119         {-19, 13},
120         {-3, 14},
121         {-4, -50}},
122        {{2, 1},    {4, 3},     {-86, 5},  {-1, 6},   {-17, 7},   {-70, 8},
123         {10, 9},   {-18, 11},  {-33, 12}, {-54, 13}, {-2, 14},   {-34, 15},
124         {-38, 16}, {-49, 17},  {-85, 18}, {-50, 19}, {-69, 20},  {-53, -65},
125         {-22, 21}, {-66, 22},  {-19, 23}, {-37, 24}, {-35, -81}, {-3, 25},
126         {-51, 26}, {-68, -84}, {-52, 27}, {29, 28},  {-20, 30},  {-4, -36},
127         {-83, 31}, {-67, 32},  {-21, 33}, {-5, 34},  {-6, -82}},
128        {{2, 1},      {4, 3},     {6, 5},       {-120, 7},  {-17, 8},
129         {-1, -104},  {10, 9},    {12, 11},     {-18, 13},  {-33, -88},
130         {15, 14},    {17, 16},   {-2, 18},     {-34, 19},  {-72, 20},
131         {-49, 21},   {-119, 22}, {-50, 23},    {-103, 24}, {-56, 25},
132         {-65, 26},   {28, 27},   {-40, -87},   {-66, 29},  {-82, 30},
133         {32, 31},    {-19, -81}, {-71, 33},    {-97, 34},  {-35, -55},
134         {-24, 35},   {37, 36},   {-3, -98},    {-51, 38},  {-67, 39},
135         {-39, -118}, {-113, 40}, {-102, 41},   {-86, 42},  {-70, -83},
136         {44, 43},    {-20, -54}, {-52, 45},    {-36, 46},  {-4, 47},
137         {-68, 48},   {-85, 49},  {-101, -117}, {-69, 50},  {52, 51},
138         {-21, -37},  {-53, 53},  {55, 54},     {-5, -100}, {-116, 56},
139         {-84, 57},   {-38, 58},  {-22, -99},   {-115, 59}, {-6, 60},
140         {-23, 61},   {-7, 62},   {-114, 0}},
141        {{2, 1},      {4, 3},       {6, 5},       {-154, 7},    {9, 8},
142         {-17, 10},   {-138, 11},   {-1, 12},     {14, 13},     {16, 15},
143         {-33, -122}, {-18, 17},    {19, 18},     {-34, 20},    {-2, 21},
144         {-106, 22},  {-49, 23},    {25, 24},     {-50, 26},    {-153, 27},
145         {-90, 28},   {-137, 29},   {-65, 30},    {32, 31},     {-66, 33},
146         {-121, 34},  {-74, 35},    {-81, 36},    {38, 37},     {-42, 39},
147         {-82, 40},   {-105, 41},   {-19, -114},  {-58, 42},    {-35, 43},
148         {-97, 44},   {46, 45},     {-129, 47},   {-26, -89},   {-57, -98},
149         {-51, 48},   {-3, 49},     {-113, 50},   {-130, 51},   {-152, 52},
150         {-67, -73},  {-99, -136},  {-145, 53},   {-120, 54},   {-41, 55},
151         {-83, 56},   {-72, 57},    {-104, 58},   {-115, 59},   {-20, 60},
152         {62, 61},    {-36, -88},   {-84, 63},    {-52, -56},   {65, 64},
153         {-4, -87},   {-68, 66},    {-151, 67},   {-100, -135}, {69, 68},
154         {-69, -119}, {-103, 70},   {-71, 71},    {73, 72},     {-21, 74},
155         {-85, 75},   {-37, -53},   {-86, 76},    {78, 77},     {-102, -150},
156         {-5, 79},    {-134, 80},   {-118, 81},   {-54, -117},  {83, 82},
157         {-38, -70},  {-22, 84},    {-6, 85},     {87, 86},     {-55, 88},
158         {-101, 89},  {-133, -149}, {-24, -39},   {91, 90},     {-132, 92},
159         {-23, 93},   {-7, 94},     {-147, -148}, {-116, -131}, {-25, 95},
160         {-40, 0},    {0, 0},       {0, 0},       {0, 0}}}},
161      {{{{-1, 1},
162         {-52, 2},
163         {-17, 3},
164         {5, 4},
165         {-2, -36},
166         {-18, 6},
167         {8, 7},
168         {-51, 9},
169         {-33, 10},
170         {-34, 11},
171         {-20, -35},
172         {-19, 12},
173         {-3, 13},
174         {-49, 14},
175         {-4, -50}},
176        {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
177         {-2, -18},  {10, 9},    {12, 11},  {-85, 13},  {-33, 14}, {-34, -54},
178         {16, 15},   {-69, 17},  {19, 18},  {-50, -53}, {-19, 20}, {-38, 21},
179         {-35, -49}, {-3, 22},   {24, 23},  {-68, 25},  {-84, 26}, {-65, 27},
180         {-51, -66}, {-22, -37}, {-52, 28}, {-20, 29},  {-36, 30}, {-81, 31},
181         {-4, -83},  {-67, 32},  {-21, 33}, {-5, 34},   {-6, -82}},
182        {{2, 1},     {-120, 3},  {-1, 4},     {6, 5},      {-17, 7},
183         {-104, 8},  {-18, 9},   {-2, 10},    {12, 11},    {14, 13},
184         {-119, 15}, {-33, 16},  {-34, -88},  {-103, 17},  {19, 18},
185         {21, 20},   {23, 22},   {25, 24},    {-19, -72},  {-50, 26},
186         {-49, 27},  {-87, 28},  {30, 29},    {32, 31},    {-3, -35},
187         {34, 33},   {-56, 35},  {-65, -66},  {-40, 36},   {-82, -118},
188         {-71, 37},  {-55, 38},  {-67, -102}, {-51, 39},   {-70, 40},
189         {42, 41},   {-81, 43},  {-86, 44},   {-52, -97},  {-98, 45},
190         {-24, -39}, {-20, 46},  {-54, -83},  {-36, 47},   {-85, 48},
191         {-68, 49},  {-4, 50},   {-69, -113}, {-117, 51},  {-37, -101},
192         {-53, 52},  {-21, 53},  {55, 54},    {-84, -100}, {-5, 56},
193         {-116, 57}, {-22, 58},  {-38, -115}, {60, 59},    {-6, -99},
194         {-23, 61},  {-114, 62}, {-7, -8}},
195        {{2, 1},     {-154, 3},    {5, 4},      {-1, 6},      {8, 7},
196         {-17, 9},   {-138, 10},   {-18, 11},   {-2, 12},     {14, 13},
197         {16, 15},   {-153, 17},   {-34, 18},   {-33, -122},  {20, 19},
198         {22, 21},   {-137, 23},   {25, 24},    {27, 26},     {-106, 28},
199         {30, 29},   {-50, 31},    {-19, 32},   {-49, -121},  {34, 33},
200         {36, 35},   {-35, 37},    {-90, 38},   {-66, 39},    {-3, 40},
201         {42, 41},   {-65, 43},    {-105, 44},  {46, 45},     {-74, 47},
202         {-51, 48},  {-82, -152},  {-136, 49},  {-81, 50},    {-42, -89},
203         {-114, 51}, {53, 52},     {-57, -58},  {-120, 54},   {-98, 55},
204         {-67, 56},  {-97, 57},    {59, 58},    {-99, 60},    {-73, -104},
205         {-72, 61},  {-113, 62},   {-20, -83},  {-84, -130},  {-36, 63},
206         {-26, 64},  {-41, 65},    {-52, -129}, {-87, -88},   {67, 66},
207         {-115, 68}, {-68, 69},    {-56, -69},  {-4, -100},   {-151, 70},
208         {-135, 71}, {-103, -119}, {73, 72},    {-71, -145},  {-102, 74},
209         {76, 75},   {-53, -85},   {-37, 77},   {-21, -86},   {79, 78},
210         {-5, 80},   {-54, -134},  {-150, 81},  {-118, 82},   {-70, 83},
211         {-117, 84}, {-22, -38},   {-101, 85},  {-55, 86},    {-149, 87},
212         {-39, 88},  {-133, 89},   {-6, 90},    {-116, 91},   {-24, 92},
213         {-7, -132}, {-23, 93},    {-40, 94},   {-131, -148}, {-25, 95},
214         {-147, 96}, {-146, 97},   {-8, 0},     {0, 0}}},
215       {{{-1, 1},
216         {-52, 2},
217         {4, 3},
218         {-2, 5},
219         {-17, 6},
220         {-18, 7},
221         {-36, -51},
222         {9, 8},
223         {-35, 10},
224         {-34, 11},
225         {-19, -33},
226         {-3, 12},
227         {-20, 13},
228         {-50, 14},
229         {-4, -49}},
230        {{2, 1},    {-86, 3},   {5, 4},     {-1, 6},   {8, 7},    {-17, -18},
231         {-2, 9},   {-70, 10},  {-85, 11},  {13, 12},  {-69, 14}, {-34, 15},
232         {17, 16},  {-19, 18},  {-33, -35}, {-54, 19}, {-53, 20}, {-3, 21},
233         {-68, 22}, {-84, 23},  {-50, 24},  {-52, 25}, {-51, 26}, {-20, -36},
234         {-49, 27}, {-38, 28},  {-37, 29},  {-4, -83}, {-67, 30}, {-66, 31},
235         {-21, 32}, {-22, -65}, {-5, 33},   {-82, 34}, {-6, -81}},
236        {{2, 1},      {4, 3},     {-120, 5},  {7, 6},      {9, 8},
237         {-1, 10},    {-18, 11},  {-17, 12},  {-2, -104},  {-119, 13},
238         {15, 14},    {-103, 16}, {18, 17},   {-34, 19},   {-19, 20},
239         {22, 21},    {-35, 23},  {-33, 24},  {-88, 25},   {-87, 26},
240         {28, 27},    {-3, -102}, {-86, 29},  {-52, -118}, {31, 30},
241         {-50, 32},   {-51, 33},  {-70, 34},  {-36, 35},   {-85, 36},
242         {-20, 37},   {39, 38},   {-69, -71}, {-72, 40},   {-49, -67},
243         {42, 41},    {-68, 43},  {-4, -101}, {-53, -117}, {-37, 44},
244         {-66, 45},   {-55, 46},  {48, 47},   {-54, 49},   {-21, 50},
245         {-84, -100}, {-56, -65}, {52, 51},   {-82, -83},  {54, 53},
246         {-5, -116},  {-22, 55},  {-38, 56},  {-39, -40},  {58, 57},
247         {-81, -115}, {-98, -99}, {-6, 59},   {-23, 60},   {-24, 61},
248         {-7, -97},   {-114, 62}, {-8, -113}},
249        {{2, 1},       {4, 3},      {-154, 5},    {7, 6},      {9, 8},
250         {11, 10},     {-1, 12},    {-18, 13},    {-17, 14},   {-2, -138},
251         {16, 15},     {-153, 17},  {-137, 18},   {20, 19},    {22, 21},
252         {-34, 23},    {-19, 24},   {-35, 25},    {27, 26},    {29, 28},
253         {-121, 30},   {-120, 31},  {-136, 32},   {-33, -122}, {34, 33},
254         {-152, 35},   {-3, 36},    {-51, 37},    {-52, 38},   {-69, 39},
255         {-36, 40},    {-50, 41},   {43, 42},     {-20, 44},   {-104, 45},
256         {-103, 46},   {-87, 47},   {-119, 48},   {-105, 49},  {-86, 50},
257         {-102, 51},   {-106, 52},  {-49, -135},  {-68, 53},   {55, 54},
258         {-53, 56},    {-67, -151}, {-4, 57},     {-84, 58},   {-85, 59},
259         {-66, 60},    {-37, 61},   {-70, 62},    {-54, -88},  {-21, 63},
260         {65, 64},     {-89, 66},   {-118, 67},   {-72, 68},   {-90, 69},
261         {-71, 70},    {-65, -134}, {-150, 71},   {-83, 72},   {-5, 73},
262         {-101, -117}, {-82, 74},   {76, 75},     {-99, 77},   {-38, 78},
263         {-100, 79},   {-22, 80},   {-73, 81},    {-39, -74},  {83, 82},
264         {-55, -81},   {-57, 84},   {-133, -149}, {-56, 85},   {-6, 86},
265         {-98, 87},    {-132, 88},  {-23, 89},    {-114, 90},  {-116, 91},
266         {-58, -115},  {-24, 92},   {-97, -148},  {-40, -41},  {-7, -42},
267         {-147, 93},   {95, 94},    {-131, 96},   {-8, -130},  {-25, -113},
268         {-9, 97},     {-26, -129}, {-146, 98},   {-10, -145}}}},
269      {{{{-1, 1},
270         {-52, 2},
271         {-17, 3},
272         {5, 4},
273         {-36, 6},
274         {-33, 7},
275         {-2, -18},
276         {-20, 8},
277         {10, 9},
278         {-34, -49},
279         {-51, 11},
280         {-35, 12},
281         {-19, 13},
282         {-3, 14},
283         {-4, -50}},
284        {{2, 1},    {4, 3},     {-86, 5},  {-1, 6},   {-17, 7},   {-70, 8},
285         {10, 9},   {-18, 11},  {-33, 12}, {-54, 13}, {-2, 14},   {-34, 15},
286         {-38, 16}, {-49, 17},  {-85, 18}, {-50, 19}, {-69, 20},  {-53, -65},
287         {-22, 21}, {-66, 22},  {-19, 23}, {-37, 24}, {-35, -81}, {-3, 25},
288         {-51, 26}, {-68, -84}, {-52, 27}, {29, 28},  {-20, 30},  {-4, -36},
289         {-83, 31}, {-67, 32},  {-21, 33}, {-5, 34},  {-6, -82}},
290        {{2, 1},      {4, 3},     {6, 5},       {-120, 7},  {-17, 8},
291         {-1, -104},  {10, 9},    {12, 11},     {-18, 13},  {-33, -88},
292         {15, 14},    {17, 16},   {-2, 18},     {-34, 19},  {-72, 20},
293         {-49, 21},   {-119, 22}, {-50, 23},    {-103, 24}, {-56, 25},
294         {-65, 26},   {28, 27},   {-40, -87},   {-66, 29},  {-82, 30},
295         {32, 31},    {-19, -81}, {-71, 33},    {-97, 34},  {-35, -55},
296         {-24, 35},   {37, 36},   {-3, -98},    {-51, 38},  {-67, 39},
297         {-39, -118}, {-113, 40}, {-102, 41},   {-86, 42},  {-70, -83},
298         {44, 43},    {-20, -54}, {-52, 45},    {-36, 46},  {-4, 47},
299         {-68, 48},   {-85, 49},  {-101, -117}, {-69, 50},  {52, 51},
300         {-21, -37},  {-53, 53},  {55, 54},     {-5, -100}, {-116, 56},
301         {-84, 57},   {-38, 58},  {-22, -99},   {-115, 59}, {-6, 60},
302         {-23, 61},   {-7, 62},   {-114, 0}},
303        {{2, 1},      {4, 3},       {6, 5},       {-154, 7},    {9, 8},
304         {-17, 10},   {-138, 11},   {-1, 12},     {14, 13},     {16, 15},
305         {-33, -122}, {-18, 17},    {19, 18},     {-34, 20},    {-2, 21},
306         {-106, 22},  {-49, 23},    {25, 24},     {-50, 26},    {-153, 27},
307         {-90, 28},   {-137, 29},   {-65, 30},    {32, 31},     {-66, 33},
308         {-121, 34},  {-74, 35},    {-81, 36},    {38, 37},     {-42, 39},
309         {-82, 40},   {-105, 41},   {-19, -114},  {-58, 42},    {-35, 43},
310         {-97, 44},   {46, 45},     {-129, 47},   {-26, -89},   {-57, -98},
311         {-51, 48},   {-3, 49},     {-113, 50},   {-130, 51},   {-152, 52},
312         {-67, -73},  {-99, -136},  {-145, 53},   {-120, 54},   {-41, 55},
313         {-83, 56},   {-72, 57},    {-104, 58},   {-115, 59},   {-20, 60},
314         {62, 61},    {-36, -88},   {-84, 63},    {-52, -56},   {65, 64},
315         {-4, -87},   {-68, 66},    {-151, 67},   {-100, -135}, {69, 68},
316         {-69, -119}, {-103, 70},   {-71, 71},    {73, 72},     {-21, 74},
317         {-85, 75},   {-37, -53},   {-86, 76},    {78, 77},     {-102, -150},
318         {-5, 79},    {-134, 80},   {-118, 81},   {-54, -117},  {83, 82},
319         {-38, -70},  {-22, 84},    {-6, 85},     {87, 86},     {-55, 88},
320         {-101, 89},  {-133, -149}, {-24, -39},   {91, 90},     {-132, 92},
321         {-23, 93},   {-7, 94},     {-147, -148}, {-116, -131}, {-25, 95},
322         {-40, 0},    {0, 0},       {0, 0},       {0, 0}}},
323       {{{-1, 1},
324         {-52, 2},
325         {-17, 3},
326         {5, 4},
327         {-36, 6},
328         {-33, 7},
329         {-2, -18},
330         {-20, 8},
331         {10, 9},
332         {-34, -49},
333         {-51, 11},
334         {-35, 12},
335         {-19, 13},
336         {-3, 14},
337         {-4, -50}},
338        {{2, 1},    {4, 3},     {-86, 5},  {-1, 6},   {-17, 7},   {-70, 8},
339         {10, 9},   {-18, 11},  {-33, 12}, {-54, 13}, {-2, 14},   {-34, 15},
340         {-38, 16}, {-49, 17},  {-85, 18}, {-50, 19}, {-69, 20},  {-53, -65},
341         {-22, 21}, {-66, 22},  {-19, 23}, {-37, 24}, {-35, -81}, {-3, 25},
342         {-51, 26}, {-68, -84}, {-52, 27}, {29, 28},  {-20, 30},  {-4, -36},
343         {-83, 31}, {-67, 32},  {-21, 33}, {-5, 34},  {-6, -82}},
344        {{2, 1},      {4, 3},     {6, 5},       {-120, 7},  {-17, 8},
345         {-1, -104},  {10, 9},    {12, 11},     {-18, 13},  {-33, -88},
346         {15, 14},    {17, 16},   {-2, 18},     {-34, 19},  {-72, 20},
347         {-49, 21},   {-119, 22}, {-50, 23},    {-103, 24}, {-56, 25},
348         {-65, 26},   {28, 27},   {-40, -87},   {-66, 29},  {-82, 30},
349         {32, 31},    {-19, -81}, {-71, 33},    {-97, 34},  {-35, -55},
350         {-24, 35},   {37, 36},   {-3, -98},    {-51, 38},  {-67, 39},
351         {-39, -118}, {-113, 40}, {-102, 41},   {-86, 42},  {-70, -83},
352         {44, 43},    {-20, -54}, {-52, 45},    {-36, 46},  {-4, 47},
353         {-68, 48},   {-85, 49},  {-101, -117}, {-69, 50},  {52, 51},
354         {-21, -37},  {-53, 53},  {55, 54},     {-5, -100}, {-116, 56},
355         {-84, 57},   {-38, 58},  {-22, -99},   {-115, 59}, {-6, 60},
356         {-23, 61},   {-7, 62},   {-114, 0}},
357        {{2, 1},      {4, 3},       {6, 5},       {-154, 7},    {9, 8},
358         {-17, 10},   {-138, 11},   {-1, 12},     {14, 13},     {16, 15},
359         {-33, -122}, {-18, 17},    {19, 18},     {-34, 20},    {-2, 21},
360         {-106, 22},  {-49, 23},    {25, 24},     {-50, 26},    {-153, 27},
361         {-90, 28},   {-137, 29},   {-65, 30},    {32, 31},     {-66, 33},
362         {-121, 34},  {-74, 35},    {-81, 36},    {38, 37},     {-42, 39},
363         {-82, 40},   {-105, 41},   {-19, -114},  {-58, 42},    {-35, 43},
364         {-97, 44},   {46, 45},     {-129, 47},   {-26, -89},   {-57, -98},
365         {-51, 48},   {-3, 49},     {-113, 50},   {-130, 51},   {-152, 52},
366         {-67, -73},  {-99, -136},  {-145, 53},   {-120, 54},   {-41, 55},
367         {-83, 56},   {-72, 57},    {-104, 58},   {-115, 59},   {-20, 60},
368         {62, 61},    {-36, -88},   {-84, 63},    {-52, -56},   {65, 64},
369         {-4, -87},   {-68, 66},    {-151, 67},   {-100, -135}, {69, 68},
370         {-69, -119}, {-103, 70},   {-71, 71},    {73, 72},     {-21, 74},
371         {-85, 75},   {-37, -53},   {-86, 76},    {78, 77},     {-102, -150},
372         {-5, 79},    {-134, 80},   {-118, 81},   {-54, -117},  {83, 82},
373         {-38, -70},  {-22, 84},    {-6, 85},     {87, 86},     {-55, 88},
374         {-101, 89},  {-133, -149}, {-24, -39},   {91, 90},     {-132, 92},
375         {-23, 93},   {-7, 94},     {-147, -148}, {-116, -131}, {-25, 95},
376         {-40, 0},    {0, 0},       {0, 0},       {0, 0}}}}}};
377 
378 ia_huff_icc_nodes_struct ixheaacd_huff_icc_nodes = {
379     {{{{-1, 1}, {-2, 2}, {-3, 3}, {-4, 4}, {-5, 5}, {-6, 6}, {-7, -8}}},
380      {{{-1, 1}, {-2, 2}, {-3, 3}, {-4, 4}, {-5, 5}, {-6, 6}, {-7, -8}}},
381      {{{-1, 1}, {-2, 2}, {-3, 3}, {-4, 4}, {-5, 5}, {-6, 6}, {-7, -8}}}},
382     {{{{{-1, 1}, {-18, 2}, {-2, -17}},
383        {{2, 1},
384         {-1, -52},
385         {-2, 3},
386         {5, 4},
387         {-51, 6},
388         {-18, 7},
389         {-17, 8},
390         {-3, 9},
391         {-36, 10},
392         {-19, -50},
393         {-35, 11},
394         {-4, 12},
395         {-34, 13},
396         {-33, 14},
397         {-20, -49}},
398        {{2, 1},     {-86, 3},  {-1, 4},   {6, 5},     {-2, 7},    {-85, 8},
399         {-18, 9},   {11, 10},  {-17, 12}, {14, 13},   {-70, 15},  {-3, -19},
400         {-69, 16},  {-84, 17}, {-68, 18}, {-20, -35}, {-34, -83}, {20, 19},
401         {-4, 21},   {-33, 22}, {-5, 23},  {-53, 24},  {-36, -52}, {-67, 25},
402         {-21, -82}, {-54, 26}, {-6, 27},  {-51, 28},  {-50, 29},  {-49, 30},
403         {-37, 31},  {-38, 0},  {0, 0},    {0, 0},     {0, 0}},
404        {{2, 1},     {4, 3},     {-1, -120}, {6, 5},      {8, 7},     {-18, 9},
405         {-2, 10},   {12, 11},   {14, 13},   {-17, -119}, {16, 15},   {-103, 17},
406         {-104, 18}, {-52, 19},  {21, 20},   {-69, 22},   {24, 23},   {-3, -35},
407         {-19, 25},  {-34, -85}, {27, 26},   {-86, 28},   {-118, 29}, {-37, 30},
408         {32, 31},   {-102, 33}, {-20, -22}, {-4, -117},  {-87, 34},  {-100, 35},
409         {-33, -36}, {37, 36},   {-70, -88}, {-101, 38},  {-5, 39},   {-51, -53},
410         {-50, 40},  {-115, 41}, {-21, 42},  {-116, 43},  {-38, 44},  {-23, -84},
411         {-49, -99}, {46, 45},   {-6, -114}, {-7, -72},   {-71, 47},  {-8, 0},
412         {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},     {0, 0},
413         {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},     {0, 0},
414         {0, 0},     {0, 0},     {0, 0}}},
415       {{{-1, 1}, {-18, 2}, {-2, -17}},
416        {{2, 1},
417         {-1, -52},
418         {-17, 3},
419         {5, 4},
420         {-36, 6},
421         {-2, 7},
422         {-18, -33},
423         {9, 8},
424         {-20, 10},
425         {-34, -51},
426         {-49, 11},
427         {-35, 12},
428         {-19, 13},
429         {-3, 14},
430         {-4, -50}},
431        {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
432         {-33, 9},   {-18, 10},  {-2, 11},  {-54, 12},  {-49, 13}, {-38, 14},
433         {-34, -65}, {-85, 15},  {-50, 16}, {-69, 17},  {-22, 18}, {-53, 19},
434         {21, 20},   {-19, -81}, {-66, 22}, {-3, -35},  {24, 23},  {-37, 25},
435         {-68, -84}, {-51, 26},  {28, 27},  {-20, -52}, {30, 29},  {-4, -36},
436         {-83, 31},  {-67, 32},  {-82, 33}, {-21, 34},  {-5, -6}},
437        {{2, 1},     {-1, 3},     {-120, 4},   {-17, 5},   {7, 6},
438         {-104, 8},  {-33, 9},    {11, 10},    {13, 12},   {-49, 14},
439         {-88, 15},  {-18, -97},  {-65, 16},   {-40, 17},  {-2, -72},
440         {19, 18},   {-113, 20},  {-34, 21},   {-56, -81}, {23, 22},
441         {-50, 24},  {-82, -119}, {-24, -103}, {26, 25},   {28, 27},
442         {30, 29},   {-55, -87},  {-66, 31},   {33, 32},   {-98, 34},
443         {-35, -67}, {-19, 35},   {-70, 36},   {-71, 37},  {-51, -52},
444         {-3, 38},   {40, 39},    {-86, -118}, {42, 41},   {-39, -69},
445         {-54, -83}, {44, 43},    {-102, 45},  {-101, 46}, {-68, -85},
446         {-36, -53}, {-5, 0},     {0, 0},      {0, 0},     {0, 0},
447         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
448         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
449         {0, 0},     {0, 0},      {0, 0}}}},
450      {{{{-1, 1}, {-18, 2}, {-2, -17}},
451        {{-52, 1},
452         {-1, 2},
453         {4, 3},
454         {-2, -17},
455         {-18, 5},
456         {-36, 6},
457         {-51, 7},
458         {9, 8},
459         {-33, 10},
460         {-34, 11},
461         {-35, 12},
462         {-19, -20},
463         {-3, 13},
464         {-49, 14},
465         {-4, -50}},
466        {{-1, 1},    {-86, 2},  {4, 3},     {-17, 5},  {-2, 6},    {-18, 7},
467         {-70, 8},   {-85, 9},  {11, 10},   {13, 12},  {-33, 14},  {16, 15},
468         {-34, -54}, {-69, 17}, {-38, 18},  {-50, 19}, {-35, -53}, {-49, 20},
469         {-19, 21},  {-3, 22},  {-65, 23},  {-68, 24}, {-22, 25},  {-81, -84},
470         {-66, 26},  {-37, 27}, {-20, -51}, {29, 28},  {-52, 30},  {-4, -83},
471         {-36, 31},  {-67, 32}, {-5, 33},   {-82, 34}, {-21, 0}},
472        {{-1, 1},   {-120, 2},   {4, 3},     {-17, 5},   {-2, 6},
473         {8, 7},    {-18, 9},    {-104, 10}, {12, 11},   {14, 13},
474         {16, 15},  {-119, 17},  {-81, 18},  {20, 19},   {-33, 21},
475         {-88, 22}, {-103, 23},  {-34, 24},  {-56, 25},  {-72, 26},
476         {-49, 27}, {-82, 28},   {-50, 29},  {-65, 30},  {-55, -87},
477         {-19, 31}, {-67, 32},   {-35, -40}, {34, 33},   {-52, -71},
478         {-66, 35}, {-70, 36},   {38, 37},   {-51, -97}, {-86, -102},
479         {-3, 39},  {-118, 40},  {42, 41},   {-24, -85}, {-54, 43},
480         {-39, 44}, {-98, -113}, {-36, -37}, {-20, -69}, {-4, 45},
481         {-5, 46},  {-21, 0},    {0, 0},     {0, 0},     {0, 0},
482         {0, 0},    {0, 0},      {0, 0},     {0, 0},     {0, 0},
483         {0, 0},    {0, 0},      {0, 0},     {0, 0},     {0, 0},
484         {0, 0},    {0, 0},      {0, 0}}},
485       {{{-1, 1}, {-18, 2}, {-2, -17}},
486        {{-52, 1},
487         {-1, 2},
488         {4, 3},
489         {-2, 5},
490         {-17, -18},
491         {-51, 6},
492         {-36, 7},
493         {9, 8},
494         {-35, 10},
495         {-3, 11},
496         {-19, -34},
497         {-33, 12},
498         {-50, 13},
499         {-20, 14},
500         {-4, -49}},
501        {{2, 1},    {-86, 3},   {-1, 4},    {6, 5},     {-18, 7},  {-2, -17},
502         {9, 8},    {-70, 10},  {-69, -85}, {-35, 11},  {13, 12},  {-34, 14},
503         {-19, 15}, {-53, 16},  {-68, 17},  {-33, 18},  {-3, -52}, {20, 19},
504         {-54, 21}, {-84, 22},  {-50, 23},  {-20, -51}, {-36, 24}, {26, 25},
505         {-83, 27}, {-4, -38},  {-49, 28},  {-37, 29},  {-67, 30}, {-5, 31},
506         {-21, 32}, {-65, -66}, {-82, 33},  {-22, 34},  {-6, -81}},
507        {{2, 1},     {-1, -120}, {4, 3},     {6, 5},     {-18, 7},    {9, 8},
508         {-17, 10},  {-2, 11},   {-103, 12}, {-52, 13},  {-35, -104}, {-119, 14},
509         {16, 15},   {-69, -86}, {18, 17},   {-34, 19},  {-19, 20},   {22, 21},
510         {-70, 23},  {-87, 24},  {-102, 25}, {-85, 26},  {-33, 27},   {-36, 28},
511         {-3, 29},   {-88, 30},  {-51, 31},  {-118, 32}, {34, 33},    {-68, 35},
512         {-53, 36},  {-67, 37},  {-20, 38},  {-101, 39}, {-50, 40},   {42, 41},
513         {-37, 43},  {-116, 44}, {-117, 45}, {-49, 46},  {-21, -100}, {48, 47},
514         {-55, -71}, {-4, 49},   {-22, -84}, {-115, 50}, {-66, -82},  {-72, 51},
515         {-5, -6},   {-54, 52},  {-38, 53},  {-83, 54},  {-40, 55},   {-39, 56},
516         {-99, 57},  {-23, -56}, {-7, 58},   {-65, -97}, {-8, 0},     {0, 0},
517         {0, 0},     {0, 0},     {0, 0}}}},
518      {{{{-1, 1}, {-18, 2}, {-2, -17}},
519        {{2, 1},
520         {-1, -52},
521         {-17, 3},
522         {5, 4},
523         {-36, 6},
524         {-2, 7},
525         {-18, -33},
526         {9, 8},
527         {-20, 10},
528         {-34, -51},
529         {-49, 11},
530         {-35, 12},
531         {-19, 13},
532         {-3, 14},
533         {-4, -50}},
534        {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
535         {-33, 9},   {-18, 10},  {-2, 11},  {-54, 12},  {-49, 13}, {-38, 14},
536         {-34, -65}, {-85, 15},  {-50, 16}, {-69, 17},  {-22, 18}, {-53, 19},
537         {21, 20},   {-19, -81}, {-66, 22}, {-3, -35},  {24, 23},  {-37, 25},
538         {-68, -84}, {-51, 26},  {28, 27},  {-20, -52}, {30, 29},  {-4, -36},
539         {-83, 31},  {-67, 32},  {-82, 33}, {-21, 34},  {-5, -6}},
540        {{2, 1},     {-1, 3},     {-120, 4},   {-17, 5},   {7, 6},
541         {-104, 8},  {-33, 9},    {11, 10},    {13, 12},   {-49, 14},
542         {-88, 15},  {-18, -97},  {-65, 16},   {-40, 17},  {-2, -72},
543         {19, 18},   {-113, 20},  {-34, 21},   {-56, -81}, {23, 22},
544         {-50, 24},  {-82, -119}, {-24, -103}, {26, 25},   {28, 27},
545         {30, 29},   {-55, -87},  {-66, 31},   {33, 32},   {-98, 34},
546         {-35, -67}, {-19, 35},   {-70, 36},   {-71, 37},  {-51, -52},
547         {-3, 38},   {40, 39},    {-86, -118}, {42, 41},   {-39, -69},
548         {-54, -83}, {44, 43},    {-102, 45},  {-101, 46}, {-68, -85},
549         {-36, -53}, {-5, 0},     {0, 0},      {0, 0},     {0, 0},
550         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
551         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
552         {0, 0},     {0, 0},      {0, 0}}},
553       {{{-1, 1}, {-18, 2}, {-2, -17}},
554        {{2, 1},
555         {-1, -52},
556         {-17, 3},
557         {5, 4},
558         {-36, 6},
559         {-2, 7},
560         {-18, -33},
561         {9, 8},
562         {-20, 10},
563         {-34, -51},
564         {-49, 11},
565         {-35, 12},
566         {-19, 13},
567         {-3, 14},
568         {-4, -50}},
569        {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
570         {-33, 9},   {-18, 10},  {-2, 11},  {-54, 12},  {-49, 13}, {-38, 14},
571         {-34, -65}, {-85, 15},  {-50, 16}, {-69, 17},  {-22, 18}, {-53, 19},
572         {21, 20},   {-19, -81}, {-66, 22}, {-3, -35},  {24, 23},  {-37, 25},
573         {-68, -84}, {-51, 26},  {28, 27},  {-20, -52}, {30, 29},  {-4, -36},
574         {-83, 31},  {-67, 32},  {-82, 33}, {-21, 34},  {-5, -6}},
575        {{2, 1},     {-1, 3},     {-120, 4},   {-17, 5},   {7, 6},
576         {-104, 8},  {-33, 9},    {11, 10},    {13, 12},   {-49, 14},
577         {-88, 15},  {-18, -97},  {-65, 16},   {-40, 17},  {-2, -72},
578         {19, 18},   {-113, 20},  {-34, 21},   {-56, -81}, {23, 22},
579         {-50, 24},  {-82, -119}, {-24, -103}, {26, 25},   {28, 27},
580         {30, 29},   {-55, -87},  {-66, 31},   {33, 32},   {-98, 34},
581         {-35, -67}, {-19, 35},   {-70, 36},   {-71, 37},  {-51, -52},
582         {-3, 38},   {40, 39},    {-86, -118}, {42, 41},   {-39, -69},
583         {-54, -83}, {44, 43},    {-102, 45},  {-101, 46}, {-68, -85},
584         {-36, -53}, {-5, 0},     {0, 0},      {0, 0},     {0, 0},
585         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
586         {0, 0},     {0, 0},      {0, 0},      {0, 0},     {0, 0},
587         {0, 0},     {0, 0},      {0, 0}}}}}};
588 
589 ia_huff_ipd_nodes_struct ixheaacd_huff_ipd_nodes = {
590     {{{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-7, 6}, {-3, -5}, {-4, -6}}},
591     {{{{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-3, -7}, {-6, 6}, {-4, -5}}},
592      {{{-1, 1}, {-2, 2}, {-8, 3}, {-3, 4}, {-7, 5}, {-4, 6}, {-5, -6}}},
593      {{{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-3, -7}, {-6, 6}, {-4, -5}}}},
594     {{{{{-1, 1}, {-18, 2}, {-17, 0}},
595        {{-1, 1},
596         {-36, 2},
597         {-18, 3},
598         {-35, 4},
599         {-52, 5},
600         {7, 6},
601         {-34, 8},
602         {-33, -49},
603         {-20, 0},
604         {0, 0},
605         {0, 0},
606         {0, 0},
607         {0, 0},
608         {0, 0},
609         {0, 0}},
610        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
611         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
612         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
613         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
614         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
615         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
616        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
617         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
618         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
619         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
620         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
621         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
622         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
623         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
624         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
625         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
626         {0, 0},    {0, 0},       {0, 0}}},
627       {{{-1, 1}, {-18, 2}, {-17, 0}},
628        {{-1, 1},
629         {-36, 2},
630         {-18, 3},
631         {-35, 4},
632         {-52, 5},
633         {7, 6},
634         {-34, 8},
635         {-33, -49},
636         {-20, 0},
637         {0, 0},
638         {0, 0},
639         {0, 0},
640         {0, 0},
641         {0, 0},
642         {0, 0}},
643        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
644         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
645         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
646         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
647         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
648         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
649        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
650         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
651         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
652         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
653         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
654         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
655         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
656         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
657         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
658         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
659         {0, 0},    {0, 0},       {0, 0}}}},
660      {{{{-1, 1}, {-18, 2}, {-17, 0}},
661        {{-1, 1},
662         {3, 2},
663         {-18, 4},
664         {-52, 5},
665         {-34, -36},
666         {-35, 6},
667         {-17, 7},
668         {-33, 8},
669         {-20, 9},
670         {-49, 0},
671         {0, 0},
672         {0, 0},
673         {0, 0},
674         {0, 0},
675         {0, 0}},
676        {{-1, 1},    {3, 2},   {-52, 4},   {-86, 5}, {-35, 6},   {-53, 7},
677         {-70, 8},   {-17, 9}, {-37, 10},  {12, 11}, {-38, -66}, {-18, 13},
678         {-51, 14},  {16, 15}, {-34, -69}, {18, 17}, {-54, -65}, {-50, 19},
679         {-33, -49}, {-22, 0}, {0, 0},     {0, 0},   {0, 0},     {0, 0},
680         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0},     {0, 0},
681         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0}},
682        {{-1, 1},    {-69, 2},   {4, 3},     {-120, 5},  {7, 6},     {-113, 8},
683         {-68, 9},   {11, 10},   {-17, 12},  {-52, 13},  {-24, 14},  {-18, 15},
684         {17, 16},   {-104, 18}, {20, 19},   {-54, -70}, {22, 21},   {24, 23},
685         {-86, -97}, {-103, 25}, {-83, 26},  {-35, 27},  {-34, -98}, {-40, 28},
686         {-39, -67}, {30, 29},   {-33, -51}, {-87, 31},  {-88, 32},  {-82, 33},
687         {-55, -81}, {-56, -71}, {-72, 34},  {-50, -66}, {-65, 35},  {-49, 0},
688         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
689         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
690         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
691         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
692         {0, 0},     {0, 0},     {0, 0}}},
693       {{{-1, 1}, {-18, 2}, {-17, 0}},
694        {{-1, 1},
695         {3, 2},
696         {-18, 4},
697         {-52, 5},
698         {-34, -36},
699         {-35, 6},
700         {-17, 7},
701         {-33, 8},
702         {-20, 9},
703         {-49, 0},
704         {0, 0},
705         {0, 0},
706         {0, 0},
707         {0, 0},
708         {0, 0}},
709        {{-1, 1},    {3, 2},   {-52, 4},   {-86, 5}, {-35, 6},   {-53, 7},
710         {-70, 8},   {-17, 9}, {-37, 10},  {12, 11}, {-38, -66}, {-18, 13},
711         {-51, 14},  {16, 15}, {-34, -69}, {18, 17}, {-54, -65}, {-50, 19},
712         {-33, -49}, {-22, 0}, {0, 0},     {0, 0},   {0, 0},     {0, 0},
713         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0},     {0, 0},
714         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0}},
715        {{-1, 1},    {-69, 2},   {4, 3},     {-120, 5},  {7, 6},     {-113, 8},
716         {-68, 9},   {11, 10},   {-17, 12},  {-52, 13},  {-24, 14},  {-18, 15},
717         {17, 16},   {-104, 18}, {20, 19},   {-54, -70}, {22, 21},   {24, 23},
718         {-86, -97}, {-103, 25}, {-83, 26},  {-35, 27},  {-34, -98}, {-40, 28},
719         {-39, -67}, {30, 29},   {-33, -51}, {-87, 31},  {-88, 32},  {-82, 33},
720         {-55, -81}, {-56, -71}, {-72, 34},  {-50, -66}, {-65, 35},  {-49, 0},
721         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
722         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
723         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
724         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
725         {0, 0},     {0, 0},     {0, 0}}}},
726      {{{{-1, 1}, {-18, 2}, {-17, 0}},
727        {{-1, 1},
728         {-36, 2},
729         {-18, 3},
730         {-35, 4},
731         {-52, 5},
732         {7, 6},
733         {-34, 8},
734         {-33, -49},
735         {-20, 0},
736         {0, 0},
737         {0, 0},
738         {0, 0},
739         {0, 0},
740         {0, 0},
741         {0, 0}},
742        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
743         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
744         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
745         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
746         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
747         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
748        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
749         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
750         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
751         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
752         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
753         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
754         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
755         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
756         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
757         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
758         {0, 0},    {0, 0},       {0, 0}}},
759       {{{-1, 1}, {-18, 2}, {-17, 0}},
760        {{-1, 1},
761         {-36, 2},
762         {-18, 3},
763         {-35, 4},
764         {-52, 5},
765         {7, 6},
766         {-34, 8},
767         {-33, -49},
768         {-20, 0},
769         {0, 0},
770         {0, 0},
771         {0, 0},
772         {0, 0},
773         {0, 0},
774         {0, 0}},
775        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
776         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
777         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
778         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
779         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
780         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
781        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
782         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
783         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
784         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
785         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
786         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
787         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
788         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
789         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
790         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
791         {0, 0},    {0, 0},       {0, 0}}}}}};
792 
793 ia_huff_pt0_nodes_struct ixheaacd_huff_part0_nodes = {
794     {{2, 1},     {4, 3},     {6, 5},     {8, 7},    {10, 9},    {12, 11},
795      {14, 13},   {-8, 15},   {-9, 16},   {-10, 17}, {-18, 18},  {-17, -19},
796      {-16, 19},  {-11, -20}, {-15, -21}, {-7, 20},  {-22, 21},  {-12, -14},
797      {-13, -23}, {23, 22},   {-24, -31}, {-6, 24},  {-25, -26}, {26, 25},
798      {-5, -27},  {-28, 27},  {-4, 28},   {-29, 29}, {-1, -30},  {-2, -3}},
799     {{2, 1}, {-5, 3}, {-4, -6}, {-3, 4}, {-2, 5}, {-1, 6}, {-7, -8}},
800     {{2, 1},    {4, 3},    {6, 5},     {-15, 7},  {-14, -16},
801      {-13, 8},  {-12, 9},  {-11, 10},  {-10, 11}, {-8, -9},
802      {-17, 12}, {14, 13},  {-7, 15},   {-18, 16}, {-6, 17},
803      {-5, 18},  {-4, -19}, {-3, 19},   {-1, 20},  {-2, -20},
804      {22, 21},  {-21, 23}, {-22, -26}, {-23, 24}, {-24, -25}}};
805 
806 ia_huff_pt0_nodes_struct ixheaacd_huff_pilot_nodes = {
807     {{2, 1},     {4, 3},     {6, 5},     {8, 7},    {10, 9},    {12, 11},
808      {14, 13},   {-8, 15},   {-9, 16},   {-10, 17}, {-18, 18},  {-17, -19},
809      {-16, 19},  {-11, -20}, {-15, -21}, {-7, 20},  {-22, 21},  {-12, -14},
810      {-13, -23}, {23, 22},   {-24, -31}, {-6, 24},  {-25, -26}, {26, 25},
811      {-5, -27},  {-28, 27},  {-4, 28},   {-29, 29}, {-1, -30},  {-2, -3}},
812     {{2, 1}, {-5, 3}, {-4, -6}, {-3, 4}, {-2, 5}, {-1, 6}, {-7, -8}},
813     {{2, 1},    {4, 3},    {6, 5},     {-15, 7},  {-14, -16},
814      {-13, 8},  {-12, 9},  {-11, 10},  {-10, 11}, {-8, -9},
815      {-17, 12}, {14, 13},  {-7, 15},   {-18, 16}, {-6, 17},
816      {-5, 18},  {-4, -19}, {-3, 19},   {-1, 20},  {-2, -20},
817      {22, 21},  {-21, 23}, {-22, -26}, {-23, 24}, {-24, -25}}};
818 
819 ia_huff_lav_nodes_struct ixheaacd_huff_lav_idx_nodes = {
820     {{-1, 1}, {-2, 2}, {-3, -4}}};
821 
822 ia_huff_res_nodes_struct ixheaacd_huff_reshape_nodes = {
823     {{2, 1},    {4, 3},     {6, 5},     {-33, 7},  {-17, 8},  {-49, 9},
824      {-34, 10}, {12, 11},   {-18, -35}, {-50, 13}, {15, 14},  {-40, 16},
825      {-36, 17}, {-19, 18},  {-1, -37},  {-51, 19}, {21, 20},  {-38, -65},
826      {-2, -39}, {-20, 22},  {-52, 23},  {25, 24},  {-21, 26}, {-66, 27},
827      {-53, 28}, {-3, 29},   {31, 30},   {-22, 32}, {-54, 33}, {-4, 34},
828      {-56, 35}, {-24, -67}, {-23, -55}, {-8, -72}, {-5, 36},  {-68, 37},
829      {-6, 38},  {-7, -69},  {-70, -71}}};
830 
831 const WORD32 ixheaacd_im_weight_Q28[16][8][31] = {
832     {
833         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
835         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
836          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
837         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
839         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
841         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
843         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
845         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
847         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
849     },
850     {
851         {-3,        -574674,   -1017796,  -1796901,  -3154468,  -5481590,
852          -7575016,  -10370478, -14006830, -18549081, -23865573, -27607851,
853          -31193408, -34233661, -36296902, -37030589, -36296902, -34233661,
854          -31193411, -27607851, -23865573, -18549082, -14006829, -10370478,
855          -7575017,  -5481590,  -3154468,  -1796901,  -1017796,  -574674,
856          -3},
857         {-3,        -538644,   -954220,   -1685385,  -2960885,  -5151503,
858          -7126422,  -9769580,  -13217236, -17537304, -22610489, -26190951,
859          -29627877, -32546501, -34529291, -35234746, -34529291, -32546501,
860          -29627879, -26190951, -22610489, -17537304, -13217236, -9769579,
861          -7126423,  -5151503,  -2960885,  -1685385,  -954220,   -538644,
862          -3},
863         {-3,        -483799,   -857386,   -1515349,  -2665174,  -4645760,
864          -6437353,  -8843606,  -11995831, -15965514, -20652239, -23974316,
865          -27173122, -29896409, -31749795, -32409817, -31749798, -29896409,
866          -27173122, -23974316, -20652241, -15965512, -11995831, -8843606,
867          -6437353,  -4645760,  -2665174,  -1515349,  -857386,   -483799,
868          -3},
869         {-2,        -346044,   -613840,   -1086712,  -1916795,  -3357478,
870          -4672194,  -6454555,  -8816980,  -11833773, -15450674, -18047554,
871          -20571857, -22737959, -24220523, -24750059, -24220526, -22737954,
872          -20571860, -18047555, -15450674, -11833774, -8816980,  -6454555,
873          -4672195,  -3357477,  -1916795,  -1086712,  -613840,   -346044,
874          -2},
875         {-1,        -211963,   -376347,   -667357,   -1180477,  -2077857,
876          -2904213,  -4035616,  -5554462,  -7524805,  -9930552,  -11685604,
877          -13412726, -14910621, -15943947, -16314578, -15943948, -14910621,
878          -13412728, -11685605, -9930552,  -7524805,  -5554462,  -4035615,
879          -2904213,  -2077857,  -1180477,  -667357,   -376347,   -211963,
880          -1},
881         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
883         {2,        341283,   608313,   1086175,  1945172,  3500199,  4995375,
884          7149357,  10257166, 14719094, 21095209, 27678683, 35807499, 44718702,
885          52254129, 55306472, 52254135, 44718696, 35807506, 27678683, 21095208,
886          14719092, 10257166, 7149356,  4995375,  3500199,  1945172,  1086175,
887          608313,   341283,   2},
888         {3,         574839,    1026313,   1838046,   3309837,   6017789,
889          8678530,   12620302,  18566315,  29617673,  51387069,  78419391,
890          127027624, 219233261, 378389618, 496423988, 378389858, 219233221,
891          127027637, 78419391,  51387075,  29617673,  18566315,  12620301,
892          8678531,   6017788,   3309837,   1838046,   1026313,   574839,
893          3},
894     },
895     {
896         {-6,        -1063142,  -1884657,  -3332697,  -5866780,  -10242061,
897          -14210618, -19556015, -26583487, -35470365, -46010122, -53508848,
898          -60748872, -66926406, -71137302, -72638110, -71137307, -66926401,
899          -60748877, -53508853, -46010127, -35470363, -26583487, -19556013,
900          -14210619, -10242061, -5866781,  -3332697,  -1884657,  -1063142,
901          -6},
902         {-6,        -996411,   -1766700,  -3125152,  -5504594,  -9619093,
903          -13357671, -18402686, -25050704, -33480939, -43509452, -50662425,
904          -57581404, -63494074, -67528860, -68967732, -67528865, -63494073,
905          -57581409, -50662430, -43509452, -33480939, -25050704, -18402684,
906          -13357672, -9619093,  -5504594,  -3125152,  -1766700,  -996411,
907          -6},
908         {-5,        -894854,   -1587094,  -2808873,  -4951863,  -8666114,
909          -12050168, -16630008, -22687068, -30401449, -39622947, -46227133,
910          -52634601, -58124037, -61876858, -63216462, -61876863, -58124037,
911          -52634607, -46227138, -39622951, -30401449, -22687068, -16630007,
912          -12050168, -8666115,  -4951864,  -2808873,  -1587094,  -894854,
913          -5},
914         {-4,        -639871,   -1135692,  -2012557,  -3555941,  -6246900,
915          -8715879,  -12082768, -16579119, -22374143, -29395763, -34483541,
916          -39463815, -43763084, -46718677, -47776809, -46718677, -43763084,
917          -39463820, -34483541, -29395763, -22374143, -16579119, -12082768,
918          -8715880,  -6246900,  -3555941,  -2012557,  -1135692,  -639871,
919          -4},
920         {-2,        -391832,   -695950,   -1234845,  -2186633,  -3856009,
921          -5398614,  -7518849,  -10379694, -14115081, -18711418, -22088179,
922          -25429852, -28342454, -30359291, -31084156, -30359294, -28342454,
923          -25429854, -22088179, -18711418, -14115079, -10379693, -7518848,
924          -5398615,  -3856009,  -2186633,  -1234845,  -695950,   -391832,
925          -2},
926         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
928         {4,        630153,   1122569,  2002361,  3579289,  6418784,  9130132,
929          13002758, 18518363, 26281774, 36854214, 45475090, 56006939, 67371285,
930          76348185, 79832098, 76348185, 67371278, 56006945, 45475094, 36854219,
931          26281774, 18518363, 13002756, 9130133,  6418784,  3579289,  2002361,
932          1122569,  630153,   4},
933         {6,         1060871,   1892248,   3382951,   6072244,   10973302,
934          15727473,  22653420,  32821245,  47830061,  75342938,  103710864,
935          142829663, 191958022, 239742154, 261023300, 239742208, 191958009,
936          142829663, 103710864, 75342952,  47830061,  32821243,  22653418,
937          15727475,  10973302,  6072245,   3382952,   1892248,   1060871,
938          6},
939     },
940     {
941         {-8,        -1391582,  -2470337,   -4379084,   -7741644,   -13613250,
942          -19010161, -26384297, -36257343,  -49022548,  -64547243,  -75833181,
943          -86908862, -96491301, -103089782, -105454184, -103089782, -96491301,
944          -86908862, -75833172, -64547240,  -49022548,  -36257343,  -26384295,
945          -19010165, -13613251, -7741645,   -4379084,   -2470337,   -1391582,
946          -8},
947         {-7,        -1304089,  -2315260,  -4104938,  -7259321,  -12772177,
948          -17844573, -24783192, -34086929, -46138449, -60827308, -71526414,
949          -82042251, -91152504, -97432108, -99683455, -97432108, -91152495,
950          -82042260, -71526418, -60827312, -46138449, -34086931, -24783188,
951          -17844578, -12772178, -7259321,  -4104938,  -2315260,  -1304089,
952          -7},
953         {-7,        -1170970,  -2079253,  -3687531,  -6524359,  -11488788,
954          -16063810, -22333022, -30758491, -41703962, -55090554, -64871119,
955          -74507479, -82873672, -88649676, -90722278, -88649676, -82873672,
956          -74507487, -64871119, -55090554, -41703962, -30758489, -22333018,
957          -16063811, -11488789, -6524359,  -3687531,  -2079253,  -1170970,
958          -7},
959         {-5,        -836946,   -1486730,  -2638556,  -4674179,  -8248466,
960          -11555711, -16108121, -22262876, -30319528, -40263731, -47590055,
961          -54856837, -61203595, -65605308, -67188665, -65605308, -61203586,
962          -54856842, -47590059, -40263731, -30319526, -22262874, -16108120,
963          -11555711, -8248465,  -4674180,  -2638556,  -1486730,  -836946,
964          -5},
965         {-3,        -512296,   -910384,   -1616803,  -2867623,  -5071172,
966          -7118298,  -9948960,  -13799297, -18879453, -25211247, -29918728,
967          -34622928, -38759529, -41643508, -42683912, -41643508, -38759525,
968          -34622930, -29918732, -25211249, -18879451, -13799296, -9948958,
969          -7118299,  -5071172,  -2867624,  -1616803,  -910384,   -512296,
970          -3},
971         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
973         {5,        822447,   1463889,  2607236,  4647839,  8293870,  11741041,
974          16605976, 23414447, 32754663, 45010872, 54604473, 64638836, 73862135,
975          80529788, 82985438, 80529795, 73862128, 64638850, 54604473, 45010872,
976          32754663, 23414449, 16605974, 11741042, 8293870,  4647839,  2607237,
977          1463889,  822447,   5},
978         {8,         1383579,   2464328,   4394383,   7850862,   14065144,
979          19987153,  28424960,  40399126,  57162281,  79807987,  98105864,
980          117845260, 140317143, 157927636, 164697609, 157927650, 140317143,
981          117845274, 98105858,  79807994,  57162273,  40399123,  28424958,
982          19987155,  14065143,  7850864,   4394383,   2464328,   1383579,
983          8},
984     },
985     {
986         {-8,         -1509476,   -2684086,   -4772023,   -8480193,   -15047650,
987          -21188892,  -29744494,  -41501680,  -57227068,  -77169768,  -92246064,
988          -107526888, -121143312, -130736632, -134217744, -130736624, -121143312,
989          -107526896, -92246064,  -77169768,  -57227064,  -41501676,  -29744492,
990          -21188894,  -15047650,  -8480194,   -4772023,   -2684086,   -1509476,
991          -8},
992         {-8,         -1414379,   -2514988,   -4471386,   -7945941,   -14099648,
993          -19853990,  -27870592,  -38887072,  -53621760,  -72308072,  -86434552,
994          -100752688, -113511272, -122500224, -125762016, -122500216, -113511280,
995          -100752696, -86434560,  -72308072,  -53621760,  -38887072,  -27870588,
996          -19853994,  -14099649,  -7945942,   -4471386,   -2514989,   -1414379,
997          -8},
998         {-7,        -1269741,   -2257800,   -4014131,   -7133369,   -12657783,
999          -17823674, -25020474,  -34910384,  -48138264,  -64913664,  -77595552,
1000          -90449464, -101903328, -109973032, -112901280, -109973040, -101903328,
1001          -90449472, -77595544,  -64913668,  -48138264,  -34910384,  -25020472,
1002          -17823674, -12657783,  -7133369,   -4014131,   -2257800,   -1269741,
1003          -7},
1004         {-5,        -907074,   -1612921,  -2867604,  -5095918,  -9042434,
1005          -12732830, -17874062, -24939188, -34388892, -46372856, -55432508,
1006          -64615056, -72797440, -78562256, -80654120, -78562256, -72797432,
1007          -64615064, -55432508, -46372860, -34388892, -24939190, -17874060,
1008          -12732831, -9042434,  -5095918,  -2867604,  -1612921,  -907074,
1009          -5},
1010         {-3,        -554944,   -986777,   -1754386,  -3117658,  -5532118,
1011          -7789884,  -10935266, -15257677, -21038960, -28370692, -33913340,
1012          -39531184, -44537124, -48064012, -49343804, -48064012, -44537124,
1013          -39531188, -33913344, -28370694, -21038958, -15257676, -10935264,
1014          -7789885,  -5532117,  -3117658,  -1754387,  -986777,   -554944,
1015          -3},
1016         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1018         {5,        889081,   1580927,  2810722,  4994834,  8863066,  12480257,
1019          17519508, 24444488, 33706744, 45452992, 54332928, 63333332, 71353408,
1020          77003864, 79054240, 77003872, 71353400, 63333336, 54332932, 45452992,
1021          33706744, 24444488, 17519506, 12480258, 8863066,  4994834,  2810722,
1022          1580927,  889081,   5},
1023         {8,         1494381,   2657245,   4724303,   8395391,   14897174,
1024          20977002,  29447048,  41086664,  56654796,  76398072,  91323608,
1025          106451616, 119931880, 129429263, 132875552, 129429264, 119931878,
1026          106451624, 91323608,  76398072,  56654796,  41086660,  29447048,
1027          20977004,  14897174,  8395392,   4724304,   2657245,   1494381,
1028          8},
1029     },
1030     {
1031         {-8,         -1397585,   -2489316,   -4439078,   -7931147,   -14210401,
1032          -20195533,  -28725381,  -40834574,  -57795944,  -80727760,  -99273505,
1033          -119386757, -142482370, -160470890, -167392516, -160470890, -142482357,
1034          -119386757, -99273512,  -80727756,  -57795944,  -40834574,  -28725377,
1035          -20195535,  -14210400,  -7931148,   -4439078,   -2489316,   -1397585,
1036          -8},
1037         {-7,         -1309358,   -2331922,   -4157610,   -7425692,   -13296383,
1038          -18885003,  -26837459,  -38101253,  -53825212,  -74978577,  -91990894,
1039          -110257644, -129210650, -144934890, -150951436, -144934903, -129210650,
1040          -110257650, -91990901,  -74978584,  -53825215,  -38101253,  -26837455,
1041          -18885005,  -13296384,  -7425692,   -4157610,   -2331922,   -1309358,
1042          -7},
1043         {-7,        -1175217,   -2092682,   -3729980,   -6658434,   -11911179,
1044          -16901999, -23987347,  -33988896,  -47881077,  -66434665,  -81236418,
1045          -97003508, -111774388, -123343304, -128186650, -123343317, -111774382,
1046          -97003515, -81236418,  -66434665,  -47881077,  -33988892,  -23987347,
1047          -16902001, -11911179,  -6658434,   -3729980,   -2092681,   -1175217,
1048          -7},
1049         {-5,        -839113,   -1493583,  -2660218,  -4742594,  -8463942,
1050          -11983129, -16951064, -23906436, -33453557, -45991133, -55813174,
1051          -66094542, -75552455, -82394424, -84915283, -82394417, -75552441,
1052          -66094540, -55813171, -45991139, -33453554, -23906434, -16951065,
1053          -11983130, -8463941,  -4742595,  -2660218,  -1493583,  -839113,
1054          -5},
1055         {-3,        -513107,   -912949,   -1624911,  -2893228,  -5151802,
1056          -7278196,  -10264146, -14413252, -20048070, -27340204, -32966174,
1057          -38772409, -44037899, -47801354, -49178242, -47801358, -44037903,
1058          -38772413, -32966178, -27340208, -20048068, -14413250, -10264145,
1059          -7278196,  -5151802,  -2893229,  -1624911,  -912949,   -513107,
1060          -3},
1061         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1062          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1063         {5,        820365,   1457305,  2586425,  4582113,  8086863,  11330426,
1064          15796198, 21835646, 29744456, 39510836, 46709319, 53851835, 60092071,
1065          64420974, 65978354, 64420974, 60092067, 53851844, 46709315, 39510836,
1066          29744457, 21835644, 15796195, 11330427, 8086863,  4582113,  2586425,
1067          1457305,  820365,   5},
1068         {8,        1377696,  2445727,   4335584,   7665133,   13479892,
1069          18825424, 26130668, 35913779,  48566398,  63959479,  75153138,
1070          86140901, 95649257, 102197733, 104544436, 102197742, 95649257,
1071          86140901, 75153138, 63959483,  48566398,  35913779,  26130668,
1072          18825426, 13479892, 7665134,   4335585,   2445727,   1377696,
1073          8},
1074     },
1075     {
1076         {-6,         -1071630,   -1911499,   -3417563,   -6135014,   -11088915,
1077          -15896315,  -22903493,  -33199122,  -48417346,  -76625352,  -105748897,
1078          -146157663, -197317649, -247522927, -270025194, -247522954, -197317609,
1079          -146157677, -105748904, -76625358,  -48417346,  -33199122,  -22903491,
1080          -15896315,  -11088915,  -6135014,   -3417563,   -1911499,   -1071630,
1081          -6},
1082         {-6,         -1003864,   -1790265,   -3199659,   -5740059,   -10362247,
1083          -14836237,  -21336047,  -30836947,  -44762533,  -68827345,  -93516451,
1084          -126532850, -166393343, -203549915, -219611661, -203549928, -166393329,
1085          -126532890, -93516458,  -68827352,  -44762536,  -30836951,  -21336046,
1086          -14836239,  -10362246,  -5740059,   -3199659,   -1790265,   -1003864,
1087          -6},
1088         {-5,         -900861,    -1606086,   -2868917,   -5141593,   -9264643,
1089          -13240198,  -18987808,  -27325830,  -39399654,  -58130792,  -77340471,
1090          -101814498, -129653024, -154062530, -164186529, -154062570, -129653010,
1091          -101814518, -77340471,  -58130799,  -39399654,  -27325828,  -18987806,
1092          -13240198,  -9264643,   -5141593,   -2868917,   -1606086,   -900860,
1093          -5},
1094         {-4,        -642936,   -1145384,  -2043195,  -3652724,  -6551934,
1095          -9321546,  -13279575, -18921457, -26872438, -37720430, -46584838,
1096          -57725379, -69582952, -78984425, -82641451, -78984418, -69582945,
1097          -57725385, -46584841, -37720434, -26872436, -18921457, -13279575,
1098          -9321547,  -6551934,  -3652725,  -2043195,  -1145384,  -642936,
1099          -4},
1100         {-2,        -392979,   -699578,   -1246312,  -2222848,  -3970081,
1101          -5624912,  -7965246,  -11250449, -15776819, -21752506, -26460379,
1102          -31414830, -35997598, -39328571, -40559278, -39328574, -35997598,
1103          -31414833, -26460381, -21752510, -15776818, -11250449, -7965245,
1104          -5624912,  -3970080,  -2222848,  -1246312,  -699578,   -392979,
1105          -2},
1106         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1107          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1108         {4,        627208,   1113258,  1972927,  3486308,  6125748,  8548319,
1109          11853214, 16269000, 21963762, 28868936, 33875540, 38778800, 43013413,
1110          45925477, 46968213, 45925482, 43013409, 38778804, 33875542, 28868936,
1111          21963760, 16269001, 11853213, 8548320,  6125748,  3486308,  1972927,
1112          1113257,  627208,   4},
1113         {6,        1052552,  1865940,  3299774,  5809354,  10143366, 14075580,
1114          19373582, 26341294, 35156402, 45615999, 53060599, 60250435, 66386585,
1115          70569986, 72061134, 70569991, 66386585, 60250429, 53060599, 45615999,
1116          35156405, 26341292, 19373582, 14075583, 10143366, 5809355,  3299775,
1117          1865941,  1052552,  6},
1118     },
1119     {
1120         {-3,         -580676,    -1036778,   -1856927,   -3344306,   -6082086,
1121          -8773675,   -12764181,  -18791317,  -30111286,  -52494265,  -80589391,
1122          -131965584, -232564048, -416579297, -562298280, -416579510, -232563968,
1123          -131965624, -80589405,  -52494275,  -30111283,  -18791315,  -12764179,
1124          -8773676,   -6082086,   -3344306,   -1856927,   -1036778,   -580676,
1125          -3},
1126         {-3,         -543914,    -970885,    -1738082,   -3127514,   -5678284,
1127          -8177066,   -11864206,  -17389757,  -27104441,  -45909909,  -68054278,
1128          -104838298, -165555583, -249179407, -298573540, -249179487, -165555569,
1129          -104838338, -68054292,  -45909909,  -27104439,  -17389757,  -11864205,
1130          -8177067,   -5678284,   -3127513,   -1738082,   -970885,    -543913,
1131          -3},
1132         {-3,        -488046,    -870816,    -1557814,   -2799416,   -5069822,
1133          -7282155,  -10523970,  -15327605,  -22959079,  -37422722,  -53115972,
1134          -76430452, -108848624, -144319570, -161563289, -144319637, -108848611,
1135          -76430472, -53115969,  -37422729,  -22959078,  -15327603,  -10523969,
1136          -7282156,  -5069822,   -2799417,   -1557814,   -870816,    -488046,
1137          -3},
1138         {-2,        -348211,   -620694,   -1108379,  -1985253,  -3573386,
1139          -5101324,  -7304187,  -10486237, -15063094, -21722298, -28584446,
1140          -37112672, -46532696, -54556959, -57822712, -54556959, -46532689,
1141          -37112682, -28584446, -21722299, -15063095, -10486238, -7304186,
1142          -5101324,  -3573386,  -1985253,  -1108378,  -620694,   -348211,
1143          -2},
1144         {-1,        -212775,   -378912,   -675466,   -1206088,  -2158548,
1145          -3064349,  -4351732,  -6171956,  -8706333,  -12102898, -14823042,
1146          -17731555, -20482223, -22906153, -23829791, -22906156, -20482223,
1147          -17731555, -14823041, -12102899, -8706332,  -6171955,  -4351731,
1148          -3064349,  -2158548,  -1206088,  -675466,   -378913,   -212775,
1149          -1},
1150         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1152         {2,        339200,   601729,   1065360,  1879405,  3292792,  4583180,
1153          6333406,  8654669,  11621118, 15180668, 17738214, 20225637, 22361080,
1154          23823154, 24345462, 23823157, 22361078, 20225641, 17738213, 15180668,
1155          11621118, 8654670,  6333406,  4583181,  3292792,  1879405,  1065360,
1156          601729,   339200,   2},
1157         {3,        568956,   1007710,  1779215,  3123785,  5429323,  7504044,
1158          10275511, 13882195, 18389595, 23668008, 27385006, 30947362, 33968646,
1159          36019344, 36748630, 36019347, 33968643, 30947364, 27385006, 23668008,
1160          18389595, 13882195, 10275510, 7504045,  5429323,  3123785,  1779215,
1161          1007710,  568956,   3},
1162     },
1163     {
1164         {0,   0,  0,  0,  1,  1, 2, 3, 4, 7, 13, 21, 39, 91, 367, -858993460,
1165          367, 91, 39, 21, 13, 7, 4, 3, 2, 1, 1,  0,  0,  0,  0},
1166         {0,   0,  0,  0,  1,  1, 2, 3, 4, 7, 11, 18, 29, 54, 102, 145,
1167          102, 54, 29, 18, 11, 7, 4, 3, 2, 1, 1,  0,  0,  0,  0},
1168         {0,  0,  0,  0,  1, 1, 2, 2, 4, 5, 9, 13, 20, 31, 44, 52,
1169          44, 31, 20, 13, 9, 5, 4, 2, 2, 1, 1, 0,  0,  0,  0},
1170         {0,  0,  0, 0, 0, 1, 1, 2, 2, 3, 5, 7, 9, 12, 14, 15,
1171          14, 12, 9, 7, 5, 3, 2, 2, 1, 1, 0, 0, 0, 0,  0},
1172         {0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 4, 5, 5, 6,
1173          5, 5, 4, 3, 3, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0},
1174         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1176         {0,  0,  0,  0,  0,  -1, -1, -1, -2, -3, -3, -4, -5, -5, -5, -5,
1177          -5, -5, -5, -4, -3, -3, -2, -1, -1, -1, 0,  0,  0,  0,  0},
1178         {0,  0,  0,  0,  -1, -1, -2, -2, -3, -4, -5, -6, -7, -8, -8, -8,
1179          -8, -8, -7, -6, -5, -4, -3, -2, -2, -1, -1, 0,  0,  0,  0},
1180     },
1181     {
1182         {3,         580676,    1036777,   1856927,   3344305,   6082085,
1183          8773674,   12764179,  18791313,  30111279,  52494259,  80589378,
1184          131965557, 232564021, 416579217, 562298173, 416579430, 232563941,
1185          131965610, 80589391,  52494265,  30111279,  18791313,  12764177,
1186          8773674,   6082085,   3344306,   1856927,   1036778,   580676,
1187          3},
1188         {3,         543913,    970885,    1738082,   3127513,   5678283,
1189          8177065,   11864205,  17389754,  27104436,  45909902,  68054265,
1190          104838284, 165555556, 249179381, 298573513, 249179434, 165555543,
1191          104838318, 68054278,  45909902,  27104436,  17389756,  11864203,
1192          8177066,   5678283,   3127513,   1738082,   970885,    543913,
1193          3},
1194         {3,        488046,    870816,    1557814,   2799416,   5069821,
1195          7282153,  10523969,  15327601,  22959076,  37422716,  53115965,
1196          76430438, 108848611, 144319557, 161563263, 144319610, 108848597,
1197          76430458, 53115962,  37422722,  22959074,  15327601,  10523968,
1198          7282155,  5069821,   2799416,   1557814,   870816,    488046,
1199          3},
1200         {2,        348211,   620693,   1108378,  1985253,  3573386,  5101323,
1201          7304185,  10486235, 15063092, 21722294, 28584443, 37112666, 46532689,
1202          54556952, 57822705, 54556949, 46532682, 37112676, 28584443, 21722296,
1203          15063092, 10486236, 7304185,  5101323,  3573385,  1985253,  1108378,
1204          620693,   348211,   2},
1205         {1,        212775,   378912,   675465,   1206088,  2158547,  3064349,
1206          4351731,  6171955,  8706331,  12102897, 14823040, 17731552, 20482220,
1207          22906149, 23829786, 22906153, 20482220, 17731554, 14823040, 12102898,
1208          8706331,  6171954,  4351731,  3064349,  2158547,  1206088,  675466,
1209          378912,   212775,   1},
1210         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1211          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1212         {-2,        -339200,   -601729,   -1065360,  -1879405,  -3292791,
1213          -4583180,  -6333406,  -8654668,  -11621117, -15180664, -17738211,
1214          -20225634, -22361078, -23823152, -24345457, -23823152, -22361075,
1215          -20225636, -17738211, -15180665, -11621117, -8654668,  -6333405,
1216          -4583180,  -3292791,  -1879405,  -1065360,  -601729,   -339200,
1217          -2},
1218         {-3,        -568956,   -1007709,  -1779214,  -3123784,  -5429322,
1219          -7504043,  -10275508, -13882193, -18389592, -23668005, -27385003,
1220          -30947359, -33968641, -36019338, -36748625, -36019341, -33968638,
1221          -30947359, -27385003, -23668005, -18389591, -13882193, -10275507,
1222          -7504044,  -5429322,  -3123785,  -1779214,  -1007709,  -568956,
1223          -3},
1224     },
1225     {
1226         {6,         1071630,   1911498,   3417563,   6135013,   11088914,
1227          15896313,  22903491,  33199122,  48417342,  76625352,  105748897,
1228          146157663, 197317649, 247522954, 270025220, 247523007, 197317609,
1229          146157677, 105748911, 76625358,  48417339,  33199122,  22903489,
1230          15896315,  11088914,  6135014,   3417563,   1911498,   1071630,
1231          6},
1232         {6,         1003864,   1790265,   3199659,   5740058,   10362246,
1233          14836235,  21336046,  30836947,  44762529,  68827352,  93516444,
1234          126532850, 166393343, 203549915, 219611675, 203549942, 166393329,
1235          126532890, 93516458,  68827345,  44762533,  30836947,  21336044,
1236          14836238,  10362246,  5740058,   3199659,   1790265,   1003864,
1237          6},
1238         {5,         900860,    1606086,   2868917,   5141592,   9264643,
1239          13240197,  18987806,  27325827,  39399651,  58130785,  77340471,
1240          101814498, 129653024, 154062530, 164186529, 154062570, 129653010,
1241          101814518, 77340465,  58130799,  39399651,  27325825,  18987804,
1242          13240199,  9264643,   5141593,   2868916,   1606086,   900860,
1243          5},
1244         {4,        642936,   1145384,  2043195,  3652724,  6551933,  9321545,
1245          13279574, 18921455, 26872435, 37720428, 46584834, 57725379, 69582952,
1246          78984425, 82641458, 78984418, 69582945, 57725385, 46584838, 37720430,
1247          26872435, 18921455, 13279574, 9321546,  6551933,  3652724,  2043195,
1248          1145384,  642936,   4},
1249         {2,        392979,   699578,   1246311,  2222848,  3970080,  5624911,
1250          7965245,  11250448, 15776818, 21752506, 26460378, 31414826, 35997601,
1251          39328568, 40559278, 39328574, 35997598, 31414830, 26460379, 21752508,
1252          15776818, 11250448, 7965244,  5624912,  3970080,  2222848,  1246312,
1253          699578,   392979,   2},
1254         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1256         {-4,        -627208,   -1113257,  -1972926,  -3486308,  -6125748,
1257          -8548319,  -11853212, -16268999, -21963760, -28868934, -33875539,
1258          -38778795, -43013409, -45925473, -46968213, -45925477, -43013404,
1259          -38778795, -33875539, -28868932, -21963758, -16269000, -11853212,
1260          -8548319,  -6125747,  -3486308,  -1972926,  -1113257,  -627208,
1261          -4},
1262         {-6,        -1052552,  -1865940,  -3299774,  -5809354,  -10143366,
1263          -14075579, -19373580, -26341292, -35156400, -45615994, -53060594,
1264          -60250430, -66386576, -70569981, -72061118, -70569981, -66386576,
1265          -60250430, -53060594, -45615994, -35156400, -26341290, -19373580,
1266          -14075582, -10143365, -5809354,  -3299775,  -1865940,  -1052552,
1267          -6},
1268     },
1269     {
1270         {8,         1397585,   2489316,   4439077,   7931147,   14210400,
1271          20195533,  28725381,  40834574,  57795937,  80727756,  99273505,
1272          119386770, 142482397, 160470916, 167392556, 160470930, 142482397,
1273          119386770, 99273512,  80727763,  57795937,  40834574,  28725377,
1274          20195535,  14210399,  7931147,   4439077,   2489316,   1397584,
1275          8},
1276         {7,         1309358,   2331922,   4157610,   7425691,   13296383,
1277          18885003,  26837457,  38101253,  53825212,  74978579,  91990888,
1278          110257650, 129210677, 144934930, 150951463, 144934930, 129210664,
1279          110257648, 91990895,  74978579,  53825212,  38101253,  26837453,
1280          18885005,  13296383,  7425691,   4157609,   2331922,   1309358,
1281          7},
1282         {7,        1175217,   2092681,   3729980,   6658433,   11911178,
1283          16901999, 23987347,  33988892,  47881081,  66434656,  81236414,
1284          97003508, 111774386, 123343330, 128186677, 123343330, 111774379,
1285          97003515, 81236414,  66434672,  47881077,  33988888,  23987345,
1286          16901999, 11911179,  6658434,   3729980,   2092681,   1175217,
1287          7},
1288         {5,        839113,   1493583,  2660218,  4742594,  8463941,  11983129,
1289          16951064, 23906434, 33453557, 45991133, 55813174, 66094533, 75552445,
1290          82394424, 84915284, 82394424, 75552445, 66094548, 55813174, 45991133,
1291          33453557, 23906436, 16951064, 11983129, 8463941,  4742594,  2660218,
1292          1493583,  839113,   5},
1293         {3,        513107,   912949,   1624911,  2893228,  5151802,  7278195,
1294          10264146, 14413251, 20048070, 27340206, 32966174, 38772413, 44037903,
1295          47801358, 49178236, 47801358, 44037903, 38772413, 32966174, 27340206,
1296          20048066, 14413251, 10264145, 7278196,  5151802,  2893229,  1624911,
1297          912949,   513107,   3},
1298         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1299          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1300         {-5,        -820365,   -1457305,  -2586425,  -4582112,  -8086862,
1301          -11330425, -15796197, -21835644, -29744455, -39510832, -46709311,
1302          -53851837, -60092063, -64420965, -65978350, -64420972, -60092058,
1303          -53851841, -46709311, -39510837, -29744455, -21835644, -15796194,
1304          -11330427, -8086862,  -4582112,  -2586425,  -1457305,  -820365,
1305          -5},
1306         {-8,        -1377696,  -2445727,   -4335584,   -7665132,   -13479891,
1307          -18825424, -26130668, -35913775,  -48566394,  -63959470,  -75153128,
1308          -86140892, -95649238, -102197714, -104544419, -102197714, -95649247,
1309          -86140892, -75153132, -63959470,  -48566394,  -35913771,  -26130665,
1310          -18825426, -13479892, -7665133,   -4335584,   -2445727,   -1377696,
1311          -8},
1312     },
1313     {
1314         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
1315          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
1316          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
1317          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
1318          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
1319          8},
1320         {8,         1414379,   2514989,   4471386,   7945941,   14099648,
1321          19853990,  27870592,  38887072,  53621760,  72308072,  86434552,
1322          100752688, 113511272, 122500216, 125762008, 122500216, 113511272,
1323          100752696, 86434560,  72308072,  53621760,  38887072,  27870588,
1324          19853994,  14099649,  7945942,   4471386,   2514989,   1414379,
1325          8},
1326         {7,        1269741,   2257800,   4014131,   7133370,   12657783,
1327          17823674, 25020474,  34910384,  48138264,  64913664,  77595552,
1328          90449464, 101903328, 109973032, 112901272, 109973040, 101903328,
1329          90449472, 77595544,  64913668,  48138264,  34910384,  25020472,
1330          17823674, 12657783,  7133370,   4014131,   2257800,   1269741,
1331          7},
1332         {5,        907074,   1612921,  2867604,  5095918,  9042434,  12732830,
1333          17874062, 24939188, 34388892, 46372856, 55432508, 64615056, 72797440,
1334          78562256, 80654120, 78562256, 72797432, 64615064, 55432508, 46372860,
1335          34388892, 24939190, 17874060, 12732831, 9042434,  5095919,  2867604,
1336          1612921,  907074,   5},
1337         {3,        554944,   986777,   1754387,  3117658,  5532118,  7789884,
1338          10935266, 15257677, 21038960, 28370692, 33913340, 39531184, 44537124,
1339          48064012, 49343804, 48064012, 44537124, 39531188, 33913344, 28370694,
1340          21038958, 15257676, 10935264, 7789885,  5532118,  3117659,  1754387,
1341          986777,   554944,   3},
1342         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1344         {-5,        -889081,   -1580927,  -2810721,  -4994834,  -8863066,
1345          -12480257, -17519508, -24444488, -33706744, -45452992, -54332928,
1346          -63333332, -71353408, -77003864, -79054240, -77003872, -71353400,
1347          -63333336, -54332932, -45452992, -33706744, -24444488, -17519506,
1348          -12480258, -8863066,  -4994834,  -2810722,  -1580927,  -889081,
1349          -5},
1350         {-8,         -1494381,   -2657245,   -4724303,   -8395391,   -14897174,
1351          -20977002,  -29447048,  -41086664,  -56654796,  -76398072,  -91323608,
1352          -106451616, -119931880, -129429256, -132875552, -129429264, -119931872,
1353          -106451624, -91323608,  -76398072,  -56654796,  -41086660,  -29447048,
1354          -20977004,  -14897174,  -8395392,   -4724303,   -2657245,   -1494381,
1355          -8},
1356     },
1357     {
1358         {8,        1391582,  2470337,   4379084,   7741644,   13613249,
1359          19010161, 26384295, 36257343,  49022539,  64547234,  75833163,
1360          86908844, 96491282, 103089763, 105454176, 103089763, 96491282,
1361          86908853, 75833163, 64547238,  49022539,  36257339,  26384293,
1362          19010161, 13613249, 7741645,   4379084,   2470337,   1391582,
1363          8},
1364         {7,        1304089,  2315260,  4104938,  7259320,  12772176, 17844574,
1365          24783190, 34086927, 46138445, 60827299, 71526405, 82042242, 91152486,
1366          97432080, 99683437, 97432080, 91152486, 82042242, 71526405, 60827303,
1367          46138450, 34086925, 24783185, 17844576, 12772176, 7259321,  4104938,
1368          2315260,  1304089,  7},
1369         {7,        1170970,  2079253,  3687531,  6524358,  11488787, 16063809,
1370          22333018, 30758490, 41703962, 55090551, 64871110, 74507473, 82873663,
1371          88649667, 90722260, 88649667, 82873663, 74507478, 64871105, 55090551,
1372          41703958, 30758487, 22333016, 16063810, 11488788, 6524359,  3687531,
1373          2079253,  1170970,  7},
1374         {5,        836946,   1486730,  2638556,  4674179,  8248466,  11555710,
1375          16108120, 22262872, 30319524, 40263723, 47590046, 54856833, 61203586,
1376          65605295, 67188663, 65605295, 61203577, 54856842, 47590051, 40263727,
1377          30319524, 22262872, 16108119, 11555711, 8248465,  4674180,  2638556,
1378          1486730,  836946,   5},
1379         {3,        512296,   910384,   1616803,  2867623,  5071172,  7118297,
1380          9948958,  13799293, 18879451, 25211243, 29918726, 34622925, 38759520,
1381          41643504, 42683904, 41643508, 38759520, 34622927, 29918726, 25211247,
1382          18879449, 13799293, 9948957,  7118298,  5071172,  2867623,  1616803,
1383          910384,   512296,   3},
1384         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1386         {-5,        -822447,   -1463889,  -2607236,  -4647839,  -8293870,
1387          -11741041, -16605976, -23414447, -32754663, -45010867, -54604470,
1388          -64638843, -73862135, -80529791, -82985440, -80529802, -73862128,
1389          -64638843, -54604470, -45010867, -32754663, -23414447, -16605974,
1390          -11741041, -8293870,  -4647839,  -2607236,  -1463889,  -822447,
1391          -5},
1392         {-8,         -1383579,   -2464327,   -4394383,   -7850861,   -14065144,
1393          -19987153,  -28424958,  -40399126,  -57162277,  -79807994,  -98105864,
1394          -117845265, -140317170, -157927676, -164697636, -157927690, -140317157,
1395          -117845279, -98105864,  -79807994,  -57162277,  -40399126,  -28424956,
1396          -19987155,  -14065143,  -7850863,   -4394383,   -2464328,   -1383579,
1397          -8},
1398     },
1399     {
1400         {6,        1063142,  1884657,  3332697,  5866781,  10242063, 14210621,
1401          19556019, 26583493, 35470370, 46010131, 53508858, 60748887, 66926417,
1402          71137316, 72638124, 71137318, 66926416, 60748892, 53508858, 46010131,
1403          35470372, 26583491, 19556017, 14210622, 10242063, 5866782,  3332697,
1404          1884657,  1063142,  6},
1405         {6,        996412,   1766700,  3125152,  5504595,  9619094,  13357673,
1406          18402690, 25050711, 33480946, 43509461, 50662435, 57581418, 63494088,
1407          67528881, 68967747, 67528880, 63494088, 57581423, 50662440, 43509461,
1408          33480946, 25050711, 18402688, 13357674, 9619095,  5504595,  3125152,
1409          1766700,  996411,   6},
1410         {5,        894855,   1587095,  2808874,  4951864,  8666115,  12050171,
1411          16630010, 22687072, 30401455, 39622952, 46227143, 52634611, 58124051,
1412          61876873, 63216472, 61876878, 58124046, 52634616, 46227147, 39622956,
1413          30401453, 22687072, 16630009, 12050171, 8666116,  4951865,  2808874,
1414          1587094,  894855,   5},
1415         {4,        639871,   1135693,  2012557,  3555941,  6246901,  8715881,
1416          12082770, 16579122, 22374147, 29395768, 34483545, 39463825, 43763098,
1417          46718682, 47776819, 46718682, 43763093, 39463829, 34483548, 29395770,
1418          22374147, 16579122, 12082770, 8715881,  6246901,  3555942,  2012557,
1419          1135693,  639871,   4},
1420         {2,        391832,   695950,   1234845,  2186633,  3856010,  5398615,
1421          7518850,  10379695, 14115083, 18711422, 22088181, 25429856, 28342458,
1422          30359295, 31084165, 30359297, 28342458, 25429858, 22088183, 18711424,
1423          14115081, 10379695, 7518850,  5398616,  3856010,  2186634,  1234845,
1424          695950,   391832,   2},
1425         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1427         {-4,        -630153,   -1122569,  -2002361,  -3579289,  -6418785,
1428          -9130134,  -13002760, -18518365, -26281781, -36854217, -45475104,
1429          -56006945, -67371285, -76348185, -79832098, -76348192, -67371278,
1430          -56006952, -45475104, -36854222, -26281779, -18518367, -13002758,
1431          -9130135,  -6418785,  -3579289,  -2002362,  -1122569,  -630153,
1432          -4},
1433         {-6,         -1060871,   -1892248,   -3382952,   -6072245,   -10973304,
1434          -15727476,  -22653422,  -32821252,  -47830065,  -75342945,  -103710871,
1435          -142829663, -191958009, -239742101, -261023247, -239742154, -191957982,
1436          -142829663, -103710864, -75342952,  -47830065,  -32821248,  -22653422,
1437          -15727478,  -10973304,  -6072246,   -3382952,   -1892248,   -1060871,
1438          -6},
1439     },
1440     {
1441         {3,        574674,   1017796,  1796900,  3154467,  5481590,  7575015,
1442          10370478, 14006828, 18549080, 23865568, 27607848, 31193405, 34233658,
1443          36296899, 37030586, 36296899, 34233658, 31193408, 27607848, 23865571,
1444          18549080, 14006828, 10370477, 7575016,  5481590,  3154468,  1796900,
1445          1017796,  574674,   3},
1446         {3,        538644,   954220,   1685385,  2960884,  5151503,  7126421,
1447          9769579,  13217235, 17537303, 22610486, 26190946, 29627874, 32546498,
1448          34529288, 35234744, 34529288, 32546498, 29627877, 26190948, 22610486,
1449          17537303, 13217235, 9769578,  7126422,  5151503,  2960885,  1685385,
1450          954220,   538644,   3},
1451         {3,        483799,   857386,   1515349,  2665173,  4645760,  6437352,
1452          8843606,  11995830, 15965511, 20652239, 23974315, 27173119, 29896409,
1453          31749793, 32409812, 31749796, 29896409, 27173119, 23974315, 20652239,
1454          15965511, 11995830, 8843605,  6437353,  4645760,  2665173,  1515349,
1455          857386,   483799,   3},
1456         {2,        346044,   613840,   1086712,  1916795,  3357477,  4672194,
1457          6454554,  8816978,  11833772, 15450673, 18047553, 20571855, 22737956,
1458          24220523, 24750056, 24220523, 22737954, 20571857, 18047553, 15450673,
1459          11833773, 8816979,  6454554,  4672195,  3357477,  1916795,  1086712,
1460          613840,   346044,   2},
1461         {1,        211963,   376347,   667357,   1180477,  2077857,  2904213,
1462          4035615,  5554462,  7524805,  9930550,  11685603, 13412725, 14910620,
1463          15943945, 16314576, 15943947, 14910620, 13412727, 11685603, 9930550,
1464          7524804,  5554462,  4035615,  2904213,  2077857,  1180477,  667357,
1465          376347,   211963,   1},
1466         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1468         {-2,        -341283,   -608313,   -1086175,  -1945172,  -3500199,
1469          -4995375,  -7149356,  -10257165, -14719092, -21095208, -27678681,
1470          -35807499, -44718702, -52254129, -55306469, -52254132, -44718696,
1471          -35807502, -27678681, -21095206, -14719093, -10257165, -7149355,
1472          -4995375,  -3500199,  -1945172,  -1086175,  -608313,   -341283,
1473          -2},
1474         {-3,         -574839,    -1026313,   -1838045,   -3309836,   -6017788,
1475          -8678530,   -12620301,  -18566315,  -29617669,  -51387072,  -78419391,
1476          -127027637, -219233301, -378389804, -496424308, -378390018, -219233261,
1477          -127027650, -78419391,  -51387075,  -29617669,  -18566313,  -12620300,
1478          -8678531,   -6017788,   -3309837,   -1838046,   -1026313,   -574839,
1479          -3},
1480     },
1481 };
1482 
1483 const WORD32 ixheaacd_re_weight_Q28[16][8][31] = {
1484     {
1485         {134217728,  133460863,  132868901,  131810111,  129908442,  126470291,
1486          123168465,  118415202,  111553289,  101653880,  87503416,   75055587,
1487          59853017,   41890564,   21615401,   0,          -21615400,  -41890567,
1488          -59853022,  -75055592,  -87503416,  -101653880, -111553289, -118415202,
1489          -123168474, -126470291, -129908442, -131810119, -132868916, -133460855,
1490          -134217736},
1491         {134217728,  133507641,  132951036,  131952906,  130152305,  126873835,
1492          123700894,  119097743,  112392608,  102624793,  88527346,   76037569,
1493          60709668,   42530952,   21959413,   0,          -21959412,  -42530956,
1494          -60709668,  -76037567,  -88527354,  -102624793, -112392608, -119097743,
1495          -123700897, -126873843, -130152314, -131952906, -132951044, -133507625,
1496          -134217736},
1497         {134217728,  133578889,  133076245,  132170971,  130525880,  127495076,
1498          124524084,  120158840,  113706267,  104156340,  90156022,   77607879,
1499          62086135,   43563841,   22515636,   0,          -22515635,  -43563843,
1500          -62086140,  -77607874,  -90156032,  -104156349, -113706267, -120158844,
1501          -124524084, -127495076, -130525880, -132170971, -133076253, -133578881,
1502          -134217736},
1503         {134217728,  133758012,  133391773,  132722523,  131476888,  129093806,
1504          126662688,  122949415,  117214012,  108319953,  94671025,   82017354,
1505          65996439,   46525651,   24120340,   0,          -24120340,  -46525655,
1506          -65996434,  -82017354,  -94671025,  -108319953, -117214003, -122949415,
1507          -126662696, -129093806, -131476888, -132722531, -133391781, -133758012,
1508          -134217736},
1509         {134217728,  133932649,  133700308,  133264733,  132420429,  130705061,
1510          128848242,  125853808,  120950424,  112880929,  99774559,   87108077,
1511          70599795,   50068507,   26060170,   0,          -26060170,  -50068507,
1512          -70599792,  -87108068,  -99774568,  -112880929, -120950424, -125853814,
1513          -128848243, -130705069, -132420430, -133264733, -133700308, -133932641,
1514          -134217728},
1515         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1516          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1517          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1518          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1519          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1520          -134217728},
1521         {134217744,  134655979,  134988239,  135559790,  136513776,  138005964,
1522          139162482,  140361258,  141138020,  140293965,  138371877,  136502930,
1523          126746944,  102804704,  59370579,   0,          -59370579,  -102804704,
1524          -126746957, -136502930, -138371890, -140293970, -141138020, -140361258,
1525          -139162497, -138005964, -136513792, -135559805, -134988239, -134655979,
1526          -134217744},
1527         {134217744,  134962683,  135539295,  136557732,  138346233,  141452453,
1528          144288910,  148135620,  153292676,  175071409,  212428515,  254219167,
1529          323573619,  452387989,  709374650,  0,          -709375876, -452387936,
1530          -323573672, -254219167, -212428528, -175071409, -153292663, -148135606,
1531          -144288924, -141452453, -138346233, -136557732, -135539295, -134962683,
1532          -134217744},
1533     },
1534     {
1535         {134217728,  133517388,  132968168,  131982689,  130203271,  126958371,
1536          123812646,  119241372,  112569794,  102830521,  88745164,   76246965,
1537          60892748,   42668052,   22033146,   0,          -22033144,  -42668057,
1538          -60892753,  -76246965,  -88745164,  -102830531, -112569785, -119241363,
1539          -123812654, -126958371, -130203280, -131982697, -132968160, -133517380,
1540          -134217736},
1541         {134217728,  133560667,  133044207,  132115111,  130430074,  127335394,
1542          124312090,  119884885,  113366063,  103758318,  89731143,   77197214,
1543          61725371,   43292653,   22369435,   0,          -22369434,  -43292655,
1544          -61725371,  -77197209,  -89731143,  -103758309, -113366063, -119884894,
1545          -124312098, -127335394, -130430074, -132115119, -133044215, -133560651,
1546          -134217736},
1547         {134217728,  133626556,  133160120,  132317284,  130777308,  127915335,
1548          125083431,  120883935,  114610226,  105218864,  91295851,   78713132,
1549          63059915,   44297538,   22911785,   0,          -22911782,  -44297538,
1550          -63059910,  -78713137,  -91295851,  -105218855, -114610226, -120883935,
1551          -125083440, -127915335, -130777308, -132317293, -133160128, -133626540,
1552          -134217736},
1553         {134217728,  133792202,  133452102,  132828323,  131660297,  129405046,
1554          127082463,  123503081,  117919375,  109170723,  95610055,   82945267,
1555          66828178,   47161136,   24466610,   0,          -24466610,  -47161136,
1556          -66828178,  -82945267,  -95610064,  -109170725, -117919366, -123503090,
1557          -127082486, -129405039, -131660312, -132828331, -133452110, -133792210,
1558          -134217736},
1559         {134217728,  133953625,  133737455,  133330222,  132534982,  130902453,
1560          129118100,  126216242,  121423078,  113467678,  100443871,  87784612,
1561          71219199,   50550149,   26325706,   0,          -26325706,  -50550154,
1562          -71219202,  -87784612,  -100443871, -113467678, -121423078, -126216226,
1563          -129118109, -130902453, -132534997, -133330214, -133737456, -133953625,
1564          -134217728},
1565         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1566          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1567          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1568          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1569          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1570          -134217728},
1571         {134217744,  134621813,  134927051,  135449572,  136313400,  137636071,
1572          138622650,  139566056,  139956832,  138536878,  133180717,  129783677,
1573          118675624,  94628804,   53853292,   0,          -53853295,  -94628804,
1574          -118675637, -129783677, -133180717, -138536864, -139956832, -139566056,
1575          -138622666, -137636071, -136313400, -135449556, -134927051, -134621813,
1576          -134217744},
1577         {134217744,  134904883,  135435203,  136368502,  137996233,  140785045,
1578          143282261,  146575942,  150720567,  165849956,  193015182,  218765195,
1579          250475781,  276007380,  232012261,  0,          -232012394, -276007380,
1580          -250475807, -218765195, -193015209, -165849956, -150720553, -146575942,
1581          -143282270, -140785029, -137996233, -136368502, -135435219, -134904883,
1582          -134217744},
1583     },
1584     {
1585         {134217728,  133678764,  133252044,  132477911,  131054012,  128379841,
1586          125703998,  121692333,  115624163,  106419205,  92593586,   79977946,
1587          64179408,   45144170,   23370016,   0,          -23370016,  -45144175,
1588          -64179408,  -79977946,  -92593586,  -106419196, -115624163, -121692324,
1589          -125704006, -128379848, -131054020, -132477902, -133252052, -133678756,
1590          -134217736},
1591         {134217728,  133712005,  133310620,  132580354,  131230923,  128677921,
1592          126103542,  122214988,  116283221,  107204353,  93448326,   80814826,
1593          64923233,   45708586,   23676171,   0,          -23676171,  -45708586,
1594          -64923233,  -80814831,  -93448326,  -107204344, -116283221, -122214988,
1595          -126103542, -128677921, -131230923, -132580362, -133310620, -133711997,
1596          -134217736},
1597         {134217728,  133762594,  133399847,  132736656,  131501355,  129135285,
1598          126718571,  123023009,  117307580,  108432548,  94794977,   82139614,
1599          66105841,   46609132,   24165789,   0,          -24165786,  -46609132,
1600          -66105847,  -82139614,  -94794987,  -108432548, -117307580, -123023009,
1601          -126718574, -129135283, -131501371, -132736656, -133399839, -133762594,
1602          -134217736},
1603         {134217728,  133889704,  133624356,  133130995,  132186884,  130303885,
1604          128301191,  125121697,  120000061,  111707953,  98445440,   85770865,
1605          69380893,   49124191,   25540859,   0,          -25540857,  -49124196,
1606          -69380888,  -85770874,  -98445440,  -111707944, -120000061, -125121697,
1607          -128301191, -130303893, -132186900, -133130995, -133624356, -133889712,
1608          -134217728},
1609         {134217728,  134013488,  133843425,  133517257,  132862879,  131469447,
1610          129895964,  127265729,  122800030,  115190043,  102426301,  89801131,
1611          73076637,   52001860,   27128796,   0,          -27128794,  -52001864,
1612          -73076641,  -89801131,  -102426301, -115190039, -122800030, -127265729,
1613          -129895972, -131469447, -132862879, -133517265, -133843441, -134013480,
1614          -134217728},
1615         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1616          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1617          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1618          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1619          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1620          -134217728},
1621         {134217728,  134524667,  134753225,  135137152,  135747532,  136598811,
1622          137119080,  137373516,  136748951,  133873231,  125921352,  115399244,
1623          100457884,  77154931,   42583862,   0,          -42583862,  -77154938,
1624          -100457891, -115399244, -125921369, -133873231, -136748936, -137373501,
1625          -137119096, -136598811, -135747548, -135137152, -134753241, -134524667,
1626          -134217728},
1627         {134217744,  134740697,  135140165,  135833916,  137013874,  138934982,
1628          140527025,  142390637,  144197099,  144950624,  153156303,  156579063,
1629          152419543,  130790210,  79555611,   0,          -79555625,  -130790210,
1630          -152419556, -156579063, -153156316, -144950610, -144197089, -142390622,
1631          -140527040, -138934982, -137013890, -135833916, -135140150, -134740697,
1632          -134217744},
1633     },
1634     {
1635         {134217728,  133921369,  133680325,  133229561,  132358967,  130599331,
1636          128703866,  125660282,  120698624,  112569282,  99420258,   86750815,
1637          70273432,   49815216,   25920711,   0,          -25920711,  -49815221,
1638          -70273437,  -86750806,  -99420256,  -112569274, -120698624, -125660282,
1639          -128703883, -130599348, -132358983, -133229561, -133680325, -133921361,
1640          -134217728},
1641         {134217728,  133939441,  133712333,  133285932,  132457505,  130768900,
1642          128935466,  125970874,  121102931,  113070012,  99989913,   87325519,
1643          70798672,   50223025,   26145310,   0,          -26145308,  -50223025,
1644          -70798677,  -87325519,  -99989913,  -113070003, -121102931, -125970860,
1645          -128935481, -130768908, -132457513, -133285932, -133712341, -133939433,
1646          -134217728},
1647         {134217728,  133966965,  133761027,  133371807,  132607806,  131028081,
1648          129290134,  126447733,  121725737,  113844587,  100875426,  88221963,
1649          71620613,   50862941,   26498391,   0,          -26498388,  -50862946,
1650          -71620620,  -88221963,  -100875417, -113844587, -121725728, -126447716,
1651          -129290134, -131028089, -132607807, -133371815, -133761036, -133966957,
1652          -134217728},
1653         {134217728,  134036022,  133883399,  133587872,  132986916,  131684800,
1654          130192440,  127667609,  123330628,  115859003,  103203522,  90597004,
1655          73814421,   52581631,   27450709,   0,          -27450709,  -52581635,
1656          -73814421,  -90597004,  -103203522, -115858986, -123330612, -127667609,
1657          -130192441, -131684792, -132986917, -133587864, -133883399, -134036014,
1658          -134217728},
1659         {134217728,  134103202,  134002513,  133798640,  133358145,  132331971,
1660          131086862,  128886498,  124951227,  117920856,  105625498,  93096793,
1661          76149690,   54428903,   28481041,   0,          -28481039,  -54428903,
1662          -76149698,  -93096793,  -105625498, -117920856, -124951227, -128886489,
1663          -131086879, -132331963, -133358153, -133798640, -134002521, -134103194,
1664          -134217728},
1665         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1666          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1667          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1668          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1669          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1670          -134217728},
1671         {134217728,  134379666,  134494354,  134673574,  134913679,  135089351,
1672          134957528,  134277005,  132335084,  127697337,  117706196,  106054041,
1673          88737129,   64741142,   34377364,   0,          -34377364,  -64741149,
1674          -88737144,  -106054041, -117706196, -127697337, -132335084, -134276990,
1675          -134957528, -135089351, -134913679, -134673590, -134494354, -134379666,
1676          -134217728},
1677         {134217728,  134496089,  134702142,  135045469,  135582090,  136297572,
1678          136685209,  136746798,  135844838,  132586209,  124167611,  113363711,
1679          96250730,   73172752,   40110146,   0,          -40110146,  -73172752,
1680          -96250737,  -113363711, -124167625, -132586192, -135844823, -136746798,
1681          -136685224, -136297557, -135582122, -135045469, -134702142, -134496073,
1682          -134217728},
1683     },
1684     {
1685         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1686          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1687          80326624,   57781472,   30369938,   0,          -30369936,  -57781476,
1688          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1689          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1690          -134217728},
1691         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1692          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1693          80326624,   57781472,   30369938,   0,          -30369936,  -57781476,
1694          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1695          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1696          -134217728},
1697         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1698          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1699          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1700          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1701          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1702          -134217728},
1703         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1704          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1705          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1706          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1707          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1708          -134217728},
1709         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1710          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1711          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1712          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1713          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1714          -134217728},
1715         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1716          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1717          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1718          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1719          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1720          -134217728},
1721         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1722          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1723          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1724          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1725          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1726          -134217728},
1727         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1728          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1729          80326624,   57781472,   30369938,   0,          -30369936,  -57781479,
1730          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1731          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1732          -134217728},
1733     },
1734     {
1735         {134217728,  134498993,  134707335,  135054789,  135598900,  136328115,
1736          136729141,  136810142,  135935959,  132715402,  124342638,  113565820,
1737          96534651,   73558852,   40348512,   0,          -40348509,  -73558852,
1738          -96534651,  -113565820, -124342622, -132715402, -135935959, -136810127,
1739          -136729141, -136328115, -135598916, -135054789, -134707335, -134498977,
1740          -134217728},
1741         {134217728,  134480680,  134674623,  134996162,  135493192,  136136017,
1742          136453048,  136412541,  135364880,  131907703,  123252219,  112310293,
1743          95147250,   71192218,   38892389,   0,          -38892389,  -71192225,
1744          -95147244,  -112310293, -123252233, -131907703, -135364880, -136412525,
1745          -136453064, -136136017, -135493192, -134996162, -134674623, -134480664,
1746          -134217728},
1747         {134217728,  134452852,  134624907,  134907111,  135332868,  135845392,
1748          136036318,  135814387,  134509950,  130707034,  121647428,  110478072,
1749          93245003,   68600479,   36868706,   0,          -36868706,  -68600486,
1750          -93245010,  -110478072, -121647428, -130707019, -134509933, -135814387,
1751          -136036318, -135845392, -135332868, -134907111, -134624907, -134452836,
1752          -134217728},
1753         {134217728,  134383129,  134500515,  134684594,  134933403,  135124815,
1754          135007943,  134348491,  132435517,  127834944,  117883926,  106251314,
1755          88935676,   64909118,   34475644,   0,          -34475641,  -64909118,
1756          -88935672,  -106251314, -117883941, -127834944, -132435502, -134348484,
1757          -135007943, -135124799, -134933403, -134684610, -134500515, -134383113,
1758          -134217728},
1759         {134217728,  134315558,  134380057,  134469604,  134548899,  134436000,
1760          134031448,  132969665,  130510521,  125220021,  114545007,  102579384,
1761          85276062,   61841165,   32692547,   0,          -32692543,  -61841172,
1762          -85276062,  -102579384, -114545015, -125220021, -130510514, -132969665,
1763          -134031463, -134436000, -134548899, -134469604, -134380057, -134315558,
1764          -134217728},
1765         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1766          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1767          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1768          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1769          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1770          -134217728},
1771         {134217728,  134039455,  133889472,  133598612,  133005816,  131717634,
1772          130237695,  127729079,  123411911,  115961736,  103323251,  90719885,
1773          73928581,   52671501,   27500671,   0,          -27500669,  -52671505,
1774          -73928581,  -90719885,  -103323259, -115961741, -123411903, -127729055,
1775          -130237711, -131717634, -133005816, -133598612, -133889472, -134039447,
1776          -134217728},
1777         {134217728,  133924242,  133685411,  133238504,  132374593,  130626201,
1778          128740547,  125709420,  120762534,  112648312,  99510030,   86841272,
1779          70356024,   49879283,   25955974,   0,          -25955971,  -49879287,
1780          -70356024,  -86841272,  -99510039,  -112648312, -120762526, -125709412,
1781          -128740555, -130626209, -132374601, -133238504, -133685403, -133924234,
1782          -134217728},
1783     },
1784     {
1785         {134217744,  134746091,  135149853,  135851434,  137045902,  138994799,
1786          140615296,  142522879,  144398695,  145263100,  154205556,  158059463,
1787          154411290,  133097557,  81316205,   0,          -81316205,  -133097543,
1788          -154411303, -158059463, -154205556, -145263100, -144398695, -142522879,
1789          -140615296, -138994799, -137045918, -135851434, -135149837, -134746091,
1790          -134217744},
1791         {134217744,  134712087,  135088825,  135741208,  136844475,  138619336,
1792          140061990,  141695888,  143142475,  143327466,  147825370,  149173983,
1793          142666223,  119784477,  71366265,   0,          -71366265,  -119784477,
1794          -142666263, -149173983, -147825383, -143327466, -143142475, -141695873,
1795          -140062006, -138619320, -136844467, -135741224, -135088825, -134712087,
1796          -134217744},
1797         {134217744,  134660400,  134996180,  135574064,  136539790,  138054064,
1798          139232828,  140465192,  141293136,  140526367,  139073637,  137423970,
1799          127872797,  103967564,  60168572,   0,          -60168579,  -103967564,
1800          -127872810, -137423970, -139073650, -140526353, -141293121, -140465192,
1801          -139232828, -138054064, -136539805, -135574064, -134996180, -134660400,
1802          -134217744},
1803         {134217728,  134531071,  134764682,  135157698,  135784674,  136666568,
1804          137216832,  137515087,  136953956,  134166704,  126324479,  115870417,
1805          101486338,  78107065,   43180376,   0,          -43180372,  -78107065,
1806          -101486344, -115870417, -126324479, -134166690, -136953956, -137515087,
1807          -137216847, -136666568, -135784674, -135157698, -134764682, -134531071,
1808          -134217728},
1809         {134217728,  134405853,  134541061,  134757061,  135063333,  135358653,
1810          135340907,  134821548,  133101766,  128751135,  119073216,  107576641,
1811          90275394,   66047286,   35143667,   0,          -35143664,  -66047286,
1812          -90275401,  -107576641, -119073231, -128751120, -133101751, -134821548,
1813          -135340923, -135358653, -135063349, -134757077, -134541061, -134405853,
1814          -134217728},
1815         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1816          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1817          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1818          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1819          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1820          -134217728},
1821         {134217728,  133896028,  133635530,  133150648,  132221176,  130362696,
1822          128381245,  125228644,  120138520,  111878277,  98637718,   85963798,
1823          69556315,   49259814,   25615335,   0,          -25615335,  -49259818,
1824          -69556315,  -85963798,  -98637718,  -111878269, -120138520, -125228635,
1825          -128381253, -130362689, -132221184, -133150656, -133635522, -133896020,
1826          -134217728},
1827         {134217728,  133684024,  133261330,  132494150,  131082043,  128427016,
1828          125767162,  121774846,  115728035,  106542671,  92727700,   80109047,
1829          64295775,   45232367,   23417819,   0,          -23417819,  -45232367,
1830          -64295774,  -80109052,  -92727700,  -106542671, -115728027, -121774851,
1831          -125767170, -128427016, -131082043, -132494166, -133261346, -133684032,
1832          -134217736},
1833     },
1834     {
1835         {134217744,  134911968,  135447966,  136391663,  138039000,  140866367,
1836          143404554,  146764521,  151021632,  166927889,  195202182,  222570595,
1837          257610421,  289862500,  252874234,  0,          -252874341, -289862420,
1838          -257610501, -222570621, -195202209, -166927876, -151021632, -146764507,
1839          -143404554, -140866352, -138039000, -136391663, -135447966, -134911968,
1840          -134217744},
1841         {134217744,  134867355,  135367738,  136245965,  137770239,  140356424,
1842          142639355,  145588557,  149154344,  160361636,  182196342,  200588382,
1843          218415341,  220218448,  161428236,  0,          -161428263, -220218448,
1844          -218415395, -200588409, -182196329, -160361623, -149154344, -145588542,
1845          -142639355, -140356409, -137770238, -136245981, -135367738, -134867355,
1846          -134217744},
1847         {134217744,  134799630,  135245963,  136025282,  137364449,  139591338,
1848          141498666,  143852961,  146442545,  151309130,  165431889,  174391809,
1849          177370022,  161281089,  104146144,  0,          -104146171, -161281089,
1850          -177370049, -174391796, -165431903, -151309116, -146442531, -143852947,
1851          -141498681, -139591338, -137364449, -136025297, -135245963, -134799614,
1852          -134217744},
1853         {134217744,  134630198,  134942075,  135476620,  136362516,  137726655,
1854          138754657,  139760139,  140244217,  138962344,  134419383,  131372064,
1855          120561410,  96514144,   55111265,   0,          -55111262,  -96514144,
1856          -120561424, -131372064, -134419383, -138962344, -140244217, -139760124,
1857          -138754673, -137726655, -136362532, -135476604, -134942075, -134630198,
1858          -134217744},
1859         {134217728,  134466320,  134648961,  134950176,  135410401,  135985835,
1860          136237563,  136102933,  134921759,  131284100,  122416352,  111353663,
1861          94151405,   69439052,   37821289,   0,          -37821289,  -69439058,
1862          -94151405,  -111353655, -122416359, -131284100, -134921744, -136102933,
1863          -136237563, -135985836, -135410401, -134950176, -134648961, -134466304,
1864          -134217728},
1865         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1866          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1867          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1868          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1869          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1870          -134217728},
1871         {134217728,  133800456,  133466639,  132853833,  131704577,  129480322,
1872          127184162,  123637500,  118091100,  109378569,  95840339,   83173415,
1873          67033158,   47318062,   24552229,   0,          -24552227,  -47318062,
1874          -67033165,  -83173405,  -95840348,  -109378569, -118091100, -123637492,
1875          -127184170, -129480322, -131704577, -132853833, -133466647, -133800448,
1876          -134217736},
1877         {134217728,  133524250,  132980227,  132003691,  130239201,  127017985,
1878          123891524,  119342831,  112695071,  102976138,  88899495,   76395462,
1879          61022664,   42765392,   22085513,   0,          -22085512,  -42765395,
1880          -61022669,  -76395462,  -88899495,  -102976129, -112695062, -119342822,
1881          -123891527, -127017985, -130239210, -132003691, -132980227, -133524250,
1882          -134217736},
1883     },
1884     {
1885         {134217744,  134970359,  135553135,  136582894,  138392877,  141541743,
1886          144424094,  148346340,  153978836,  176372729,  215302062,  259806420,
1887          336609085,  494304735,  975787497,  -858993460, -975789097, -494304522,
1888          -336609192, -259806447, -215302075, -176372702, -153978836, -148346340,
1889          -144424109, -141541728, -138392877, -136582894, -135553135, -134970359,
1890          -134217744},
1891         {134217744,  134922022,  135466091,  136424566,  138099800,  140982070,
1892          143578731,  147033572,  151452343,  168483023,  198394635,  228208128,
1893          268470634,  312112739,  289892500,  0,          -289892633, -312112739,
1894          -268470714, -228208155, -198394649, -168483009, -151452340, -147033558,
1895          -143578731, -140982070, -138099815, -136424566, -135466075, -134922022,
1896          -134217744},
1897         {134217744,  134848627,  135333994,  136184803,  137657591,  140143456,
1898          142320970,  145102040,  148388972,  157750196,  177226889,  192583689,
1899          205271595,  199995929,  140105690,  0,          -140105757, -199995915,
1900          -205271635, -192583689, -177226916, -157750183, -148388958, -145102025,
1901          -142320985, -140143456, -137657591, -136184803, -135334009, -134848611,
1902          -134217744},
1903         {134217744,  134665058,  135004509,  135589124,  136567188,  138104822,
1904          139307072,  140574980,  141457125,  140772491,  139820837,  138408050,
1905          129080970,  105221711,  61032985,   0,          -61032985,  -105221711,
1906          -129080997, -138408050, -139820850, -140772477, -141457125, -140574962,
1907          -139307072, -138104806, -136567205, -135589140, -135004525, -134665058,
1908          -134217744},
1909         {134217728,  134487552,  134686918,  135018188,  135532903,  136208162,
1910          136556685,  136561648,  135578778,  132209698,  123658874,  112777500,
1911          95635765,   72064052,   39427432,   0,          -39427432,  -72064065,
1912          -95635772,  -112777498, -123658874, -132209683, -135578762, -136561648,
1913          -136556685, -136208146, -135532903, -135018204, -134686918, -134487552,
1914          -134217728},
1915         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1916          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1917          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1918          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1919          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1920          -134217728},
1921         {134217728,  133766932,  133407501,  132750065,  131524599,  129174690,
1922          126771678,  123092977,  117396601,  108539737,  94913060,   82256151,
1923          66210183,   46688771,   24209158,   0,          -24209156,  -46688776,
1924          -66210179,  -82256150,  -94913060,  -108539737, -117396605, -123092969,
1925          -126771680, -129174690, -131524607, -132750073, -133407493, -133766932,
1926          -134217736},
1927         {134217728,  133468277,  132881938,  131832762,  129947063,  126534099,
1928          123252524,  118522767,  111685262,  101806166,  87663578,   75208916,
1929          59986579,   41990286,   21668928,   0,          -21668926,  -41990288,
1930          -59986579,  -75208922,  -87663568,  -101806156, -111685259, -118522767,
1931          -123252524, -126534093, -129947064, -131832762, -132881938, -133468277,
1932          -134217736},
1933     },
1934     {
1935         {134217744,  134911968,  135447966,  136391663,  138039000,  140866367,
1936          143404554,  146764521,  151021632,  166927889,  195202182,  222570595,
1937          257610421,  289862500,  252874234,  0,          -252874341, -289862420,
1938          -257610501, -222570621, -195202209, -166927876, -151021632, -146764507,
1939          -143404554, -140866352, -138039000, -136391663, -135447966, -134911968,
1940          -134217744},
1941         {134217744,  134867355,  135367738,  136245965,  137770239,  140356424,
1942          142639355,  145588557,  149154344,  160361636,  182196342,  200588382,
1943          218415341,  220218448,  161428236,  0,          -161428263, -220218448,
1944          -218415395, -200588409, -182196329, -160361623, -149154344, -145588542,
1945          -142639355, -140356409, -137770238, -136245981, -135367738, -134867355,
1946          -134217744},
1947         {134217744,  134799630,  135245963,  136025282,  137364449,  139591338,
1948          141498666,  143852961,  146442545,  151309130,  165431889,  174391809,
1949          177370022,  161281089,  104146144,  0,          -104146171, -161281089,
1950          -177370049, -174391796, -165431903, -151309116, -146442531, -143852947,
1951          -141498681, -139591338, -137364449, -136025297, -135245963, -134799614,
1952          -134217744},
1953         {134217744,  134630198,  134942075,  135476620,  136362516,  137726655,
1954          138754657,  139760139,  140244217,  138962344,  134419383,  131372064,
1955          120561410,  96514144,   55111265,   0,          -55111262,  -96514144,
1956          -120561424, -131372064, -134419383, -138962344, -140244217, -139760124,
1957          -138754673, -137726655, -136362532, -135476604, -134942075, -134630198,
1958          -134217744},
1959         {134217728,  134466320,  134648961,  134950176,  135410401,  135985835,
1960          136237563,  136102933,  134921759,  131284100,  122416352,  111353663,
1961          94151405,   69439052,   37821289,   0,          -37821289,  -69439058,
1962          -94151405,  -111353655, -122416359, -131284100, -134921744, -136102933,
1963          -136237563, -135985836, -135410401, -134950176, -134648961, -134466304,
1964          -134217728},
1965         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
1966          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
1967          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
1968          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
1969          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
1970          -134217728},
1971         {134217728,  133800456,  133466639,  132853833,  131704577,  129480322,
1972          127184162,  123637500,  118091100,  109378569,  95840339,   83173415,
1973          67033158,   47318062,   24552229,   0,          -24552227,  -47318062,
1974          -67033165,  -83173405,  -95840348,  -109378569, -118091100, -123637492,
1975          -127184170, -129480322, -131704577, -132853833, -133466647, -133800448,
1976          -134217736},
1977         {134217728,  133524250,  132980227,  132003691,  130239201,  127017985,
1978          123891524,  119342831,  112695071,  102976138,  88899495,   76395462,
1979          61022664,   42765392,   22085513,   0,          -22085512,  -42765395,
1980          -61022669,  -76395462,  -88899495,  -102976129, -112695062, -119342822,
1981          -123891527, -127017985, -130239210, -132003691, -132980227, -133524250,
1982          -134217736},
1983     },
1984     {
1985         {134217744,  134746091,  135149853,  135851434,  137045902,  138994799,
1986          140615296,  142522879,  144398709,  145263103,  154205570,  158059476,
1987          154411303,  133097570,  81316211,   0,          -81316218,  -133097557,
1988          -154411316, -158059490, -154205570, -145263103, -144398709, -142522879,
1989          -140615296, -138994799, -137045918, -135851434, -135149837, -134746091,
1990          -134217744},
1991         {134217744,  134712087,  135088825,  135741208,  136844475,  138619336,
1992          140061990,  141695888,  143142475,  143327470,  147825383,  149173983,
1993          142666250,  119784490,  71366272,   0,          -71366278,  -119784490,
1994          -142666277, -149173996, -147825383, -143327466, -143142475, -141695873,
1995          -140062006, -138619320, -136844467, -135741224, -135088825, -134712087,
1996          -134217744},
1997         {134217744,  134660400,  134996180,  135574064,  136539790,  138054064,
1998          139232828,  140465192,  141293136,  140526367,  139073637,  137423983,
1999          127872810,  103967578,  60168579,   0,          -60168585,  -103967578,
2000          -127872810, -137423970, -139073650, -140526353, -141293121, -140465192,
2001          -139232843, -138054064, -136539805, -135574064, -134996180, -134660400,
2002          -134217744},
2003         {134217728,  134531071,  134764682,  135157698,  135784674,  136666568,
2004          137216832,  137515087,  136953956,  134166704,  126324470,  115870417,
2005          101486344,  78107071,   43180379,   0,          -43180376,  -78107078,
2006          -101486351, -115870417, -126324479, -134166695, -136953956, -137515087,
2007          -137216847, -136666568, -135784674, -135157698, -134764682, -134531071,
2008          -134217728},
2009         {134217728,  134405853,  134541061,  134757061,  135063333,  135358653,
2010          135340907,  134821548,  133101766,  128751127,  119073224,  107576641,
2011          90275401,   66047293,   35143667,   0,          -35143667,  -66047293,
2012          -90275401,  -107576641, -119073231, -128751127, -133101751, -134821548,
2013          -135340923, -135358653, -135063349, -134757077, -134541061, -134405853,
2014          -134217728},
2015         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2016          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2017          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2018          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2019          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2020          -134217728},
2021         {134217728,  133896028,  133635530,  133150648,  132221176,  130362696,
2022          128381245,  125228635,  120138520,  111878281,  98637718,   85963798,
2023          69556315,   49259814,   25615335,   0,          -25615335,  -49259818,
2024          -69556310,  -85963798,  -98637709,  -111878269, -120138520, -125228635,
2025          -128381253, -130362689, -132221184, -133150656, -133635522, -133896020,
2026          -134217728},
2027         {134217728,  133684024,  133261330,  132494150,  131082043,  128427016,
2028          125767162,  121774843,  115728035,  106542671,  92727700,   80109047,
2029          64295775,   45232366,   23417819,   0,          -23417819,  -45232366,
2030          -64295775,  -80109047,  -92727700,  -106542662, -115728027, -121774851,
2031          -125767170, -128427016, -131082043, -132494166, -133261346, -133684032,
2032          -134217736},
2033     },
2034     {
2035         {134217728,  134498993,  134707335,  135054789,  135598916,  136328115,
2036          136729141,  136810142,  135935974,  132715400,  124342636,  113565825,
2037          96534671,   73558872,   40348522,   0,          -40348522,  -73558878,
2038          -96534671,  -113565825, -124342636, -132715400, -135935959, -136810142,
2039          -136729157, -136328114, -135598899, -135054789, -134707335, -134498977,
2040          -134217728},
2041         {134217728,  134480680,  134674623,  134996162,  135493192,  136136017,
2042          136453048,  136412541,  135364880,  131907703,  123252239,  112310291,
2043          95147257,   71192238,   38892402,   0,          -38892399,  -71192238,
2044          -95147250,  -112310298, -123252239, -131907703, -135364895, -136412525,
2045          -136453064, -136136017, -135493192, -134996146, -134674623, -134480664,
2046          -134217728},
2047         {134217728,  134452852,  134624907,  134907111,  135332868,  135845392,
2048          136036318,  135814387,  134509933,  130707049,  121647427,  110478071,
2049          93245017,   68600483,   36868716,   0,          -36868712,  -68600489,
2050          -93245017,  -110478064, -121647443, -130707034, -134509933, -135814387,
2051          -136036318, -135845392, -135332883, -134907111, -134624907, -134452836,
2052          -134217728},
2053         {134217728,  134383129,  134500499,  134684594,  134933403,  135124815,
2054          135007943,  134348507,  132435517,  127834959,  117883933,  106251321,
2055          88935672,   64909116,   34475648,   0,          -34475644,  -64909116,
2056          -88935679,  -106251321, -117883933, -127834944, -132435517, -134348491,
2057          -135007943, -135124799, -134933403, -134684610, -134500515, -134383113,
2058          -134217728},
2059         {134217728,  134315558,  134380057,  134469604,  134548899,  134436000,
2060          134031448,  132969681,  130510521,  125220028,  114545015,  102579384,
2061          85276069,   61841172,   32692547,   0,          -32692547,  -61841176,
2062          -85276077,  -102579384, -114545015, -125220021, -130510521, -132969665,
2063          -134031463, -134436000, -134548899, -134469604, -134380057, -134315558,
2064          -134217728},
2065         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2066          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2067          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2068          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2069          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2070          -134217728},
2071         {134217728,  134039455,  133889472,  133598612,  133005800,  131717634,
2072          130237695,  127729079,  123411911,  115961741,  103323251,  90719885,
2073          73928580,   52671496,   27500669,   0,          -27500669,  -52671501,
2074          -73928580,  -90719885,  -103323262, -115961741, -123411903, -127729055,
2075          -130237711, -131717634, -133005808, -133598612, -133889472, -134039455,
2076          -134217728},
2077         {134217728,  133924242,  133685411,  133238504,  132374593,  130626201,
2078          128740547,  125709420,  120762531,  112648312,  99510021,   86841264,
2079          70356022,   49879278,   25955971,   0,          -25955969,  -49879283,
2080          -70356027,  -86841273,  -99510021,  -112648303, -120762517, -125709412,
2081          -128740555, -130626208, -132374601, -133238504, -133685403, -133924234,
2082          -134217728},
2083     },
2084     {
2085         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2086          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2087          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2088          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2089          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2090          -134217728},
2091         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2092          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2093          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2094          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2095          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2096          -134217728},
2097         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2098          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2099          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2100          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2101          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2102          -134217728},
2103         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2104          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2105          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2106          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2107          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2108          -134217728},
2109         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2110          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2111          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2112          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2113          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2114          -134217728},
2115         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2116          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2117          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2118          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2119          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2120          -134217728},
2121         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2122          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2123          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2124          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2125          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2126          -134217728},
2127         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2128          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2129          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2130          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2131          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2132          -134217728},
2133     },
2134     {
2135         {134217728,  133921369,  133680325,  133229561,  132358967,  130599331,
2136          128703866,  125660282,  120698624,  112569265,  99420249,   86750797,
2137          70273427,   49815207,   25920708,   0,          -25920706,  -49815216,
2138          -70273432,  -86750797,  -99420258,  -112569265, -120698624, -125660282,
2139          -128703874, -130599331, -132358983, -133229561, -133680325, -133921361,
2140          -134217728},
2141         {134217728,  133939441,  133712333,  133285932,  132457505,  130768900,
2142          128935465,  125970874,  121102931,  113070012,  99989904,   87325519,
2143          70798668,   50223016,   26145306,   0,          -26145303,  -50223020,
2144          -70798668,  -87325510,  -99989904,  -113070007, -121102923, -125970860,
2145          -128935481, -130768900, -132457513, -133285939, -133712341, -133939433,
2146          -134217728},
2147         {134217728,  133966965,  133761027,  133371807,  132607806,  131028081,
2148          129290132,  126447716,  121725742,  113844587,  100875428,  88221954,
2149          71620616,   50862942,   26498391,   0,          -26498387,  -50862942,
2150          -71620616,  -88221954,  -100875420, -113844579, -121725728, -126447716,
2151          -129290134, -131028089, -132607814, -133371815, -133761036, -133966957,
2152          -134217728},
2153         {134217728,  134036022,  133883399,  133587872,  132986916,  131684800,
2154          130192440,  127667609,  123330612,  115858986,  103203513,  90596996,
2155          73814421,   52581631,   27450707,   0,          -27450704,  -52581631,
2156          -73814421,  -90596996,  -103203522, -115858986, -123330612, -127667609,
2157          -130192441, -131684792, -132986917, -133587864, -133883399, -134036014,
2158          -134217728},
2159         {134217728,  134103202,  134002513,  133798640,  133358145,  132331971,
2160          131086862,  128886498,  124951211,  117920856,  105625489,  93096793,
2161          76149699,   54428898,   28481041,   0,          -28481039,  -54428898,
2162          -76149699,  -93096785,  -105625498, -117920856, -124951211, -128886489,
2163          -131086879, -132331963, -133358153, -133798640, -134002521, -134103194,
2164          -134217728},
2165         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2166          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2167          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2168          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2169          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2170          -134217728},
2171         {134217728,  134379666,  134494354,  134673574,  134913679,  135089351,
2172          134957528,  134277005,  132335084,  127697337,  117706188,  106054041,
2173          88737144,   64741149,   34377366,   0,          -34377367,  -64741156,
2174          -88737144,  -106054041, -117706196, -127697337, -132335084, -134276990,
2175          -134957528, -135089351, -134913695, -134673590, -134494354, -134379666,
2176          -134217728},
2177         {134217728,  134496089,  134702142,  135045469,  135582090,  136297572,
2178          136685224,  136746798,  135844838,  132586207,  124167625,  113363717,
2179          96250743,   73172765,   40110159,   0,          -40110156,  -73172772,
2180          -96250750,  -113363724, -124167639, -132586207, -135844838, -136746798,
2181          -136685224, -136297572, -135582122, -135045469, -134702142, -134496073,
2182          -134217728},
2183     },
2184     {
2185         {134217728,  133678764,  133252044,  132477911,  131054012,  128379841,
2186          125703998,  121692333,  115624181,  106419205,  92593586,   79977943,
2187          64179408,   45144170,   23370016,   0,          -23370016,  -45144171,
2188          -64179414,  -79977946,  -92593586,  -106419205, -115624163, -121692333,
2189          -125704006, -128379841, -131054020, -132477902, -133252052, -133678756,
2190          -134217736},
2191         {134217728,  133712005,  133310620,  132580354,  131230923,  128677921,
2192          126103542,  122214988,  116283239,  107204353,  93448335,   80814831,
2193          64923238,   45708586,   23676173,   0,          -23676171,  -45708591,
2194          -64923238,  -80814831,  -93448335,  -107204344, -116283230, -122214988,
2195          -126103542, -128677921, -131230923, -132580362, -133310620, -133711997,
2196          -134217736},
2197         {134217728,  133762594,  133399847,  132736656,  131501355,  129135285,
2198          126718565,  123023009,  117307580,  108432557,  94794977,   82139615,
2199          66105845,   46609132,   24165789,   0,          -24165786,  -46609132,
2200          -66105845,  -82139614,  -94794987,  -108432548, -117307580, -123023009,
2201          -126718574, -129135285, -131501371, -132736656, -133399839, -133762594,
2202          -134217736},
2203         {134217728,  133889704,  133624356,  133130995,  132186884,  130303885,
2204          128301191,  125121697,  120000061,  111707953,  98445440,   85770865,
2205          69380893,   49124196,   25540859,   0,          -25540856,  -49124196,
2206          -69380893,  -85770874,  -98445449,  -111707944, -120000061, -125121697,
2207          -128301191, -130303893, -132186900, -133130995, -133624357, -133889712,
2208          -134217728},
2209         {134217728,  134013488,  133843425,  133517257,  132862879,  131469448,
2210          129895964,  127265729,  122800030,  115190043,  102426301,  89801131,
2211          73076634,   52001860,   27128796,   0,          -27128794,  -52001864,
2212          -73076638,  -89801131,  -102426301, -115190039, -122800030, -127265729,
2213          -129895972, -131469447, -132862879, -133517265, -133843441, -134013480,
2214          -134217728},
2215         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2216          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2217          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2218          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2219          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2220          -134217728},
2221         {134217728,  134524667,  134753225,  135137152,  135747532,  136598811,
2222          137119081,  137373516,  136748951,  133873234,  125921352,  115399246,
2223          100457878,  77154925,   42583859,   0,          -42583859,  -77154925,
2224          -100457884, -115399246, -125921369, -133873234, -136748936, -137373501,
2225          -137119096, -136598811, -135747548, -135137152, -134753241, -134524667,
2226          -134217728},
2227         {134217744,  134740697,  135140165,  135833916,  137013874,  138934982,
2228          140527025,  142390622,  144197099,  144950610,  153156290,  156579036,
2229          152419516,  130790170,  79555585,   0,          -79555598,  -130790170,
2230          -152419516, -156579036, -153156290, -144950597, -144197099, -142390622,
2231          -140527040, -138934982, -137013891, -135833916, -135140150, -134740697,
2232          -134217744},
2233     },
2234     {
2235         {134217728,  133517388,  132968168,  131982689,  130203271,  126958371,
2236          123812646,  119241372,  112569785,  102830521,  88745154,   76246960,
2237          60892748,   42668052,   22033146,   0,          -22033144,  -42668058,
2238          -60892753,  -76246960,  -88745154,  -102830531, -112569785, -119241363,
2239          -123812646, -126958371, -130203280, -131982697, -132968160, -133517380,
2240          -134217736},
2241         {134217728,  133560667,  133044207,  132115111,  130430074,  127335394,
2242          124312090,  119884885,  113366063,  103758318,  89731133,   77197209,
2243          61725371,   43292651,   22369435,   0,          -22369434,  -43292655,
2244          -61725371,  -77197209,  -89731143,  -103758309, -113366066, -119884894,
2245          -124312098, -127335394, -130430074, -132115119, -133044215, -133560651,
2246          -134217736},
2247         {134217728,  133626556,  133160120,  132317284,  130777308,  127915335,
2248          125083431,  120883935,  114610226,  105218855,  91295851,   78713135,
2249          63059915,   44297538,   22911785,   0,          -22911782,  -44297538,
2250          -63059910,  -78713135,  -91295851,  -105218855, -114610226, -120883926,
2251          -125083440, -127915335, -130777308, -132317293, -133160128, -133626540,
2252          -134217736},
2253         {134217728,  133792202,  133452102,  132828323,  131660297,  129405046,
2254          127082463,  123503081,  117919375,  109170723,  95610055,   82945267,
2255          66828178,   47161136,   24466610,   0,          -24466610,  -47161136,
2256          -66828178,  -82945267,  -95610064,  -109170725, -117919366, -123503090,
2257          -127082486, -129405039, -131660312, -132828331, -133452110, -133792210,
2258          -134217736},
2259         {134217728,  133953625,  133737455,  133330222,  132534982,  130902453,
2260          129118100,  126216242,  121423078,  113467678,  100443871,  87784612,
2261          71219202,   50550149,   26325706,   0,          -26325706,  -50550154,
2262          -71219202,  -87784603,  -100443871, -113467678, -121423078, -126216226,
2263          -129118109, -130902436, -132534997, -133330214, -133737456, -133953625,
2264          -134217728},
2265         {134217728,  134209240,  134190888,  134132864,  133949552,  133371536,
2266          132534624,  130880344,  127640160,  121406192,  109814504,  97493904,
2267          80326624,   57781472,   30369936,   0,          -30369936,  -57781472,
2268          -80326624,  -97493904,  -109814504, -121406184, -127640152, -130880344,
2269          -132534632, -133371536, -133949560, -134132872, -134190888, -134209240,
2270          -134217728},
2271         {134217744,  134621813,  134927051,  135449572,  136313400,  137636071,
2272          138622650,  139566056,  139956832,  138536878,  133180717,  129783677,
2273          118675624,  94628818,   53853299,   0,          -53853295,  -94628811,
2274          -118675637, -129783677, -133180717, -138536882, -139956832, -139566056,
2275          -138622666, -137636071, -136313400, -135449572, -134927051, -134621813,
2276          -134217744},
2277         {134217744,  134904883,  135435219,  136368502,  137996233,  140785045,
2278          143282261,  146575942,  150720567,  165849956,  193015195,  218765208,
2279          250475834,  276007487,  232012394,  0,          -232012528, -276007460,
2280          -250475861, -218765208, -193015222, -165849956, -150720553, -146575942,
2281          -143282275, -140785029, -137996233, -136368502, -135435219, -134904883,
2282          -134217744},
2283     },
2284 };
2285 
2286 const WORD32 ixheaacd_beta_Q28[16][8][31] = {
2287     {
2288         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2290         {3,        524548,   928967,   1639916,  2878403,  5000493,  6908550,
2291          9455203,  12765894, 16898498, 21732020, 25132388, 28389032, 31149502,
2292          33022448, 33688388, 33022450, 31149502, 28389032, 25132388, 21732022,
2293          16898498, 12765894, 9455202,  6908550,  5000493,  2878403,  1639916,
2294          928967,   524548,   3},
2295         {5,        812423,   1439377,  2542753,  4468501,  7778568,  10765468,
2296          14766874, 19992330, 26548934, 34259648, 39707896, 44942048, 49389848,
2297          52412912, 53488748, 52412912, 49389844, 44942052, 39707896, 34259652,
2298          26548934, 19992330, 14766874, 10765469, 7778568,  4468501,  2542753,
2299          1439377,  812423,   5},
2300         {7,        1202481,  2132639,  3774216,  6653171,  11641950, 16186106,
2301          22334354, 30462996, 40811628, 53176452, 62028444, 70614328, 77968304,
2302          82994936, 84789064, 82994936, 77968304, 70614328, 62028448, 53176452,
2303          40811628, 30462996, 22334354, 16186107, 11641950, 6653172,  3774216,
2304          2132639,  1202481,  7},
2305         {8,        1400871,  2486989,   4409108,   7796283,   13714060,
2306          19156910, 26599080, 36572432,  49482236,  65204176,  76647304,
2307          87887896, 97621072, 104327480, 106731360, 104327488, 97621064,
2308          87887896, 76647304, 65204180,  49482240,  36572432,  26599080,
2309          19156912, 13714061, 7796283,   4409108,   2486989,   1400871,
2310          8},
2311         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2312          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2313          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2314          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2315          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2316          8},
2317         {7,         1223918,   2181987,   3897455,   6984316,   12583060,
2318          17979762,  25778776,  37085592,  53441976,  78581112,  104374688,
2319          137112768, 174183376, 206541584, 219922496, 206541600, 174183344,
2320          137112784, 104374688, 78581120,  53441980,  37085592,  25778774,
2321          17979764,  12583059,  6984316,   3897455,   2181987,   1223918,
2322          7},
2323         {1,        214133,    382441,    685346,     1235544,   2251347,
2324          3254155,  4749173,   7031145,   11641319,   21058462,  33931652,
2325          61102220, 133797576, 430779840, 1577812480, 430780608, 133797536,
2326          61102232, 33931652,  21058464,  11641320,   7031145,   4749173,
2327          3254155,  2251347,   1235544,   685346,     382441,    214133,
2328          1},
2329     },
2330     {
2331         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2332          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2333         {3,        524756,   929618,   1641931,  2884546,  5018684,  6942684,
2334          9517694,  12876462, 17085148, 22027532, 25515680, 28863994, 31707368,
2335          33639036, 34326304, 33639036, 31707366, 28863996, 25515680, 22027532,
2336          17085148, 12876462, 9517694,  6942685,  5018684,  2884546,  1641932,
2337          929618,   524756,   3},
2338         {5,        812713,   1440285,  2545568,  4477108,  7804208,  10813826,
2339          14855985, 20151268, 26819764, 34692788, 40273396, 45646932, 50221664,
2340          53335084, 54443828, 53335084, 50221660, 45646932, 40273396, 34692788,
2341          26819762, 20151268, 14855984, 10813826, 7804208,  4477108,  2545568,
2342          1440285,  812713,   5},
2343         {7,        1202789,  2133603,  3777225,  6662453,  11670018, 16239749,
2344          22434930, 30646316, 41132172, 53703904, 62730216, 71504264, 79033256,
2345          84186408, 86026976, 84186408, 79033248, 71504272, 62730216, 53703904,
2346          41132176, 30646314, 22434930, 16239752, 11670018, 6662454,  3777225,
2347          2133603,  1202789,  7},
2348         {8,        1401091,  2487681,   4411274,   7803027,   13734770,
2349          19197032, 26675680, 36715348,  49739444,  65641580,  77242592,
2350          88658976, 98560160, 105390504, 107840400, 105390512, 98560152,
2351          88658992, 77242592, 65641576,  49739444,  36715348,  26675674,
2352          19197034, 13734770, 7803028,   4411274,   2487680,   1401091,
2353          8},
2354         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2355          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2356          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2357          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2358          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2359          8},
2360         {7,         1223607,   2180998,   3894286,   6974063,   12549334,
2361          17910016,  25632730,  36775224,  52772652,  75633064,  99236928,
2362          128381344, 160330848, 187347760, 198291376, 187347792, 160330816,
2363          128381360, 99236928,  75633072,  52772648,  36775220,  25632728,
2364          17910018,  12549334,  6974064,   3894286,   2180998,   1223607,
2365          7},
2366         {1,        214041,   382148,    684396,    1232418,   2240724,
2367          3231452,  4699171,  6913169,   11028142,  19133978,  29199466,
2368          47298748, 81631520, 140893408, 184843504, 140893488, 81631504,
2369          47298752, 29199468, 19133982,  11028142,  6913169,   4699170,
2370          3231452,  2240724,  1232418,   684397,    382148,    214041,
2371          1},
2372     },
2373     {
2374         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2375          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2376         {3,        525351,   931480,   1647714,  2902257,  5071597,  7042735,
2377          9702682,  13207802, 17652582, 22940042, 26711396, 30359376, 33476790,
2378          35604100, 36362732, 35604100, 33476786, 30359378, 26711396, 22940042,
2379          17652582, 13207802, 9702681,  7042735,  5071597,  2902257,  1647714,
2380          931480,   525351,   3},
2381         {5,        813540,   1442877,  2553636,  4501896,  7878638,  10955188,
2382          15118865, 20625528, 27638916, 36022472, 42026548, 47851776, 52842400,
2383          56254208, 57472080, 56254208, 52842396, 47851784, 42026548, 36022476,
2384          27638918, 20625528, 15118864, 10955189, 7878638,  4501896,  2553636,
2385          1442877,  813540,   5},
2386         {7,        1203665,  2136357,  3785832,  6689100,  11751078, 16395488,
2387          22728960, 31187070, 42088120, 55296528, 64867172, 74235600, 82322976,
2388          87882752, 89873216, 87882752, 82322968, 74235600, 64867176, 55296532,
2389          42088120, 31187070, 22728958, 16395489, 11751078, 6689101,  3785832,
2390          2136357,  1203665,  7},
2391         {8,        1401717,   2489652,   4417463,   7822332,   13794262,
2392          19312684, 26897488,  37131704,  50494456,  66937128,  79016952,
2393          90971256, 101390632, 108605536, 111198632, 108605544, 101390624,
2394          90971264, 79016952,  66937124,  50494456,  37131704,  26897486,
2395          19312686, 13794262,  7822333,   4417463,   2489652,   1401717,
2396          8},
2397         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2398          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2399          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2400          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2401          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2402          8},
2403         {7,         1222724,   2178188,   3885304,   6945113,   12454759,
2404          17715754,  25230046,  35932316,  50996136,  71510480,  88238104,
2405          108673696, 130724624, 148143056, 154903104, 148143056, 130724616,
2406          108673712, 88238104,  71510496,  50996136,  35932312,  25230042,
2407          17715758,  12454758,  6945114,   3885304,   2178189,   1222724,
2408          7},
2409         {1,        213781,   381315,   681714,   1223645,  2211279,  3169313,
2410          4564991,  6613954,  9638447,  15182689, 20899234, 28782236, 38682308,
2411          48311500, 52599960, 48311512, 38682304, 28782238, 20899234, 15182691,
2412          9638447,  6613954,  4564991,  3169313,  2211279,  1223645,  681714,
2413          381315,   213781,   1},
2414     },
2415     {
2416         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2417          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2418         {3,        526244,   934286,   1656482,  2929383,  5154009,  7200895,
2419          10000863, 13755239, 18618438, 24545894, 28863348, 33106848, 36783144,
2420          39317176, 40225672, 39317176, 36783140, 33106852, 28863350, 24545894,
2421          18618438, 13755239, 10000861, 7200896,  5154009,  2929384,  1656483,
2422          934287,   526244,   3},
2423         {5,        814783,   1446784,  2565855,  4539774,  7994119,  11177507,
2424          15539745, 21402348, 29018418, 38333064, 45138568, 51843732, 57665092,
2425          61684144, 63126300, 61684144, 57665092, 51843740, 45138568, 38333064,
2426          29018418, 21402346, 15539743, 11177508, 7994120,  4539775,  2565855,
2427          1446784,  814783,   5},
2428         {7,        1204981,  2140499,  3798824,  6729584,  11875611, 16637170,
2429          23191438, 32052658, 43652108, 57969132, 68517104, 78979352, 88117000,
2430          94454304, 96733920, 94454304, 88116992, 78979352, 68517104, 57969132,
2431          43652104, 32052654, 23191436, 16637170, 11875611, 6729584,  3798824,
2432          2140499,  1204981,  7},
2433         {8,        1402655,   2492611,   4426772,   7851491,   13884761,
2434          19489746, 27240036,  37782176,  51691532,  69027848,  81916832,
2435          94796824, 106122752, 114019032, 116867632, 114019032, 106122744,
2436          94796832, 81916840,  69027848,  51691532,  37782172,  27240034,
2437          19489748, 13884760,  7851492,   4426772,   2492611,   1402655,
2438          8},
2439         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2440          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2441          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2442          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2443          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2444          8},
2445         {7,        1221406,   2174004,   3871976,   6902451,   12317130,
2446          17436482, 24661340,  34772520,  48643564,  66845116,  81092456,
2447          95994376, 109691784, 119593840, 123240696, 119593848, 109691776,
2448          95994392, 81092456,  66845116,  48643564,  34772520,  24661336,
2449          17436482, 12317130,  6902452,   3871976,   2174004,   1221406,
2450          7},
2451         {1,        213393,   380079,   677757,   1210858,  2169302,  3082668,
2452          4384052,  6230857,  8816279,  12308982, 15131108, 18175564, 21641460,
2453          24357568, 25401718, 24357570, 21641458, 18175566, 15131109, 12308983,
2454          8816278,  6230857,  4384051,  3082668,  2169302,  1210858,  677757,
2455          380079,   213393,   1},
2456     },
2457     {
2458         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2459          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2460         {3,        527304,   937630,   1667008,  2962381,  5256587,  7401904,
2461          10390627, 14497757, 19991098, 26957670, 32224264, 37562304, 42318920,
2462          45670152, 46886204, 45670152, 42318924, 37562308, 32224264, 26957670,
2463          19991098, 14497757, 10390626, 7401904,  5256587,  2962381,  1667008,
2464          937630,   527304,   3},
2465         {5,        816257,   1451433,  2580496,  4585709,  8137095,  11458003,
2466          16084489, 22442248, 30945832, 41729952, 49882536, 58145720, 65508872,
2467          70696504, 72578936, 70696512, 65508868, 58145724, 49882536, 41729952,
2468          30945832, 22442248, 16084488, 11458004, 8137095,  4585709,  2580496,
2469          1451434,  816257,   5},
2470         {7,        1206538,  2145415,   3814322,   6778296,   12027725,
2471          16936476, 23775046, 33172672,  45742120,  61682500,  73733120,
2472          85947224, 96830952, 104498976, 107281456, 104498984, 96830952,
2473          85947232, 73733128, 61682504,  45742116,  33172670,  23775044,
2474          16936476, 12027724, 6778297,   3814322,   2145415,   1206538,
2475          7},
2476         {8,        1403765,   2496115,   4437830,   7886310,   13993836,
2477          19704996, 27661434,  38595240,  53219352,  71765424,  85785904,
2478          99996584, 112659424, 121580896, 124818216, 121580904, 112659416,
2479          99996592, 85785904,  71765432,  53219352,  38595240,  27661430,
2480          19704998, 13993836,  7886311,   4437830,   2496115,   1403764,
2481          8},
2482         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2483          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2484          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2485          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2486          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2487          8},
2488         {7,        1219857,  2169099,   3856430,   6853125,   12160503,
2489          17123444, 24037508, 33538878,  46247084,  62363436,  74547088,
2490          86896032, 97899912, 105652584, 108465784, 105652592, 97899904,
2491          86896032, 74547096, 62363440,  46247084,  33538876,  24037506,
2492          17123446, 12160503, 6853125,   3856430,   2169099,   1219857,
2493          7},
2494         {1,        212938,   378637,   673176,   1196278,  2122731,  2989060,
2495          4195976,  5854530,  8072868,  10886130, 13012902, 15168527, 17089358,
2496          18442662, 18933732, 18442662, 17089358, 15168528, 13012903, 10886130,
2497          8072867,  5854530,  4195975,  2989060,  2122731,  1196278,  673176,
2498          378637,   212938,   1},
2499     },
2500     {
2501         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2502          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2503         {3,        528371,   941010,   1677737,  2996520,  5365544,  7620743,
2504          10829829, 15375154, 21720308, 30256412, 37121464, 44492716, 52140904,
2505          58486168, 60914048, 58486172, 52140900, 44492720, 37121464, 30256412,
2506          21720308, 15375154, 10829827, 7620744,  5365544,  2996520,  1677737,
2507          941010,   528371,   3},
2508         {5,        817738,   1456128,  2595392,  4633066,  8288027,  11760734,
2509          16690856, 23650124, 33316570, 46226512, 56525852, 67496896, 77774760,
2510          85824632, 89194720, 85824640, 77774752, 67496904, 56525856, 46226512,
2511          33316570, 23650120, 16690854, 11760735, 8288027,  4633066,  2595392,
2512          1456128,  817738,   5},
2513         {7,        1208101,   2150365,   3830012,   6828082,   12185838,
2514          17252538, 24405052,  34418948,  48164280,  66215072,  80356216,
2515          95158664, 108775560, 118626184, 122255560, 118626184, 108775544,
2516          95158664, 80356216,  66215080,  48164276,  34418944,  24405050,
2517          17252540, 12185838,  6828083,   3830012,   2150365,   1208101,
2518          7},
2519         {8,         1404877,   2499634,   4448971,   7921597,   14105523,
2520          19927540,  28103010,  39463168,  54891176,  74856880,  90260672,
2521          106158016, 120574816, 130879072, 134648960, 130879072, 120574816,
2522          106158024, 90260672,  74856888,  54891176,  39463164,  28103008,
2523          19927542,  14105523,  7921598,   4448971,   2499634,   1404876,
2524          8},
2525         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2526          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2527          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2528          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2529          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2530          8},
2531         {7,        1218314,  2164227,  3841070,  6804841,  12009704, 16826680,
2532          23458746, 32427858, 44173136, 58677072, 69367448, 79974728, 89242016,
2533          95670824, 97983664, 95670824, 89242016, 79974736, 69367448, 58677072,
2534          44173140, 32427856, 23458742, 16826682, 12009704, 6804841,  3841070,
2535          2164227,  1218314,  7},
2536         {1,        212485,   377211,   668688,   1182212,  2079037,  2903492,
2537          4030197,  5539070,  7490515,  9864627,  11591052, 13285722, 14752220,
2538          15762207, 16124145, 15762208, 14752220, 13285722, 11591053, 9864628,
2539          7490515,  5539070,  4030197,  2903492,  2079037,  1182212,  668688,
2540          377210,   212485,   1},
2541     },
2542     {
2543         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2544          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2545         {3,        529280,   943904,    1686997,   3026404,   5463419,
2546          7822298,  11249275, 16258557,  23600720,  36288716,  49305868,
2547          66713524, 87729680, 107320208, 115788648, 107320216, 87729672,
2548          66713540, 49305872, 36288720,  23600720,  16258558,  11249274,
2549          7822299,  5463419,  3026404,   1686997,   943904,    529280,
2550          3},
2551         {5,        819001,    1460144,   2608223,   4674384,   8422779,
2552          12037082, 17262416,  24842774,  35819472,  52848540,  70312664,
2553          92562776, 117871664, 140063104, 149267152, 140063136, 117871648,
2554          92562792, 70312664,  52848544,  35819468,  24842772,  17262414,
2555          12037082, 8422779,   4674385,   2608223,   1460144,   819001,
2556          5},
2557         {7,         1209431,   2154588,   3843465,   6871159,   12324878,
2558          17534810,  24980280,  35593252,  50549888,  70956104,  87630984,
2559          108587520, 130892864, 148578016, 155457280, 148578016, 130892848,
2560          108587528, 87630992,  70956112,  50549884,  35593252,  24980278,
2561          17534812,  12324878,  6871160,   3843465,   2154588,   1209431,
2562          7},
2563         {8,         1405821,   2502628,   4458482,   7951885,   14202332,
2564          20122228,  28494402,  40246696,  56439064,  77816136,  94657800,
2565          112381552, 128775696, 140691712, 145094384, 140691728, 128775688,
2566          112381568, 94657808,  77816144,  56439060,  40246696,  28494400,
2567          20122230,  14202331,  7951885,   4458482,   2502629,   1405821,
2568          8},
2569         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2570          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2571          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2572          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2573          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2574          8},
2575         {7,        1217010,  2160122,  3828190,  6764697,  11886164, 16586827,
2576          22999516, 31567738, 42617632, 56016164, 65730784, 75244880, 83461560,
2577          89112016, 91135304, 89112024, 83461552, 75244888, 65730788, 56016164,
2578          42617628, 31567738, 22999514, 16586829, 11886164, 6764698,  3828190,
2579          2160122,  1217010,  7},
2580         {1,        212104,   376014,   664952,   1170669,  2044035,  2836433,
2581          3904056,  5308151,  7084523,  9192281,  10692476, 12141331, 13377854,
2582          14220870, 14521357, 14220870, 13377854, 12141331, 10692476, 9192281,
2583          7084523,  5308151,  3904056,  2836433,  2044035,  1170669,  664952,
2584          376014,   212104,   1},
2585     },
2586     {
2587         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2588          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2589         {3,         529890,    945853,    1693270,   3046878,   5531883,
2590          7966241,   11558316,  16941404,  26405616,  44726228,  66299660,
2591          102135296, 161287136, 242754912, 290875520, 242754976, 161287104,
2592          102135328, 66299668,  44726228,  26405616,  16941404,  11558314,
2593          7966241,   5531883,   3046878,   1693270,   945853,    529890,
2594          3},
2595         {5,         819848,    1462845,   2616904,   4702616,   8516569,
2596          12232970,  17678754,  25748164,  38567944,  62864780,  89227176,
2597          128392144, 182850000, 242436080, 271403040, 242436160, 182849968,
2598          128392176, 89227168,  62864788,  38567940,  25748164,  17678752,
2599          12232972,  8516569,   4702617,   2616904,   1462845,   819848,
2600          5},
2601         {7,         1210322,   2157425,   3852534,   6900401,   12420479,
2602          17731328,  25388104,  36448364,  52356736,  75502992,  99354648,
2603          128997304, 161739680, 189630656, 200981856, 189630656, 161739664,
2604          128997328, 99354648,  75503000,  52356740,  36448368,  25388100,
2605          17731330,  12420478,  6900402,   3852534,   2157425,   1210322,
2606          7},
2607         {8,         1406453,   2504636,   4464871,   7972318,   14268137,
2608          20255542,  28765222,  40797016,  57549412,  80000928,  97981248,
2609          117206704, 135388800, 151411120, 157516432, 151411136, 135388784,
2610          117206704, 97981248,  80000928,  57549412,  40797012,  28765220,
2611          20255542,  14268138,  7972319,   4464871,   2504636,   1406453,
2612          8},
2613         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2614          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2615          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2616          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2617          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2618          8},
2619         {7,        1216142,  2157392,  3819657,  6738267,  11805711, 16432165,
2620          22707286, 31029754, 41665420, 54427540, 63597164, 72515376, 80171616,
2621          85413624, 87286256, 85413624, 80171608, 72515384, 63597164, 54427544,
2622          41665420, 31029756, 22707284, 16432167, 11805712, 6738268,  3819657,
2623          2157392,  1216142,  7},
2624         {1,        211851,   375221,   662491,   1163142,  2021609,  2794131,
2625          3826087,  5169036,  6847367,  8812784,  10196808, 11523252, 12648227,
2626          13411804, 13683354, 13411805, 12648226, 11523253, 10196809, 8812784,
2627          6847366,  5169036,  3826086,  2794132,  2021609,  1163142,  662491,
2628          375221,   211851,   1},
2629     },
2630     {
2631         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -858993460,
2632          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2633         {3,         530105,    946540,    1695490,   3054166,   5556542,
2634          8018704,   11673036,  17202416,  27742908,  48702648,  75428704,
2635          125542128, 228590144, 435938784, 620187584, 435939008, 228590112,
2636          125542176, 75428712,  48702652,  27742906,  17202416,  11673035,
2637          8018704,   5556542,   3054167,   1695490,   946540,    530105,
2638          3},
2639         {5,         820146,    1463798,   2619972,   4712652,   8550255,
2640          12304061,  17832260,  26090394,  40209740,  67346928,  98535008,
2641          148589136, 226742368, 326144352, 380823904, 326144512, 226742336,
2642          148589184, 98535016,  67346936,  40209736,  26090392,  17832256,
2643          12304062,  8550254,   4712652,   2619972,   1463798,   820145,
2644          5},
2645         {7,         1210636,   2158423,   3855734,   6910758,   12454582,
2646          17801918,  25536124,  36763592,  53038744,  78536976,  104675848,
2647          138113008, 176331952, 210006528, 224018288, 210006544, 176331920,
2648          138113024, 104675856, 78536984,  53038744,  36763592,  25536118,
2649          17801920,  12454581,  6910759,   3855734,   2158423,   1210636,
2650          7},
2651         {8,         1406676,   2505341,   4467122,   7979530,   14291465,
2652          20302986,  28862170,  40995684,  57955156,  80812936,  99234096,
2653          119054544, 140506896, 157841056, 164487296, 157841072, 140506896,
2654          119054552, 99234096,  80812936,  57955148,  40995680,  28862168,
2655          20302988,  14291464,  7979531,   4467122,   2505342,   1406676,
2656          8},
2657         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2658          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2659          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2660          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2661          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2662          8},
2663         {7,        1215837,  2156436,  3816673,  6729059,  11777845, 16378872,
2664          22607278, 30847268, 41345884, 53900940, 62895796, 71625096, 79105408,
2665          84220136, 86046016, 84220136, 79105408, 71625096, 62895796, 53900940,
2666          41345884, 30847270, 22607276, 16378873, 11777844, 6729060,  3816673,
2667          2156436,  1215837,  7},
2668         {1,        211762,   374943,   661633,   1160533,  2013907,  2779720,
2669          3799796,  5122719,  6769570,  8690265,  10038436, 11327602, 12418982,
2670          13158826, 13421767, 13158826, 12418981, 11327602, 10038436, 8690264,
2671          6769570,  5122719,  3799796,  2779720,  2013907,  1160533,  661633,
2672          374943,   211762,   1},
2673     },
2674     {
2675         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2677         {3,         529890,    945853,    1693270,   3046878,   5531883,
2678          7966241,   11558316,  16941404,  26405616,  44726228,  66299660,
2679          102135296, 161287136, 242754912, 290875520, 242754976, 161287104,
2680          102135328, 66299668,  44726228,  26405616,  16941404,  11558314,
2681          7966241,   5531883,   3046878,   1693270,   945853,    529890,
2682          3},
2683         {5,         819848,    1462845,   2616904,   4702616,   8516569,
2684          12232970,  17678754,  25748164,  38567944,  62864780,  89227176,
2685          128392144, 182850000, 242436080, 271403040, 242436160, 182849968,
2686          128392176, 89227168,  62864788,  38567940,  25748164,  17678752,
2687          12232972,  8516569,   4702617,   2616904,   1462845,   819848,
2688          5},
2689         {7,         1210322,   2157425,   3852534,   6900401,   12420479,
2690          17731328,  25388104,  36448364,  52356736,  75502992,  99354648,
2691          128997304, 161739680, 189630656, 200981856, 189630656, 161739664,
2692          128997328, 99354648,  75503000,  52356740,  36448368,  25388100,
2693          17731330,  12420478,  6900402,   3852534,   2157425,   1210322,
2694          7},
2695         {8,         1406453,   2504636,   4464871,   7972318,   14268137,
2696          20255542,  28765222,  40797016,  57549412,  80000928,  97981248,
2697          117206704, 135388800, 151411120, 157516432, 151411136, 135388784,
2698          117206704, 97981248,  80000928,  57549412,  40797012,  28765220,
2699          20255542,  14268138,  7972319,   4464871,   2504636,   1406453,
2700          8},
2701         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2702          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2703          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2704          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2705          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2706          8},
2707         {7,        1216142,  2157392,  3819657,  6738267,  11805711, 16432165,
2708          22707286, 31029754, 41665420, 54427540, 63597164, 72515376, 80171616,
2709          85413624, 87286256, 85413624, 80171608, 72515384, 63597164, 54427544,
2710          41665420, 31029756, 22707284, 16432167, 11805712, 6738268,  3819657,
2711          2157392,  1216142,  7},
2712         {1,        211851,   375221,   662491,   1163142,  2021609,  2794131,
2713          3826087,  5169036,  6847367,  8812784,  10196808, 11523252, 12648227,
2714          13411804, 13683354, 13411805, 12648226, 11523253, 10196809, 8812784,
2715          6847366,  5169036,  3826086,  2794132,  2021609,  1163142,  662491,
2716          375221,   211851,   1},
2717     },
2718     {
2719         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2721         {3,        529280,   943904,    1686997,   3026404,   5463419,
2722          7822298,  11249275, 16258558,  23600720,  36288720,  49305868,
2723          66713532, 87729688, 107320216, 115788672, 107320232, 87729680,
2724          66713548, 49305876, 36288720,  23600720,  16258558,  11249274,
2725          7822299,  5463419,  3026404,   1686997,   943904,    529280,
2726          3},
2727         {5,        819001,    1460144,   2608223,   4674384,   8422779,
2728          12037082, 17262416,  24842774,  35819472,  52848540,  70312672,
2729          92562784, 117871672, 140063120, 149267168, 140063152, 117871656,
2730          92562800, 70312664,  52848548,  35819468,  24842772,  17262414,
2731          12037084, 8422779,   4674385,   2608223,   1460144,   819001,
2732          5},
2733         {7,         1209431,   2154588,   3843465,   6871159,   12324878,
2734          17534810,  24980280,  35593252,  50549888,  70956104,  87630984,
2735          108587528, 130892872, 148578032, 155457296, 148578032, 130892856,
2736          108587536, 87630992,  70956112,  50549884,  35593252,  24980278,
2737          17534812,  12324878,  6871160,   3843465,   2154588,   1209431,
2738          7},
2739         {8,         1405821,   2502628,   4458482,   7951885,   14202332,
2740          20122228,  28494402,  40246696,  56439064,  77816144,  94657800,
2741          112381560, 128775712, 140691712, 145094384, 140691728, 128775696,
2742          112381568, 94657808,  77816144,  56439064,  40246696,  28494400,
2743          20122230,  14202331,  7951885,   4458482,   2502629,   1405821,
2744          8},
2745         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2746          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2747          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2748          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2749          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2750          8},
2751         {7,        1217010,  2160122,  3828190,  6764697,  11886164, 16586827,
2752          22999514, 31567738, 42617632, 56016164, 65730788, 75244880, 83461560,
2753          89112016, 91135304, 89112024, 83461552, 75244880, 65730788, 56016160,
2754          42617628, 31567738, 22999514, 16586829, 11886164, 6764698,  3828190,
2755          2160122,  1217010,  7},
2756         {1,        212104,   376014,   664952,   1170669,  2044035,  2836433,
2757          3904056,  5308151,  7084523,  9192281,  10692476, 12141331, 13377854,
2758          14220870, 14521356, 14220870, 13377854, 12141332, 10692476, 9192281,
2759          7084522,  5308151,  3904056,  2836433,  2044035,  1170669,  664952,
2760          376014,   212104,   1},
2761     },
2762     {
2763         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2764          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2765         {3,        528371,   941010,   1677737,  2996520,  5365544,  7620743,
2766          10829829, 15375155, 21720310, 30256414, 37121464, 44492724, 52140916,
2767          58486184, 60914064, 58486188, 52140912, 44492720, 37121464, 30256414,
2768          21720308, 15375156, 10829827, 7620744,  5365544,  2996520,  1677737,
2769          941010,   528371,   3},
2770         {5,        817738,   1456128,  2595392,  4633066,  8288027,  11760734,
2771          16690856, 23650122, 33316574, 46226512, 56525852, 67496904, 77774760,
2772          85824656, 89194744, 85824656, 77774760, 67496904, 56525852, 46226516,
2773          33316574, 23650120, 16690854, 11760735, 8288027,  4633067,  2595392,
2774          1456128,  817738,   5},
2775         {7,        1208101,   2150365,   3830012,   6828082,   12185838,
2776          17252538, 24405054,  34418948,  48164280,  66215076,  80356216,
2777          95158664, 108775560, 118626192, 122255568, 118626200, 108775552,
2778          95158672, 80356216,  66215080,  48164280,  34418948,  24405052,
2779          17252540, 12185838,  6828083,   3830012,   2150365,   1208101,
2780          7},
2781         {8,         1404877,   2499634,   4448971,   7921597,   14105523,
2782          19927540,  28103012,  39463168,  54891176,  74856888,  90260672,
2783          106158024, 120574824, 130879080, 134648944, 130879088, 120574824,
2784          106158032, 90260672,  74856888,  54891176,  39463168,  28103008,
2785          19927542,  14105523,  7921598,   4448971,   2499634,   1404876,
2786          8},
2787         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2788          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2789          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2790          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2791          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2792          8},
2793         {7,        1218314,  2164227,  3841070,  6804840,  12009704, 16826680,
2794          23458746, 32427858, 44173136, 58677072, 69367448, 79974728, 89242016,
2795          95670816, 97983664, 95670824, 89242008, 79974736, 69367448, 58677076,
2796          44173140, 32427856, 23458742, 16826682, 12009704, 6804841,  3841070,
2797          2164227,  1218314,  7},
2798         {1,        212485,   377211,   668688,   1182212,  2079037,  2903492,
2799          4030197,  5539070,  7490515,  9864626,  11591052, 13285722, 14752218,
2800          15762206, 16124144, 15762206, 14752218, 13285723, 11591053, 9864626,
2801          7490515,  5539070,  4030197,  2903492,  2079037,  1182212,  668688,
2802          377210,   212485,   1},
2803     },
2804     {
2805         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2807         {3,        527304,   937630,   1667008,  2962381,  5256587,  7401904,
2808          10390627, 14497757, 19991098, 26957670, 32224264, 37562304, 42318920,
2809          45670148, 46886200, 45670152, 42318920, 37562308, 32224264, 26957670,
2810          19991098, 14497757, 10390626, 7401904,  5256587,  2962381,  1667008,
2811          937630,   527304,   3},
2812         {5,        816257,   1451433,  2580496,  4585709,  8137095,  11458003,
2813          16084489, 22442248, 30945832, 41729952, 49882536, 58145720, 65508872,
2814          70696504, 72578928, 70696512, 65508868, 58145724, 49882536, 41729952,
2815          30945832, 22442248, 16084488, 11458004, 8137095,  4585709,  2580496,
2816          1451434,  816257,   5},
2817         {7,        1206538,  2145415,   3814322,   6778296,   12027725,
2818          16936476, 23775046, 33172672,  45742120,  61682500,  73733120,
2819          85947224, 96830952, 104498976, 107281456, 104498984, 96830952,
2820          85947232, 73733128, 61682504,  45742116,  33172670,  23775044,
2821          16936476, 12027724, 6778297,   3814322,   2145415,   1206538,
2822          7},
2823         {8,        1403765,   2496115,   4437830,   7886310,   13993836,
2824          19704996, 27661434,  38595240,  53219352,  71765424,  85785904,
2825          99996584, 112659424, 121580896, 124818216, 121580904, 112659416,
2826          99996592, 85785904,  71765432,  53219352,  38595240,  27661430,
2827          19704998, 13993836,  7886311,   4437830,   2496115,   1403764,
2828          8},
2829         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2830          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2831          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2832          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2833          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2834          8},
2835         {7,        1219857,  2169099,   3856430,   6853125,   12160503,
2836          17123444, 24037508, 33538878,  46247084,  62363436,  74547088,
2837          86896032, 97899912, 105652584, 108465784, 105652592, 97899904,
2838          86896032, 74547096, 62363440,  46247084,  33538876,  24037506,
2839          17123446, 12160503, 6853125,   3856430,   2169099,   1219857,
2840          7},
2841         {1,        212938,   378637,   673176,   1196278,  2122731,  2989060,
2842          4195976,  5854530,  8072868,  10886130, 13012902, 15168527, 17089358,
2843          18442662, 18933732, 18442662, 17089358, 15168528, 13012903, 10886130,
2844          8072867,  5854530,  4195975,  2989060,  2122731,  1196278,  673176,
2845          378637,   212938,   1},
2846     },
2847     {
2848         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2850         {3,        526244,   934286,   1656482,  2929383,  5154009,  7200895,
2851          10000863, 13755239, 18618438, 24545892, 28863346, 33106846, 36783140,
2852          39317168, 40225668, 39317172, 36783136, 33106846, 28863346, 24545892,
2853          18618438, 13755238, 10000861, 7200896,  5154009,  2929384,  1656483,
2854          934287,   526244,   3},
2855         {5,        814783,   1446784,  2565855,  4539774,  7994119,  11177507,
2856          15539743, 21402348, 29018418, 38333064, 45138564, 51843736, 57665092,
2857          61684144, 63126296, 61684144, 57665088, 51843736, 45138564, 38333064,
2858          29018416, 21402346, 15539743, 11177508, 7994120,  4539775,  2565855,
2859          1446784,  814783,   5},
2860         {7,        1204981,  2140499,  3798824,  6729584,  11875611, 16637170,
2861          23191438, 32052656, 43652104, 57969124, 68517096, 78979352, 88116992,
2862          94454288, 96733928, 94454296, 88116984, 78979352, 68517096, 57969132,
2863          43652104, 32052654, 23191436, 16637170, 11875611, 6729584,  3798824,
2864          2140499,  1204981,  7},
2865         {8,        1402655,   2492611,   4426772,   7851491,   13884761,
2866          19489746, 27240036,  37782168,  51691532,  69027848,  81916832,
2867          94796824, 106122744, 114019024, 116867616, 114019032, 106122736,
2868          94796832, 81916832,  69027848,  51691532,  37782168,  27240034,
2869          19489748, 13884760,  7851492,   4426772,   2492611,   1402655,
2870          8},
2871         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2872          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2873          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2874          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2875          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2876          8},
2877         {7,        1221406,   2174004,   3871976,   6902451,   12317130,
2878          17436482, 24661340,  34772524,  48643564,  66845112,  81092456,
2879          95994392, 109691792, 119593848, 123240712, 119593864, 109691784,
2880          95994392, 81092456,  66845116,  48643564,  34772520,  24661336,
2881          17436482, 12317130,  6902452,   3871976,   2174004,   1221406,
2882          7},
2883         {1,        213393,   380079,   677757,   1210858,  2169302,  3082668,
2884          4384052,  6230858,  8816279,  12308984, 15131109, 18175568, 21641464,
2885          24357576, 25401724, 24357578, 21641462, 18175570, 15131110, 12308985,
2886          8816279,  6230857,  4384051,  3082668,  2169302,  1210858,  677757,
2887          380079,   213393,   1},
2888     },
2889     {
2890         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2892         {3,        525351,   931480,   1647714,  2902257,  5071597,  7042735,
2893          9702682,  13207803, 17652582, 22940042, 26711398, 30359378, 33476790,
2894          35604104, 36362736, 35604104, 33476788, 30359380, 26711396, 22940042,
2895          17652582, 13207803, 9702681,  7042735,  5071597,  2902257,  1647714,
2896          931480,   525351,   3},
2897         {5,        813540,   1442877,  2553636,  4501896,  7878638,  10955188,
2898          15118865, 20625528, 27638920, 36022472, 42026544, 47851780, 52842400,
2899          56254208, 57472080, 56254208, 52842396, 47851784, 42026548, 36022476,
2900          27638918, 20625528, 15118864, 10955189, 7878638,  4501896,  2553636,
2901          1442877,  813540,   5},
2902         {7,        1203665,  2136357,  3785832,  6689100,  11751078, 16395488,
2903          22728960, 31187070, 42088120, 55296528, 64867172, 74235600, 82322976,
2904          87882752, 89873216, 87882752, 82322968, 74235600, 64867176, 55296532,
2905          42088120, 31187070, 22728958, 16395489, 11751078, 6689101,  3785832,
2906          2136357,  1203665,  7},
2907         {8,        1401717,   2489652,   4417463,   7822332,   13794261,
2908          19312684, 26897488,  37131704,  50494456,  66937128,  79016952,
2909          90971256, 101390632, 108605536, 111198640, 108605544, 101390624,
2910          90971264, 79016952,  66937132,  50494456,  37131704,  26897486,
2911          19312686, 13794262,  7822333,   4417463,   2489652,   1401717,
2912          8},
2913         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2914          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2915          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2916          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2917          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2918          8},
2919         {7,         1222724,   2178188,   3885304,   6945113,   12454759,
2920          17715756,  25230046,  35932312,  50996136,  71510480,  88238112,
2921          108673688, 130724608, 148143040, 154903072, 148143056, 130724600,
2922          108673704, 88238112,  71510496,  50996136,  35932312,  25230042,
2923          17715758,  12454758,  6945114,   3885304,   2178189,   1222724,
2924          7},
2925         {1,        213781,   381315,   681714,   1223645,  2211279,  3169313,
2926          4564991,  6613954,  9638446,  15182688, 20899232, 28782230, 38682300,
2927          48311484, 52599940, 48311496, 38682296, 28782232, 20899232, 15182688,
2928          9638446,  6613954,  4564991,  3169313,  2211279,  1223645,  681714,
2929          381315,   213781,   1},
2930     },
2931     {
2932         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2933          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2934         {3,        524756,   929618,   1641931,  2884546,  5018684,  6942684,
2935          9517694,  12876462, 17085148, 22027530, 25515680, 28863994, 31707368,
2936          33639036, 34326304, 33639036, 31707366, 28863994, 25515680, 22027532,
2937          17085148, 12876462, 9517694,  6942685,  5018684,  2884546,  1641932,
2938          929618,   524756,   3},
2939         {5,        812713,   1440285,  2545568,  4477108,  7804208,  10813826,
2940          14855985, 20151268, 26819762, 34692788, 40273396, 45646932, 50221664,
2941          53335084, 54443824, 53335084, 50221660, 45646932, 40273400, 34692788,
2942          26819762, 20151268, 14855983, 10813826, 7804208,  4477108,  2545568,
2943          1440285,  812713,   5},
2944         {7,        1202789,  2133603,  3777225,  6662453,  11670018, 16239749,
2945          22434930, 30646316, 41132172, 53703904, 62730216, 71504264, 79033256,
2946          84186408, 86026976, 84186408, 79033248, 71504272, 62730216, 53703904,
2947          41132176, 30646314, 22434930, 16239752, 11670018, 6662454,  3777225,
2948          2133603,  1202789,  7},
2949         {8,        1401091,  2487681,   4411274,   7803027,   13734770,
2950          19197032, 26675680, 36715348,  49739444,  65641580,  77242592,
2951          88658984, 98560160, 105390504, 107840400, 105390512, 98560152,
2952          88658992, 77242584, 65641576,  49739444,  36715348,  26675674,
2953          19197034, 13734769, 7803028,   4411274,   2487680,   1401091,
2954          8},
2955         {8,         1509476,   2684086,   4772024,   8480193,   15047650,
2956          21188892,  29744494,  41501680,  57227068,  77169768,  92246064,
2957          107526888, 121143312, 130736624, 134217728, 130736624, 121143304,
2958          107526896, 92246064,  77169768,  57227064,  41501676,  29744492,
2959          21188894,  15047650,  8480194,   4772024,   2684086,   1509476,
2960          8},
2961         {7,         1223607,   2180998,   3894286,   6974063,   12549334,
2962          17910016,  25632730,  36775224,  52772652,  75633064,  99236928,
2963          128381352, 160330848, 187347776, 198291392, 187347792, 160330832,
2964          128381360, 99236928,  75633072,  52772652,  36775220,  25632728,
2965          17910018,  12549334,  6974064,   3894286,   2180998,   1223607,
2966          7},
2967         {1,        214041,   382148,    684396,    1232418,   2240724,
2968          3231452,  4699171,  6913169,   11028142,  19133980,  29199468,
2969          47298756, 81631544, 140893488, 184843632, 140893568, 81631528,
2970          47298760, 29199470, 19133982,  11028142,  6913169,   4699170,
2971          3231452,  2240724,  1232418,   684397,    382148,    214041,
2972          1},
2973     },
2974 };
2975 
2976 const WORD32 ixheaacd_weight_Q28[16][8][31] = {
2977     {
2978         {134217744, 134970352, 135553120, 136582896, 138392880, 141541712,
2979          144424112, 148346336, 153572976, 160297488, 168439744, 174342928,
2980          180128864, 185132320, 188577760, 189812528, 188577760, 185132320,
2981          180128880, 174342928, 168439744, 160297488, 153572976, 148346336,
2982          144424112, 141541712, 138392880, 136582896, 135553136, 134970352,
2983          134217744},
2984         {134217728, 134923056, 135469392, 136435104, 138133568, 141091536,
2985          143802496, 147496192, 152426160, 158780944, 166491504, 172091408,
2986          177587152, 182344784, 185623536, 186799072, 185623552, 182344800,
2987          177587152, 172091392, 166491520, 158780944, 152426160, 147496192,
2988          143802480, 141091536, 138133568, 136435104, 135469392, 134923056,
2989          134217744},
2990         {134217728, 134851104, 135341920, 136210016, 137738240, 140404048,
2991          142851840, 146193664, 150665168, 156446176, 163483824, 168609296,
2992          173650000, 178021440, 181037920, 182120160, 181037920, 178021424,
2993          173650000, 168609296, 163483824, 156446176, 150665168, 146193680,
2994          142851840, 140404048, 137738240, 136210000, 135341920, 134851104,
2995          134217744},
2996         {134217728, 134670496, 135021776, 135643952, 136741952, 138665264,
2997          140439920, 142875520, 146156352, 150432704, 155687056, 159544432,
2998          163361216, 166688640, 168993616, 169822288, 168993632, 166688656,
2999          163361216, 159544432, 155687056, 150432704, 146156352, 142875520,
3000          140439920, 138665264, 136741952, 135643952, 135021776, 134670496,
3001          134217744},
3002         {134217728, 134494912, 134710224, 135092080, 135767616, 136955856,
3003          138057744, 139578304, 141641264, 144354416, 147723552, 150220400,
3004          152709488, 154893744, 156414336, 156962448, 156414336, 154893744,
3005          152709472, 150220400, 147723552, 144354416, 141641264, 139578320,
3006          138057728, 136955856, 135767600, 135092080, 134710224, 134494912,
3007          134217728},
3008         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3009          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3010          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3011          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3012          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3013          134217728},
3014         {134217728, 133772440, 133424920, 132804936, 131696632, 129710520,
3015          127825384, 125151792, 121381688, 116147984, 111848104, 111848104,
3016          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3017          111848104, 111848104, 111848104, 116148000, 121381688, 125151792,
3018          127825384, 129710520, 131696632, 132804936, 133424920, 133772456,
3019          134217728},
3020         {134217728, 133468448, 132882456, 131834416, 129952248, 126550128,
3021          123283864, 118583656, 111848104, 111848104, 111848104, 111848104,
3022          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3023          111848104, 111848104, 111848104, 111848104, 111848104, 118583656,
3024          123283864, 126550128, 129952248, 131834416, 132882456, 133468448,
3025          134217728},
3026     },
3027     {
3028         {134217728, 134913216, 135451936, 136404304, 138079504, 140997600,
3029          143672688, 147318512, 152186224, 158463280, 166082896, 171618768,
3030          177053216, 181758880, 185002352, 186165328, 185002352, 181758880,
3031          177053216, 171618768, 166082896, 158463296, 152186224, 147318512,
3032          143672688, 140997600, 138079504, 136404304, 135451936, 134913216,
3033          134217744},
3034         {134217728, 134869504, 135374512, 136267584, 137839408, 140580112,
3035          143095472, 146527744, 151117280, 157046336, 164257936, 169506256,
3036          174664912, 179136560, 182221168, 183327616, 182221168, 179136560,
3037          174664912, 169506256, 164257936, 157046336, 151117280, 146527744,
3038          143095472, 140580112, 137839408, 136267584, 135374512, 134869504,
3039          134217744},
3040         {134217728, 134802992, 135256672, 136059376, 137473424, 139942768,
3041          142213056, 145316768, 149476832, 154866368, 161442736, 166241760,
3042          170968496, 175072880, 177907744, 178925312, 177907744, 175072880,
3043          170968496, 166241760, 161442736, 154866368, 149476832, 145316768,
3044          142213056, 139942768, 137473424, 136059376, 135256672, 134802992,
3045          134217744},
3046         {134217728, 134636080, 134960736, 135535920, 136551440, 138331744,
3047          139976000, 142235024, 145282080, 149260352, 154157968, 157759584,
3048          161328032, 164442560, 166601920, 167378576, 166601920, 164442544,
3049          161328032, 157759584, 154157968, 149260368, 145282080, 142235024,
3050          139976016, 138331728, 136551456, 135535920, 134960736, 134636096,
3051          134217744},
3052         {134217728, 134473824, 134672800, 135025728, 135650240, 136749360,
3053          137769200, 139177520, 141089920, 143607984, 146739200, 149062688,
3054          151381312, 153417872, 154836624, 155348256, 154836640, 153417872,
3055          151381328, 149062688, 146739200, 143607984, 141089920, 139177520,
3056          137769200, 136749360, 135650256, 135025712, 134672784, 134473824,
3057          134217728},
3058         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3059          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3060          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3061          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3062          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3063          134217728},
3064         {134217728, 133806400, 133485440, 132913000, 131890240, 130059096,
3065          128323168, 125864856, 122406120, 117621128, 111848104, 111848104,
3066          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3067          111848104, 111848104, 111848104, 117621128, 122406120, 125864856,
3068          128323168, 130059096, 131890240, 132913000, 133485440, 133806400,
3069          134217728},
3070         {134217728, 133525632, 132984568, 132017344, 130281848, 127150040,
3071          124150024, 119845456, 113664464, 111848104, 111848104, 111848104,
3072          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3073          111848104, 111848104, 111848104, 111848104, 113664464, 119845456,
3074          124150032, 127150040, 130281848, 132017344, 132984568, 133525632,
3075          134217728},
3076     },
3077     {
3078         {134217728, 134750352, 135163360, 135894416, 137183168, 139436416,
3079          141510976, 144351440, 148166016, 153119584, 159180064, 163612736,
3080          167986224, 171789568, 174419392, 175363920, 174419392, 171789568,
3081          167986224, 163612736, 159180064, 153119584, 148166016, 144351440,
3082          141510976, 139436432, 137183168, 135894416, 135163360, 134750352,
3083          134217744},
3084         {134217728, 134716864, 135103984, 135789392, 136998240, 139113424,
3085          141062640, 143734096, 147326256, 151998160, 157724080, 161918432,
3086          166061616, 169668304, 172163984, 173060688, 172163984, 169668288,
3087          166061616, 161918432, 157724080, 151998160, 147326256, 143734096,
3088          141062640, 139113424, 136998240, 135789392, 135103984, 134716864,
3089          134217744},
3090         {134217728, 134665904, 135013632, 135629504, 136716496, 138620704,
3091          140377984, 142790048, 146039760, 150276480, 155483472, 159306944,
3092          163090832, 166390096, 168675808, 169497600, 168675808, 166390096,
3093          163090848, 159306944, 155483488, 150276480, 146039760, 142790048,
3094          140377968, 138620720, 136716496, 135629504, 135013616, 134665904,
3095          134217744},
3096         {134217728, 134538048, 134786784, 135227776, 136007472, 137377520,
3097          138646400, 140395008, 142763040, 145870208, 149717968, 152562416,
3098          155392320, 157871248, 159594640, 160215424, 159594640, 157871248,
3099          155392320, 152562416, 149717968, 145870208, 142763040, 140395008,
3100          138646400, 137377520, 136007472, 135227776, 134786784, 134538048,
3101          134217728},
3102         {134217728, 134413792, 134566144, 134836576, 135315504, 136159584,
3103          136944176, 138029792, 139507872, 141460704, 143899120, 145715424,
3104          147533584, 149135008, 150253024, 150656672, 150253040, 149135008,
3105          147533584, 145715424, 143899120, 141460688, 139507872, 138029792,
3106          136944176, 136159584, 135315504, 134836576, 134566160, 134413792,
3107          134217728},
3108         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3109          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3110          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3111          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3112          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3113          134217728},
3114         {134217728, 133903024, 133657608, 133220288, 132440008, 131046696,
3115          129730264, 127873712, 125277552, 121718592, 117049664, 113392512,
3116          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3117          111848104, 113392512, 117049680, 121718592, 125277552, 127873712,
3118          129730280, 131046696, 132440024, 133220288, 133657624, 133903024,
3119          134217728},
3120         {134217728, 133688336, 133274944, 132536912, 131215936, 128843168,
3121          126584160, 123368104, 118806640, 112416656, 111848104, 111848104,
3122          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3123          111848104, 111848104, 111848104, 112416656, 118806632, 123368104,
3124          126584160, 128843168, 131215936, 132536912, 133274944, 133688336,
3125          134217728},
3126     },
3127     {
3128         {134217728, 134506240, 134730320, 135127728, 135830656, 137066736,
3129          138212592, 139793296, 141936768, 144754096, 148250000, 150839072,
3130          153418688, 155681312, 157255888, 157823344, 157255888, 155681312,
3131          153418688, 150839072, 148249984, 144754096, 141936768, 139793296,
3132          138212592, 137066736, 135830656, 135127728, 134730320, 134506240,
3133          134217728},
3134         {134217728, 134488080, 134698096, 135070576, 135729600, 136888992,
3135          137964320, 139448608, 141462896, 144113040, 147405392, 149846352,
3136          152280496, 154417184, 155904992, 156441360, 155904992, 154417184,
3137          152280496, 149846352, 147405392, 144113040, 141462896, 139448592,
3138          137964336, 136888992, 135729600, 135070576, 134698096, 134488080,
3139          134217728},
3140         {134217728, 134460464, 134649040, 134983616, 135575776, 136618224,
3141          137585872, 138922720, 140739104, 143132528, 146111440, 148323744,
3142          150532864, 152474416, 153827600, 154315696, 153827600, 152474432,
3143          150532880, 148323744, 146111440, 143132528, 140739104, 138922720,
3144          137585872, 136618224, 135575760, 134983616, 134649040, 134460464,
3145          134217728},
3146         {134217728, 134391168, 134526000, 134765312, 135189280, 135936912,
3147          136632336, 137595280, 138907696, 140643920, 142815424, 144435360,
3148          146058944, 147490640, 148491024, 148852368, 148491024, 147490640,
3149          146058944, 144435360, 142815424, 140643920, 138907696, 137595280,
3150          136632320, 135936912, 135189264, 134765312, 134526000, 134391168,
3151          134217728},
3152         {134217728, 134323872, 134406416, 134552992, 134812944, 135272112,
3153          135700080, 136294032, 137106080, 138184736, 139540672, 140557056,
3154          141579776, 142484928, 143119200, 143348672, 143119200, 142484928,
3155          141579776, 140557056, 139540672, 138184736, 137106080, 136294032,
3156          135700080, 135272112, 134812944, 134552992, 134406416, 134323872,
3157          134217728},
3158         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3159          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3160          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3161          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3162          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3163          134217728},
3164         {134217728, 134047496, 133914896, 133678832, 133258584, 132511008,
3165          131808096, 130822576, 129456008, 127605336, 125219016, 123384368,
3166          121496560, 119789320, 118571736, 118126816, 118571736, 119789320,
3167          121496560, 123384368, 125219016, 127605336, 129456008, 130822576,
3168          131808096, 132511008, 133258584, 133678848, 133914896, 134047496,
3169          134217728},
3170         {134217728, 133931488, 133708328, 133310696, 132601600, 131336352,
3171          130142072, 128459768, 126111336, 122900144, 118702864, 115428560,
3172          112012208, 111848104, 111848104, 111848104, 111848104, 111848104,
3173          112012208, 115428560, 118702864, 122900128, 126111336, 128459768,
3174          130142072, 131336352, 132601616, 133310696, 133708328, 133931488,
3175          134217728},
3176     },
3177     {
3178         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3179          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3180          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3181          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3182          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3183          134217728},
3184         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3185          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3186          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3187          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3188          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3189          134217728},
3190         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3191          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3192          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3193          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3194          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3195          134217728},
3196         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3197          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3198          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3199          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3200          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3201          134217728},
3202         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3203          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3204          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3205          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3206          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3207          134217728},
3208         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3209          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3210          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3211          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3212          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3213          134217728},
3214         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3215          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3216          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3217          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3218          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3219          134217728},
3220         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3221          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3222          134217728, 134217728, 134217744, 134217728, 134217728, 134217744,
3223          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3224          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3225          134217728},
3226     },
3227     {
3228         {134217728, 133928592, 133703168, 133301512, 132585192, 131306928,
3229          130100248, 128400288, 126026792, 122780504, 118535808, 115223152,
3230          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3231          111848104, 115223152, 118535792, 122780504, 126026792, 128400288,
3232          130100248, 131306928, 132585192, 133301512, 133703168, 133928592,
3233          134217728},
3234         {134217728, 133946816, 133735640, 133359432, 132688632, 131492208,
3235          130363488, 128774544, 126558464, 123532296, 119584472, 116511248,
3236          113311296, 111848104, 111848104, 111848104, 111848104, 111848104,
3237          113311288, 116511248, 119584472, 123532296, 126558464, 128774544,
3238          130363488, 131492208, 132688632, 133359432, 133735640, 133946816,
3239          134217728},
3240         {134217728, 133974552, 133785016, 133447456, 132845800, 131773512,
3241          130762848, 129341696, 127362872, 124667064, 121162064, 118443520,
3242          115622880, 113050208, 111848104, 111848104, 111848104, 113050208,
3243          115622880, 118443520, 121162064, 124667064, 127362856, 129341696,
3244          130762848, 131773512, 132845800, 133447456, 133785016, 133974552,
3245          134217728},
3246         {134217728, 134044048, 133908760, 133667912, 133239096, 132476240,
3247          131758880, 130752952, 129357832, 127467976, 125030208, 123155288,
3248          121225344, 119479336, 118233720, 117778472, 118233720, 119479336,
3249          121225328, 123155288, 125030224, 127467976, 129357832, 130752960,
3250          131758880, 132476240, 133239096, 133667912, 133908760, 134044048,
3251          134217728},
3252         {134217728, 134111512, 134028776, 133881624, 133619856, 133154992,
3253          132718832, 132108784, 131265840, 130129840, 128674776, 127563760,
3254          126427688, 125406704, 124682360, 124418480, 124682360, 125406704,
3255          126427688, 127563760, 128674776, 130129840, 131265840, 132108784,
3256          132718832, 133154992, 133619856, 133881608, 134028776, 134111512,
3257          134217728},
3258         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3259          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3260          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3261          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3262          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3263          134217728},
3264         {134217728, 134387728, 134519888, 134754464, 135170064, 135903024,
3265          136584848, 137529104, 138816208, 140519296, 142649904, 144239712,
3266          145833392, 147238976, 148221248, 148576080, 148221248, 147238976,
3267          145833392, 144239712, 142649904, 140519312, 138816208, 137529088,
3268          136584848, 135903024, 135170064, 134754464, 134519888, 134387728,
3269          134217728},
3270         {134217728, 134503360, 134725216, 135118656, 135814608, 137038528,
3271          138173216, 139738624, 141861648, 144652528, 148116256, 150681920,
3272          153238576, 155481344, 157042224, 157604800, 157042224, 155481344,
3273          153238576, 150681920, 148116256, 144652528, 141861648, 139738624,
3274          138173216, 137038528, 135814608, 135118656, 134725200, 134503360,
3275          134217728},
3276     },
3277     {
3278         {134217728, 133682984, 133265384, 132519816, 131185264, 128787744,
3279          126504696, 123253640, 118640752, 112174832, 111848104, 111848104,
3280          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3281          111848104, 111848104, 111848104, 112174832, 118640752, 123253640,
3282          126504696, 128787744, 131185264, 132519816, 133265384, 133682984,
3283          134217728},
3284         {134217728, 133716728, 133325584, 132627440, 131378384, 129136568,
3285          127004448, 123973008, 119681960, 113689744, 111848104, 111848104,
3286          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3287          111848104, 111848104, 111848104, 113689744, 119681960, 123973008,
3288          127004448, 129136568, 131378376, 132627440, 133325584, 133716744,
3289          134217728},
3290         {134217728, 133768056, 133417096, 132790928, 131671560, 129665320,
3291          127760792, 125059176, 121248440, 115955928, 111848104, 111848104,
3292          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3293          111848104, 111848104, 111848104, 115955928, 121248440, 125059176,
3294          127760792, 129665320, 131671560, 132790928, 133417096, 133768056,
3295          134217728},
3296         {134217728, 133896640, 133646248, 133200016, 132403792, 130981736,
3297          129637848, 127742080, 125090024, 121452368, 116676152, 112931424,
3298          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3299          111848104, 112931424, 116676152, 121452368, 125090024, 127742080,
3300          129637848, 130981736, 132403792, 133200016, 133646248, 133896640,
3301          134217728},
3302         {134217728, 134021376, 133868400, 133596016, 133110896, 132247376,
3303          131434736, 130294184, 128710328, 126560936, 123781432, 121638024,
3304          119426296, 117420384, 115986304, 115461520, 115986304, 117420384,
3305          119426296, 121638024, 123781432, 126560936, 128710328, 130294184,
3306          131434736, 132247360, 133110896, 133596016, 133868400, 134021376,
3307          134217728},
3308         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3309          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3310          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3311          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3312          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3313          134217728},
3314         {134217728, 134531696, 134775520, 135207824, 135972192, 137315552,
3315          138559920, 140275120, 142598512, 145648128, 149426144, 152220016,
3316          155000416, 157436608, 159130592, 159740864, 159130592, 157436608,
3317          155000416, 152220016, 149426144, 145648128, 142598512, 140275120,
3318          138559920, 137315536, 135972192, 135207824, 134775504, 134531696,
3319          134217728},
3320         {134217728, 134745024, 135153936, 135877760, 137153824, 139385200,
3321          141439904, 144253616, 148033040, 152942128, 158949856, 163344976,
3322          167682224, 171454608, 174063344, 175000352, 174063344, 171454608,
3323          167682208, 163344976, 158949856, 152942128, 148033040, 144253632,
3324          141439904, 139385200, 137153824, 135877760, 135153936, 134745040,
3325          134217744},
3326     },
3327     {
3328         {134217728, 133518624, 132972056, 131994936, 130241488, 127076656,
3329          124044168, 119691480, 113437856, 111848104, 111848104, 111848104,
3330          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3331          111848104, 111848104, 111848104, 111848104, 113437856, 119691480,
3332          124044168, 127076656, 130241488, 131994936, 132972056, 133518624,
3333          134217728},
3334         {134217728, 133562760, 133050888, 132136072, 130495576, 127538336,
3335          124709592, 120658264, 114858008, 111848104, 111848104, 111848104,
3336          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3337          111848104, 111848104, 111848104, 111848104, 114858008, 120658264,
3338          124709592, 127538336, 130495560, 132136072, 133050888, 133562760,
3339          134217728},
3340         {134217728, 133629896, 133170680, 132350456, 130881064, 128237360,
3341          125714928, 122114032, 116984936, 111848104, 111848104, 111848104,
3342          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3343          111848104, 111848104, 111848104, 111848104, 116984936, 122114032,
3344          125714928, 128237360, 130881064, 132350456, 133170680, 133629896,
3345          134217728},
3346         {134217728, 133798056, 133470584, 132886472, 131842704, 129973568,
3347          128201072, 125690088, 122155288, 117261000, 111848104, 111848104,
3348          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3349          111848104, 111848104, 111848104, 117261000, 122155288, 125690088,
3350          128201072, 129973568, 131842704, 132886456, 133470584, 133798056,
3351          134217728},
3352         {134217728, 133961128, 133761128, 133404840, 132769744, 131637408,
3353          130569696, 129067480, 126974144, 124119080, 120401016, 117512176,
3354          114509792, 111848104, 111848104, 111848104, 111848104, 111848104,
3355          114509792, 117512160, 120401008, 124119080, 126974144, 129067480,
3356          130569696, 131637424, 132769744, 133404840, 133761128, 133961128,
3357          134217728},
3358         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3359          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3360          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3361          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3362          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3363          134217728},
3364         {134217728, 134627808, 134946048, 135509888, 136505536, 138251328,
3365          139864096, 142080384, 145070800, 148976736, 153787568, 157326848,
3366          160834672, 163897216, 166020960, 166784896, 166020960, 163897200,
3367          160834688, 157326848, 153787568, 148976736, 145070800, 142080384,
3368          139864096, 138251328, 136505536, 135509888, 134946048, 134627808,
3369          134217744},
3370         {134217728, 134906272, 135439648, 136382608, 138041424, 140931408,
3371          143581232, 147193280, 152017056, 158239216, 165794560, 171285200,
3372          176676288, 181345168, 184563696, 185717792, 184563696, 181345168,
3373          176676272, 171285200, 165794560, 158239216, 152017056, 147193280,
3374          143581216, 140931408, 138041424, 136382608, 135439648, 134906272,
3375          134217744},
3376     },
3377     {
3378         {134217728, 133460856, 132868912, 131810120, 129908448, 126470312,
3379          123168472, 118415200, 111848104, 111848104, 111848104, 111848104,
3380          111848104, 111848104, 111848104, 0,         111848104, 111848104,
3381          111848104, 111848104, 111848104, 111848104, 111848104, 118415200,
3382          123168472, 126470312, 129908448, 131810120, 132868912, 133460856,
3383          134217728},
3384         {134217728, 133508664, 132954296, 131963096, 130184144, 126972336,
3385          123893664, 119472480, 113115264, 111848104, 111848104, 111848104,
3386          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3387          111848104, 111848104, 111848104, 111848104, 113115272, 119472480,
3388          123893664, 126972336, 130184144, 131963096, 132954280, 133508664,
3389          134217728},
3390         {134217728, 133581352, 133084040, 132195432, 130602352, 127732136,
3391          124988584, 121062824, 115450448, 111848104, 111848104, 111848104,
3392          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3393          111848104, 111848104, 111848104, 111848104, 115450448, 121062824,
3394          124988584, 127732136, 130602352, 132195432, 133084040, 133581352,
3395          134217728},
3396         {134217728, 133763416, 133408824, 132776176, 131645104, 129617688,
3397          127692704, 124961536, 121107872, 115753192, 111848104, 111848104,
3398          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3399          111848104, 111848104, 111848104, 115753192, 121107872, 124961520,
3400          127692704, 129617688, 131645120, 132776176, 133408840, 133763416,
3401          134217728},
3402         {134217728, 133939968, 133723424, 133337648, 132649736, 131422568,
3403          130264576, 128633952, 126358808, 123250144, 119191232, 116028568,
3404          112732488, 111848104, 111848104, 111848104, 111848104, 111848104,
3405          112732488, 116028552, 119191232, 123250144, 126358808, 128633952,
3406          130264576, 131422568, 132649736, 133337648, 133723424, 133939968,
3407          134217728},
3408         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3409          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3410          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3411          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3412          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3413          134217728},
3414         {134217728, 134661536, 135005888, 135615808, 136692320, 138578416,
3415          140319184, 142708880, 145929024, 150128080, 155290032, 159081232,
3416          162833824, 166106272, 168373648, 169188880, 168373648, 166106272,
3417          162833824, 159081248, 155290032, 150128080, 145929040, 142708880,
3418          140319168, 138578416, 136692320, 135615808, 135005872, 134661536,
3419          134217744},
3420         {134217744, 134962848, 135539840, 136559456, 138351760, 141470368,
3421          144325616, 148211728, 153391520, 160057728, 168132016, 173987488,
3422          179727840, 184692672, 188111936, 189337408, 188111936, 184692672,
3423          179727824, 173987488, 168132016, 160057728, 153391504, 148211728,
3424          144325616, 141470352, 138351744, 136559456, 135539840, 134962848,
3425          134217744},
3426     },
3427     {
3428         {134217728, 133518624, 132972056, 131994936, 130241488, 127076656,
3429          124044168, 119691480, 113437856, 111848104, 111848104, 111848104,
3430          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3431          111848104, 111848104, 111848104, 111848104, 113437856, 119691480,
3432          124044168, 127076656, 130241488, 131994936, 132972056, 133518624,
3433          134217728},
3434         {134217728, 133562760, 133050888, 132136072, 130495576, 127538336,
3435          124709592, 120658264, 114858008, 111848104, 111848104, 111848104,
3436          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3437          111848104, 111848104, 111848104, 111848104, 114858008, 120658264,
3438          124709592, 127538336, 130495560, 132136072, 133050888, 133562760,
3439          134217728},
3440         {134217728, 133629896, 133170680, 132350456, 130881064, 128237360,
3441          125714928, 122114032, 116984936, 111848104, 111848104, 111848104,
3442          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3443          111848104, 111848104, 111848104, 111848104, 116984936, 122114032,
3444          125714928, 128237360, 130881064, 132350456, 133170680, 133629896,
3445          134217728},
3446         {134217728, 133798056, 133470584, 132886472, 131842704, 129973568,
3447          128201072, 125690088, 122155288, 117261000, 111848104, 111848104,
3448          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3449          111848104, 111848104, 111848104, 117261000, 122155288, 125690088,
3450          128201072, 129973568, 131842704, 132886456, 133470584, 133798056,
3451          134217728},
3452         {134217728, 133961128, 133761128, 133404840, 132769744, 131637408,
3453          130569696, 129067480, 126974144, 124119080, 120401016, 117512176,
3454          114509792, 111848104, 111848104, 111848104, 111848104, 111848104,
3455          114509792, 117512160, 120401008, 124119080, 126974144, 129067480,
3456          130569696, 131637424, 132769744, 133404840, 133761128, 133961128,
3457          134217728},
3458         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3459          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3460          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3461          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3462          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3463          134217728},
3464         {134217728, 134627808, 134946048, 135509888, 136505536, 138251328,
3465          139864096, 142080384, 145070800, 148976736, 153787568, 157326848,
3466          160834672, 163897216, 166020960, 166784896, 166020960, 163897200,
3467          160834688, 157326848, 153787568, 148976736, 145070800, 142080384,
3468          139864096, 138251328, 136505536, 135509888, 134946048, 134627808,
3469          134217744},
3470         {134217728, 134906272, 135439648, 136382608, 138041424, 140931408,
3471          143581232, 147193280, 152017056, 158239216, 165794560, 171285200,
3472          176676288, 181345168, 184563696, 185717792, 184563696, 181345168,
3473          176676272, 171285200, 165794560, 158239216, 152017056, 147193280,
3474          143581216, 140931408, 138041424, 136382608, 135439648, 134906272,
3475          134217744},
3476     },
3477     {
3478         {134217728, 133682984, 133265384, 132519816, 131185264, 128787744,
3479          126504696, 123253640, 118640752, 112174824, 111848104, 111848104,
3480          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3481          111848104, 111848104, 111848104, 112174824, 118640752, 123253640,
3482          126504696, 128787744, 131185264, 132519816, 133265384, 133682984,
3483          134217728},
3484         {134217728, 133716728, 133325584, 132627440, 131378384, 129136568,
3485          127004448, 123973008, 119681960, 113689736, 111848104, 111848104,
3486          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3487          111848104, 111848104, 111848104, 113689744, 119681960, 123973008,
3488          127004448, 129136568, 131378376, 132627440, 133325584, 133716744,
3489          134217728},
3490         {134217728, 133768056, 133417096, 132790928, 131671560, 129665320,
3491          127760792, 125059176, 121248440, 115955928, 111848104, 111848104,
3492          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3493          111848104, 111848104, 111848104, 115955928, 121248440, 125059176,
3494          127760792, 129665320, 131671560, 132790928, 133417096, 133768056,
3495          134217728},
3496         {134217728, 133896640, 133646248, 133200016, 132403792, 130981736,
3497          129637848, 127742080, 125090024, 121452368, 116676144, 112931424,
3498          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3499          111848104, 112931424, 116676152, 121452360, 125090024, 127742080,
3500          129637848, 130981736, 132403792, 133200016, 133646248, 133896640,
3501          134217728},
3502         {134217728, 134021376, 133868400, 133596016, 133110896, 132247376,
3503          131434736, 130294184, 128710328, 126560928, 123781432, 121638024,
3504          119426296, 117420384, 115986304, 115461520, 115986304, 117420384,
3505          119426296, 121638024, 123781432, 126560928, 128710328, 130294184,
3506          131434736, 132247360, 133110896, 133596016, 133868400, 134021376,
3507          134217728},
3508         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3509          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3510          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3511          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3512          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3513          134217728},
3514         {134217728, 134531696, 134775520, 135207824, 135972192, 137315552,
3515          138559920, 140275120, 142598512, 145648144, 149426144, 152220032,
3516          155000416, 157436608, 159130592, 159740864, 159130592, 157436608,
3517          155000416, 152220032, 149426144, 145648128, 142598512, 140275120,
3518          138559920, 137315536, 135972192, 135207824, 134775504, 134531696,
3519          134217728},
3520         {134217728, 134745024, 135153936, 135877760, 137153824, 139385200,
3521          141439904, 144253632, 148033040, 152942128, 158949856, 163344976,
3522          167682224, 171454624, 174063344, 175000352, 174063344, 171454624,
3523          167682224, 163344976, 158949856, 152942128, 148033040, 144253632,
3524          141439904, 139385200, 137153824, 135877760, 135153936, 134745040,
3525          134217744},
3526     },
3527     {
3528         {134217728, 133928592, 133703168, 133301512, 132585192, 131306928,
3529          130100248, 128400288, 126026792, 122780488, 118535792, 115223136,
3530          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3531          111848104, 115223136, 118535792, 122780488, 126026792, 128400288,
3532          130100248, 131306912, 132585176, 133301512, 133703168, 133928592,
3533          134217728},
3534         {134217728, 133946816, 133735640, 133359432, 132688632, 131492208,
3535          130363488, 128774544, 126558464, 123532296, 119584464, 116511232,
3536          113311288, 111848104, 111848104, 111848104, 111848104, 111848104,
3537          113311272, 116511232, 119584464, 123532296, 126558464, 128774544,
3538          130363488, 131492208, 132688632, 133359416, 133735640, 133946816,
3539          134217728},
3540         {134217728, 133974552, 133785016, 133447456, 132845800, 131773512,
3541          130762848, 129341696, 127362856, 124667064, 121162048, 118443504,
3542          115622880, 113050192, 111848104, 111848104, 111848104, 113050192,
3543          115622872, 118443504, 121162064, 124667064, 127362856, 129341696,
3544          130762848, 131773512, 132845800, 133447456, 133785016, 133974552,
3545          134217728},
3546         {134217728, 134044048, 133908744, 133667912, 133239096, 132476240,
3547          131758880, 130752952, 129357832, 127467976, 125030208, 123155288,
3548          121225328, 119479320, 118233720, 117778464, 118233720, 119479320,
3549          121225328, 123155288, 125030208, 127467976, 129357832, 130752952,
3550          131758880, 132476240, 133239096, 133667912, 133908760, 134044048,
3551          134217728},
3552         {134217728, 134111512, 134028776, 133881624, 133619856, 133154992,
3553          132718832, 132108784, 131265840, 130129840, 128674776, 127563760,
3554          126427688, 125406704, 124682360, 124418464, 124682360, 125406704,
3555          126427688, 127563760, 128674776, 130129840, 131265840, 132108784,
3556          132718832, 133154992, 133619856, 133881608, 134028776, 134111512,
3557          134217728},
3558         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3559          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3560          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3561          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3562          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3563          134217728},
3564         {134217728, 134387728, 134519888, 134754464, 135170064, 135903024,
3565          136584848, 137529104, 138816208, 140519312, 142649904, 144239712,
3566          145833408, 147238976, 148221248, 148576080, 148221264, 147238976,
3567          145833408, 144239712, 142649920, 140519312, 138816208, 137529088,
3568          136584848, 135903024, 135170064, 134754464, 134519888, 134387744,
3569          134217728},
3570         {134217728, 134503360, 134725216, 135118656, 135814608, 137038528,
3571          138173216, 139738624, 141861664, 144652528, 148116256, 150681936,
3572          153238592, 155481344, 157042224, 157604816, 157042224, 155481344,
3573          153238592, 150681936, 148116256, 144652528, 141861648, 139738624,
3574          138173216, 137038544, 135814624, 135118656, 134725200, 134503360,
3575          134217728},
3576     },
3577     {
3578         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3579          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3580          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3581          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3582          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3583          134217728},
3584         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3585          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3586          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3587          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3588          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3589          134217728},
3590         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3591          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3592          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3593          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3594          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3595          134217728},
3596         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3597          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3598          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3599          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3600          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3601          134217728},
3602         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3603          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3604          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3605          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3606          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3607          134217728},
3608         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3609          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3610          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3611          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3612          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3613          134217728},
3614         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3615          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3616          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3617          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3618          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3619          134217728},
3620         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3621          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3622          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3623          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3624          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3625          134217728},
3626     },
3627     {
3628         {134217728, 134506240, 134730320, 135127728, 135830656, 137066736,
3629          138212592, 139793296, 141936768, 144754096, 148250000, 150839072,
3630          153418688, 155681312, 157255888, 157823360, 157255888, 155681312,
3631          153418688, 150839072, 148250000, 144754096, 141936768, 139793296,
3632          138212592, 137066736, 135830656, 135127728, 134730320, 134506240,
3633          134217728},
3634         {134217728, 134488080, 134698096, 135070576, 135729600, 136888992,
3635          137964336, 139448608, 141462896, 144113040, 147405392, 149846352,
3636          152280496, 154417184, 155904992, 156441360, 155904992, 154417184,
3637          152280496, 149846352, 147405392, 144113056, 141462896, 139448592,
3638          137964336, 136888992, 135729600, 135070592, 134698096, 134488080,
3639          134217728},
3640         {134217728, 134460464, 134649040, 134983616, 135575776, 136618224,
3641          137585888, 138922720, 140739120, 143132528, 146111456, 148323744,
3642          150532880, 152474432, 153827616, 154315712, 153827616, 152474432,
3643          150532880, 148323744, 146111456, 143132528, 140739104, 138922720,
3644          137585872, 136618224, 135575776, 134983616, 134649040, 134460464,
3645          134217728},
3646         {134217728, 134391168, 134526000, 134765312, 135189280, 135936912,
3647          136632336, 137595280, 138907696, 140643920, 142815424, 144435360,
3648          146058944, 147490640, 148491024, 148852384, 148491024, 147490640,
3649          146058944, 144435360, 142815424, 140643920, 138907696, 137595280,
3650          136632320, 135936912, 135189264, 134765312, 134526000, 134391168,
3651          134217728},
3652         {134217728, 134323872, 134406416, 134552992, 134812944, 135272112,
3653          135700080, 136294032, 137106080, 138184736, 139540672, 140557056,
3654          141579792, 142484928, 143119200, 143348672, 143119200, 142484928,
3655          141579792, 140557056, 139540672, 138184736, 137106080, 136294032,
3656          135700080, 135272112, 134812944, 134552992, 134406416, 134323872,
3657          134217728},
3658         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3659          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3660          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3661          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3662          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3663          134217728},
3664         {134217728, 134047496, 133914896, 133678832, 133258584, 132511008,
3665          131808096, 130822576, 129456008, 127605336, 125219000, 123384360,
3666          121496560, 119789320, 118571720, 118126808, 118571736, 119789320,
3667          121496560, 123384360, 125219000, 127605336, 129456008, 130822576,
3668          131808096, 132511008, 133258584, 133678848, 133914896, 134047496,
3669          134217728},
3670         {134217728, 133931488, 133708328, 133310696, 132601600, 131336352,
3671          130142072, 128459768, 126111336, 122900128, 118702864, 115428552,
3672          112012200, 111848104, 111848104, 111848104, 111848104, 111848104,
3673          112012200, 115428552, 118702864, 122900128, 126111336, 128459768,
3674          130142072, 131336352, 132601616, 133310696, 133708328, 133931488,
3675          134217728},
3676     },
3677     {
3678         {134217728, 134750352, 135163360, 135894416, 137183168, 139436416,
3679          141510976, 144351440, 148166016, 153119584, 159180064, 163612720,
3680          167986224, 171789568, 174419376, 175363904, 174419392, 171789552,
3681          167986224, 163612736, 159180064, 153119584, 148166016, 144351440,
3682          141510976, 139436416, 137183168, 135894416, 135163360, 134750352,
3683          134217744},
3684         {134217728, 134716864, 135103984, 135789392, 136998240, 139113424,
3685          141062640, 143734096, 147326256, 151998160, 157724080, 161918432,
3686          166061616, 169668288, 172163984, 173060688, 172163968, 169668288,
3687          166061616, 161918432, 157724080, 151998160, 147326256, 143734096,
3688          141062640, 139113424, 136998240, 135789392, 135103984, 134716864,
3689          134217744},
3690         {134217728, 134665904, 135013632, 135629504, 136716496, 138620704,
3691          140377968, 142790048, 146039760, 150276480, 155483472, 159306928,
3692          163090832, 166390080, 168675792, 169497600, 168675792, 166390080,
3693          163090832, 159306944, 155483488, 150276480, 146039760, 142790048,
3694          140377968, 138620704, 136716496, 135629504, 135013616, 134665904,
3695          134217744},
3696         {134217728, 134538048, 134786784, 135227776, 136007472, 137377520,
3697          138646400, 140395008, 142763040, 145870208, 149717968, 152562416,
3698          155392320, 157871248, 159594640, 160215424, 159594624, 157871248,
3699          155392320, 152562416, 149717968, 145870208, 142763040, 140395008,
3700          138646400, 137377520, 136007472, 135227776, 134786768, 134538048,
3701          134217728},
3702         {134217728, 134413792, 134566144, 134836576, 135315504, 136159568,
3703          136944176, 138029792, 139507872, 141460704, 143899120, 145715424,
3704          147533568, 149135008, 150253024, 150656672, 150253024, 149135008,
3705          147533568, 145715424, 143899120, 141460688, 139507872, 138029792,
3706          136944176, 136159584, 135315504, 134836576, 134566160, 134413792,
3707          134217728},
3708         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3709          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3710          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3711          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3712          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3713          134217728},
3714         {134217728, 133903024, 133657608, 133220288, 132440008, 131046696,
3715          129730280, 127873712, 125277552, 121718608, 117049664, 113392528,
3716          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3717          111848104, 113392528, 117049680, 121718608, 125277552, 127873712,
3718          129730280, 131046696, 132440024, 133220288, 133657624, 133903024,
3719          134217728},
3720         {134217728, 133688336, 133274944, 132536912, 131215936, 128843168,
3721          126584160, 123368104, 118806640, 112416656, 111848104, 111848104,
3722          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3723          111848104, 111848104, 111848104, 112416656, 118806640, 123368104,
3724          126584160, 128843168, 131215952, 132536912, 133274944, 133688336,
3725          134217728},
3726     },
3727     {
3728         {134217728, 134913216, 135451936, 136404304, 138079504, 140997600,
3729          143672688, 147318512, 152186224, 158463280, 166082896, 171618768,
3730          177053216, 181758880, 185002352, 186165344, 185002352, 181758896,
3731          177053216, 171618768, 166082896, 158463296, 152186224, 147318512,
3732          143672688, 140997600, 138079504, 136404304, 135451936, 134913216,
3733          134217744},
3734         {134217728, 134869504, 135374512, 136267584, 137839408, 140580112,
3735          143095472, 146527744, 151117280, 157046336, 164257936, 169506256,
3736          174664912, 179136576, 182221168, 183327616, 182221168, 179136560,
3737          174664928, 169506256, 164257936, 157046336, 151117296, 146527744,
3738          143095472, 140580112, 137839408, 136267584, 135374512, 134869504,
3739          134217744},
3740         {134217728, 134802992, 135256672, 136059376, 137473424, 139942768,
3741          142213056, 145316768, 149476832, 154866368, 161442736, 166241776,
3742          170968496, 175072880, 177907744, 178925312, 177907760, 175072880,
3743          170968496, 166241776, 161442736, 154866368, 149476832, 145316768,
3744          142213056, 139942768, 137473424, 136059376, 135256672, 134802992,
3745          134217744},
3746         {134217728, 134636080, 134960736, 135535920, 136551440, 138331744,
3747          139976000, 142235024, 145282080, 149260352, 154157968, 157759584,
3748          161328032, 164442560, 166601920, 167378576, 166601920, 164442544,
3749          161328032, 157759584, 154157968, 149260368, 145282080, 142235024,
3750          139976016, 138331728, 136551456, 135535920, 134960736, 134636096,
3751          134217744},
3752         {134217728, 134473824, 134672800, 135025728, 135650240, 136749360,
3753          137769200, 139177520, 141089920, 143607984, 146739200, 149062688,
3754          151381328, 153417872, 154836624, 155348256, 154836640, 153417872,
3755          151381328, 149062688, 146739200, 143607984, 141089920, 139177520,
3756          137769200, 136749360, 135650256, 135025712, 134672784, 134473824,
3757          134217728},
3758         {134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3759          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3760          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3761          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3762          134217728, 134217728, 134217728, 134217728, 134217728, 134217728,
3763          134217728},
3764         {134217728, 133806400, 133485440, 132913000, 131890240, 130059096,
3765          128323168, 125864856, 122406120, 117621128, 111848104, 111848104,
3766          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3767          111848104, 111848104, 111848104, 117621120, 122406120, 125864856,
3768          128323168, 130059096, 131890240, 132913000, 133485440, 133806400,
3769          134217728},
3770         {134217728, 133525632, 132984568, 132017344, 130281848, 127150040,
3771          124150024, 119845456, 113664464, 111848104, 111848104, 111848104,
3772          111848104, 111848104, 111848104, 111848104, 111848104, 111848104,
3773          111848104, 111848104, 111848104, 111848104, 113664464, 119845456,
3774          124150024, 127150040, 130281848, 132017344, 132984568, 133525632,
3775          134217728},
3776     },
3777 };
3778 
3779 const WORD32 ixheaacd_atan_table_Q28[16][8][31] = {
3780     {
3781         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3782          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3783         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3784          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3785         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3786          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3787         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3788          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3789         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3790          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3791         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3792          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3793         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3794          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3795         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3796          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3797     },
3798     {
3799         {105414360, 104839440, 104395760, 103614856, 102251296, 99903616,
3800          97777528,  94910424,  91113928,  86209256,  80075696,  75298264,
3801          70016792,  64317196,  58324216,  52191708,  46086824,  40171656,
3802          34586568,  29438704,  24797036,  18844526,  14076835,  10372791,
3803          7563109,   5470589,   3149178,   1794887,   1017097,   574441,
3804          3},
3805         {105414360, 104839456, 104395808, 103614992, 102251712, 99904768,
3806          97779568,  94913880,  91119464,  86217496,  80086976,  75311480,
3807          70031656,  64333272,  58341012,  52208712,  46103544,  40187596,
3808          34601260,  29451742,  24808156,  18852650,  14082295,  10376209,
3809          7565131,   5471733,   3149591,   1795028,   1017143,   574456,
3810          3},
3811         {105414360, 104839480, 104395880, 103615208, 102252344, 99906552,
3812          97782736,  94919288,  91128192,  86230640,  80105168,  75332944,
3813          70055936,  64359672,  58368684,  52236768,  46131100,  40213788,
3814          34625280,  29472930,  24826096,  18865614,  14090922,  10381562,
3815          7568273,   5473501,   3150225,   1795244,   1017214,   574479,
3816          3},
3817         {105414360, 104839536, 104396064, 103615760, 102253976, 99911160,
3818          97791048,  94933704,  91151936,  86267232,  80157136,  75395312,
3819          70127632,  64438612,  58452120,  52321616,  46214224,  40292168,
3820          34696284,  29534604,  24877446,  18901780,  14114422,  10395857,
3821          7576530,   5478088,   3151847,   1795790,   1017394,   574537,
3822          3},
3823         {105414360, 104839592, 104396240, 103616296, 102255600, 99915856,
3824          97799664,  94949000,  91177904,  86308736,  80218568,  75471136,
3825          70217072,  64539228,  58560004,  52431916,  46321792,  40392248,
3826          34785076,  29609790,  24938336,  18942938,  14140199,  10411065,
3827          7585108,   5482768,   3153468,   1796330,   1017569,   574594,
3828          3},
3829         {105414360, 104839680, 104396520, 103617168, 102258248, 99923736,
3830          97814472,  94976184,  91226104,  86390216,  80347528,  75638144,
3831          70423488,  64780944,  58826448,  52707184,  46587916,  40633420,
3832          34990876,  29776224,  25066838,  19024148,  14188262,  10438183,
3833          7599892,   5490633,   3156118,   1797198,   1017849,   574683,
3834          3},
3835         {105414360, 104839824, 104396976, 103618608, 102262752, 99937728,
3836          97841960,  95029816,  91329816,  86588048,  80716144,  76183448,
3837          71203432,  65834132,  60122612,  54107316,  47891724,  41697008,
3838          35779764,  30327720,  25439258,  19223604,  14292623,  10492064,
3839          7627470,   5504663,   3160627,   1798637,   1018307,   574828,
3840          3},
3841         {105414360, 104839928, 104397288, 103619616, 102266008, 99948384,
3842          97863952,  95076024,  91429712,  86814424,  81270904,  77262808,
3843          73480384,  71228240,  75154792,  90330880,  64216388,  47491216,
3844          38190000,  31457082,  26014456,  19455916,  14394385,  10538885,
3845          7649673,   5515393,   3163899,   1799652,   1018625,   574928,
3846          3},
3847     },
3848     {
3849         {210828704, 209763824, 208938560, 207478752, 204908032, 200419760,
3850          196290896, 190633616, 183000672, 172937648, 160110704, 149997200,
3851          138756608, 126624216, 113938336, 101099072, 88510592,  76526288,
3852          65413280,  55341428,  46391316,  35074004,  26116856,  19208962,
3853          13991278,  10114556,  5820107,   3316738,   1879389,   1061436,
3854          6},
3855         {210828704, 209763936, 208938896, 207479776, 204911072, 200428368,
3856          196306384, 190660432, 183044720, 173005232, 160205968, 150110720,
3857          138885968, 126765280, 114085952, 101247824, 88655264,  76662112,
3858          65536160,  55448352,  46480712,  35137556,  26158596,  19234612,
3859          14006231,  10122925,  5823092,   3317749,   1879722,   1061544,
3860          6},
3861         {210828704, 209764096, 208939392, 207481328, 204915728, 200441616,
3862          196330368, 190702240, 183113968, 173112496, 160358752, 150294096,
3863          139096288, 126995848, 114328120, 101492232, 88892824,  76884520,
3864          65736460,  55621620,  46624620,  35238800,  26224436,  19274734,
3865          14029455,  10135852,  5827674,   3319296,   1880230,   1061707,
3866          6},
3867         {210828704, 209764512, 208940688, 207485280, 204927584, 200475808,
3868          196392960, 190812912, 183300576, 173407904, 160790096, 150820544,
3869          139709584, 127677032, 115050024, 102223720, 89602656,  77544544,
3870          66324264,  56122904,  47034384,  35520108,  26403298,  19381644,
3871          14090386,  10169363,  5839388,   3323218,   1881511,   1062120,
3872          6},
3873         {210828704, 209764912, 208941952, 207489168, 204939376, 200510416,
3874          196457296, 190929072, 183501872, 173737520, 161290464, 151447920,
3875          140459456, 128528208, 115965984, 103158064, 90506880,  78375576,
3876          67050572,  56727860,  47516240,  35838300,  26598646,  19495050,
3877          14153544,  10203491,  5851081,   3327087,   1882766,   1062523,
3878          6},
3879         {210828704, 209765552, 208943952, 207495408, 204958528, 200567968,
3880          196566624, 191132320, 183868128, 174368352, 162309120, 152784192,
3881          142129632, 130500344, 118149712, 105414360, 92679000,  80328360,
3882          68699080,  58044528,  48519584,  36460364,  26960592,  19696396,
3883          14262089,  10260740,  5870181,   3333310,   1884767,   1063161,
3884          6},
3885         {210828704, 209766592, 208947200, 207505680, 204990800, 200668800,
3886          196765424, 191522096, 184625504, 175818192, 165011728, 156772288,
3887          147807440, 138128784, 127521456, 115591336, 102270680, 88260824,
3888          74642472,  62217964,  51336324,  37958764,  27737034,  20093352,
3889          14463533,  10362519,  5902623,   3343611,   1888032,   1064195,
3890          6},
3891         {210828704, 209767296, 208949456, 207512880, 205013952, 200744336,
3892          196920864, 191846656, 185318832, 177353312, 168608176, 163416640,
3893          160727504, 165029712, 189073968, 241456736, 178005808, 122049624,
3894          90479408,  70104040,  55475472,  39658732,  28482874,  20435210,
3895          14624799,  10440064,  5926123,   3350871,   1890298,   1064906,
3896          6},
3897     },
3898     {
3899         {316243072, 314846656, 313757568, 311816384, 308352896, 302171040,
3900          296337664, 288127488, 276678912, 261007920, 240267568, 223492192,
3901          204621200, 184231600, 163158624, 142328864, 122556352, 104403376,
3902          88154704,  73876200,  61498028,  46182704,  34260640,  25149108,
3903          18299352,  13222145,  7605578,   4333750,   2455581,   1386840,
3904          8},
3905         {316243072, 314846976, 313758496, 311819264, 308361632, 302196576,
3906          296384960, 288212480, 276825088, 261244544, 240620416, 223927248,
3907          205130368, 184795488, 163749776, 142917424, 123115312, 104911608,
3908          88598136,  74247992,  61798064,  46386176,  34389240,  25225820,
3909          18343072,  13246210,  7614005,   4336575,   2456504,   1387138,
3910          8},
3911         {316243072, 314847424, 313759936, 311823680, 308374976, 302235808,
3912          296457920, 288344224, 277053216, 261616816, 241180800, 224622832,
3913          205949680, 185708032, 164710624, 143876432, 124026392, 105738528,
3914          89317024,  74847744,  62279204,  46709404,  34591704,  25345632,
3915          18410910,  13283357,  7626934,   4340894,   2457913,   1387591,
3916          8},
3917         {316243072, 314848576, 313763520, 311834784, 308408896, 302336352,
3918          296646528, 288688608, 277658208, 262622336, 242727504, 226572640,
3919          208281664, 188341088, 167512304, 146689696, 126701240, 108155720,
3920          91400008,  76564704,  63637504,  47602004,  35139296,  25663918,
3921          18588502,  13379501,  7659962,   4351840,   2461468,   1388732,
3922          8},
3923         {316243072, 314849696, 313767008, 311845696, 308442400, 302437088,
3924          296837792, 289043680, 278295680, 263711664, 244460352, 228811376,
3925          211025776, 191509408, 170942688, 150169152, 130013904, 111127336,
3926          93923424,  78603792,  65214388,  48602512,  35733560,  26000040,
3927          18772012,  13477197,  7692890,   4362631,   2464949,   1389845,
3928          8},
3929         {316243072, 314851456, 313772576, 311863104, 308496480, 302602432,
3930          297156960, 289649728, 279417792, 265709120, 247806384, 233308320,
3931          216768720, 198401536, 178640624, 158121536, 137602432, 117841520,
3932          99474352,  82934752,  68436688,  50533952,  36825288,  26593334,
3933          19086120,  13640627,  7746590,   4379971,   2470496,   1391611,
3934          8},
3935         {316243072, 314854304, 313781600, 311891584, 308586432, 302885824,
3936          297719616, 290762432, 281600928, 269929056, 255733744, 245043360,
3937          233506176, 220942800, 206510464, 188780448, 167001392, 142516720,
3938          118085768, 95972968,  77157136,  55082256,  39133424,  27751766,
3939          19665234,  13929855,  7837575,   4408639,   2479541,   1394467,
3940          8},
3941         {316243072, 314856256, 313787808, 311911392, 308650144, 303093152,
3942          298144768, 291644096, 283459968, 273946560, 264748512, 260980608,
3943          262699168, 277087168, 321151200, 394123840, 324055360, 228764272,
3944          162653280, 119096696, 89459480,  60122168,  41317836,  28739580,
3945          20125738,  14149189,  7903307,   4428811,   2485814,   1396432,
3946          8},
3947     },
3948     {
3949         {421657440, 420139488, 418946528, 416800672, 412909824, 405768000,
3950          398798528, 388615200, 373701408, 352009344, 321306208, 295197120,
3951          265052208, 232374288, 199428848, 168474672, 140988912, 117445760,
3952          97614400,  80976864,  67001780,  50094056,  37102532,  27221784,
3953          19805402,  14310412,  8231902,   4690748,   2657888,   1501102,
3954          8},
3955         {421657440, 420140000, 418948192, 416805888, 412925952, 405817184,
3956          398893152, 388794176, 374031200, 352591488, 322263552, 296453088,
3957          266595344, 234127472, 201261264, 170245184, 142589072, 118816240,
3958          98738176,  81865128,  67681552,  50525452,  37361620,  27370528,
3959          19887816,  14354855,  8247121,   4695786,   2659523,   1501627,
3960          8},
3961         {421657440, 420140832, 418950752, 416813824, 412950592, 405892416,
3962          399038240, 389069504, 374540352, 353494496, 323757792, 298423616,
3963          269031008, 236912448, 204189776, 173088128, 145165408, 121023688,
3964          100545224, 83288680,  68766080,  51208348,  37768500,  27602440,
3965          20015536,  14423394,  8270460,   4703485,   2662016,   1502426,
3966          8},
3967         {421657440, 420142848, 418957120, 416833824, 413012864, 406083584,
3968          399408640, 389776736, 375859200, 355859264, 327727040, 303720672,
3969          275669600, 244617728, 212408608, 181157024, 152524352, 127334264,
3970          105689200, 87307640,  71794608,  53080056,  38863244,  28216278,
3971          20349054,  14600477,  8330018,   4722985,   2668305,   1504437,
3972          8},
3973         {421657440, 420144832, 418963328, 416853376, 413073952, 406272672,
3974          399777696, 390488160, 377202752, 358308992, 331931552, 309437728,
3975          282992896, 253322832, 221909888, 190657120, 161278448, 134848896,
3976          111768392, 91990440,  75259304,  55157184,  40043144,  28861386,
3977          20692490,  14779977,  8389313,   4742194,   2674461,   1506398,
3978          8},
3979         {421657440, 420147936, 418973184, 416884416, 413171584, 406578080,
3980          400379520, 391663936, 379464224, 362537056, 339441728, 319954336,
3981          296943136, 270562688, 241463968, 210828720, 180193472, 151094752,
3982          124714296, 101703104, 82215704,  59120396,  42193204,  29993510,
3983          21277910,  15079353,  8485847,   4773030,   2684265,   1509508,
3984          8},
3985         {421657440, 420152960, 418989056, 416934784, 413331648, 407087776,
3986          401401312, 393709888, 383542496, 370571008, 354857280, 343114528,
3987          330489120, 316523552, 299496928, 276320320, 244582704, 205903744,
3988          165901392, 130010112, 100638336, 68322528,  46691836,  32186576,
3989          22350768,  15606794,  8648967,   4823931,   2700238,   1514536,
3990          8},
3991         {421657440, 420156384, 418999936, 416969536, 413443296, 407450528,
3992          402143200, 395241024, 386740992, 377366336, 369662080, 368527968,
3993          375197056, 397609792, 449444704, 516205376, 465462368, 362087840,
3994          258438672, 179525856, 126554704, 78481920,  50925604,  34045784,
3995          23199528,  16005132,  8766508,   4859691,   2711304,   1517993,
3996          8},
3997     },
3998     {
3999         {527071776, 525663296, 524547840, 522522432, 518787424, 511719680,
4000          504553280, 493592128, 476455264, 449151072, 405692192, 364814688,
4001          314764480, 260204640, 208654512, 165799504, 132838864, 107993088,
4002          88864512,  73593016,  61016300,  45833920,  34080076,  25068088,
4003          18265786,  13208915,  7602957,   4333255,   2455490,   1386823,
4004          8},
4005         {527071776, 525663968, 524550016, 522529280, 518809216, 511789088,
4006          504692864, 493873536, 477023936, 450294176, 407912896, 368083040,
4007          319153344, 265360480, 213877824, 170466944, 136659360, 110950480,
4008          91074048,  75204000,  62168492,  46509388,  34462976,  25278940,
4009          18379172,  13268763,  7622987,   4339800,   2457598,   1387497,
4010          8},
4011         {527071776, 525665024, 524553312, 522539712, 518842368, 511894848,
4012          504905440, 494302048, 477888864, 452029248, 411276832, 373037344,
4013          325837408, 273286560, 222000448, 177798416, 142702912, 115647968,
4014          94588960,  77764896,  63995604,  47574420,  35062716,  25607106,
4015          18554672,  13360983,  7653688,   4349799,   2460814,   1388524,
4016          8},
4017         {527071776, 525667616, 524561568, 522565952, 518925728, 512160800,
4018          505440320, 495379776, 480060704, 456371808, 419671424, 385428736,
4019          342733856, 293748832, 243537984, 197712496, 159394864, 128736152,
4020          104401184, 84889304,  69041664,  50472228,  36668388,  26472714,
4021          19011836,  13598833,  7731958,   4375112,   2468920,   1391105,
4022          8},
4023         {527071776, 525670144, 524569600, 522591456, 519006944, 512420320,
4024          505962656, 496432544, 482180128, 460599008, 427832576, 397536000,
4025          359516736, 314728096, 266563520, 219861040, 178476000, 143891040,
4026          115765904, 93067576,  74749312,  53662744,  38389064,  27378586,
4027          19481140,  13839382,  7809780,   4400025,   2476852,   1393623,
4028          8},
4029         {527071776, 525674176, 524582304, 522631776, 519135520, 512832256,
4030          506793344, 498109984, 485562304, 467353856, 440933088, 417176416,
4031          387412832, 351185728, 309140992, 263535888, 217930800, 175886048,
4032          139658944, 109895352, 86138704,  59717932,  41509480,  28961788,
4033          20278430,  14239528,  7936269,   4439982,   2489476,   1397613,
4034          8},
4035         {527071776, 525680576, 524602688, 522696672, 519343104, 513501216,
4036          508149376, 500867616, 491177920, 478742400, 463639360, 452372192,
4037          440252448, 426573952, 408733792, 381475072, 338855168, 280525408,
4038          216504432, 159999104, 116811992, 73859864,  48033652,  32018526,
4039          21734042,  14942109,  8149504,   4505844,   2510026,   1404063,
4040          8},
4041         {527071776, 525684960, 524616608, 522741088, 519485728, 513964384,
4042          509095872, 502817408, 495235360, 487294368, 481973920, 483250624,
4043          492921600, 517327296, 563364480, 613069184, 582305664, 502086528,
4044          381071808, 253160960, 162730896, 89940184,  54233516,  34613092,
4045          22883530,  15471362,  8302829,   4552048,   2524252,   1408495,
4046          8},
4047     },
4048     {
4049         {632486144, 631404160, 630541632, 628962560, 626006848, 620254784,
4050          614202752, 604493888, 588124864, 558622016, 501272640, 434361248,
4051          339721664, 238866928, 162754096, 116484152, 89986864,  73763176,
4052          62238744,  52877240,  44742032,  34289616,  25778564,  19071620,
4053          13937721,  10094245,  5816231,   3316020,   1879259,   1061412,
4054          6},
4055         {632486144, 631404800, 630543680, 628969216, 626028480, 620326592,
4056          614353408, 604818816, 588856448, 560378560, 505802368, 442767520,
4057          353024832, 254136256, 175962480, 126430968, 96994048,  78520456,
4058          65419852,  54997780,  46155356,  35055980,  26190098,  19289814,
4059          14051970,  10153425,  5835647,   3322294,   1881268,   1062052,
4060          6},
4061         {632486144, 631405824, 630546880, 628979392, 626061312, 620435456,
4062          614581376, 605308288, 589949440, 562964736, 512317856, 454700768,
4063          372074880, 276762944, 196044128, 141682288, 107802384, 85920168,
4064          70405200,  58335116,  48381672,  36259776,  26833198,  19628898,
4065          14228628,  10244553,  5865397,   3331877,   1884330,   1063026,
4066          6},
4067         {632486144, 631408256, 630554752, 629004736, 626143360, 620706752,
4068          615146880, 606512512, 592597440, 569059456, 527028256, 480971968,
4069          414517856, 330765376, 247566576, 182256848, 137009328, 106116024,
4070          84093808,  67506720,  54475932,  39516588,  28548308,  20520860,
4071          14687895,  10479249,  5941177,   3356125,   1892049,   1065476,
4072          6},
4073         {632486144, 631410688, 630562432, 629029312, 626222784, 620968128,
4074          615688640, 607654336, 595061824, 574547584, 539620928, 502759456,
4075          449954304, 379751840, 300289600, 227398144, 170699200, 129631024,
4076          99970280,  78022152,  61351280,  43090368,  30380256,  21451668,
4077          15158278,  10716186,  6016439,   3379975,   1899599,   1067865,
4078          6},
4079         {632486144, 631414464, 630574528, 629067968, 626347520, 621376512,
4080          616530368, 609410496, 598784192, 582583360, 557211968, 532248416,
4081          497725888, 450454656, 388712384, 316243072, 243773744, 182031456,
4082          134760256, 100237736, 75274184,  49902756,  33701968,  23075620,
4083          15955780,  11109605,  6138617,   3418196,   1911610,   1071650,
4084          6},
4085         {632486144, 631420544, 630593856, 629129728, 626546304, 622024256,
4086          617857472, 612152256, 604500352, 594592960, 582468992, 573393728,
4087          563597248, 552304000, 536529024, 509232736, 458470464, 373144992,
4088          265980880, 175277520, 115809552, 66314040,  40717416,  26216598,
4089          17410064,  11799018,  6344228,   3481124,   1931149,   1077765,
4090          6},
4091         {632486144, 631424704, 630607040, 629171712, 626681152, 622462336,
4092          618753152, 613998592, 608344384, 602686208, 599701056, 602055040,
4093          611306560, 631195136, 663846400, 695665664, 678745600, 629219584,
4094          527619200, 345921568, 187985760, 86310936,  47549656,  28903180,
4095          18560056,  12317920,  6491857,   3525223,   1944665,   1081966,
4096          6},
4097     },
4098     {
4099         {737900480, 737313472, 736843456, 735978112, 734341632, 731092416,
4100          727578432, 721723200, 711172416, 689515200, 632898368, 524671456,
4101          291627872, 124282568, 61909856,  39166204,  32726406,  30782714,
4102          28778620,  26053694,  22893106,  18076024,  13777827,  10259417,
4103          7520912,   5455094,   3146319,   1794368,   1017003,   574424,
4104          3},
4105         {737900480, 737313856, 736844736, 735982272, 734355200, 731139072,
4106          727679616, 721953472, 711743296, 691176960, 639550656, 546400448,
4107          337176160, 153194576, 79696616,  51414392,  40409976,  35288896,
4108          31462072,  27703048,  23931236,  18606918,  14052068,  10401011,
4109          7593699,   5492314,   3158367,   1798231,   1018235,   574816,
4110          3},
4111         {737900480, 737314496, 736846656, 735988544, 734375872, 731209600,
4112          727831808, 722297216, 712582592, 693540736, 648325568, 572924864,
4113          400936960, 201170544, 106893592, 68502096,  51196844,  41932300,
4114          35558792,  30265664,  25555562,  19438326,  14479913,  10620826,
4115          7706165,   5549599,   3176820,   1804132,   1020113,   575412,
4116          3},
4117         {737900480, 737315968, 736851520, 736004224, 734427392, 731384128,
4118          728205504, 723128192, 714552448, 698767168, 665389440, 617851520,
4119          518249088, 341071744, 189979888, 115866720, 79793448,  59627348,
4120          46625756,  37240340,  29975502,  21679968,  15618320,  11198082,
4121          7998192,   5697000,   3223802,   1819057,   1024845,   576910,
4122          3},
4123         {737900480, 737317504, 736856256, 736019456, 734476992, 731550720,
4124          728558400, 723898048, 716313280, 703122688, 677714048, 645514624,
4125          585425152, 469729280, 304799264, 181937120, 116903752, 81417144,
4126          59804904,  45335940,  34988372,  24141316,  16833072,  11799646,
4127          8296896,   5845648,   3270431,   1833731,   1029473,   578371,
4128          3},
4129         {737900480, 737319808, 736863680, 736043264, 734554432, 731808256,
4130          729097600, 725051328, 718858688, 709018048, 692447360, 674422272,
4131          645810304, 597029312, 509281120, 368950240, 228619376, 140871152,
4132          92090184,  63478204,  45453116,  28882404,  19041826,  12849181,
4133          8802888,   6092218,   3346065,   1857236,   1036832,   580686,
4134          3},
4135         {737900480, 737323520, 736875456, 736081088, 734676800, 732210048,
4136          729927424, 726786624, 722546496, 717012160, 710183424, 705045120,
4137          699473920, 692939328, 683288384, 664622720, 621866048, 513176832,
4138          298800288, 144682432, 80228568,  40814640,  23774754,  14887523,
4139          9725975,   6523960,   3473221,   1895906,   1048798,   584424,
4140          3},
4141         {737900480, 737326016, 736883520, 736106688, 734759040, 732477632,
4142          730474944, 727916992, 724904832, 721986304, 720753536, 722497344,
4143          728061952, 739005568, 755619392, 771010688, 763544704, 740635136,
4144          685348544, 485060256, 169322848, 56755684,  28517764,  16647276,
4145          10457803,  6848975,   3564451,   1922987,   1057072,   586991,
4146          3},
4147     },
4148     {
4149         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4150          -843314816, -843314816, -843314816, -843314816, -843314816, -843314752,
4151          -99,        -23,        -8,         0,          -5,         -6,
4152          -6,         -6,         -5,         -4,         -3,         -2,
4153          -2,         -1,         -1,         0,          0,          0,
4154          0},
4155         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4156          -843314816, -843314816, -843314816, -843314816, -843314816, -843314752,
4157          -180,       -33,        -14,        -9,         -7,         -7,
4158          -7,         -6,         -5,         -4,         -3,         -2,
4159          -2,         -1,         -1,         0,          0,          0,
4160          0},
4161         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4162          -843314816, -843314816, -843314816, -843314816, -843314816, -843314752,
4163          -3092,      -53,        -23,        -14,        -11,        -9,
4164          -8,         -7,         -6,         -4,         -3,         -2,
4165          -2,         -1,         -1,         0,          0,          0,
4166          0},
4167         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4168          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4169          -843314752, -298,       -55,        -28,        -19,        -14,
4170          -11,        -9,         -7,         -5,         -4,         -3,
4171          -2,         -1,         -1,         0,          0,          0,
4172          0},
4173         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4174          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4175          -843314816, -843314688, -193,       -55,        -30,        -20,
4176          -14,        -11,        -8,         -6,         -4,         -3,
4177          -2,         -1,         -1,         0,          0,          0,
4178          0},
4179         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4180          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4181          -843314816, -843314816, -843314752, -421657440, -91,        -40,
4182          -24,        -16,        -11,        -7,         -4,         -3,
4183          -2,         -1,         -1,         0,          0,          0,
4184          0},
4185         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4186          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4187          -843314816, -843314816, -843314816, -843314816, -843314816, -843314752,
4188          -252,       -43,        -21,        -10,        -6,         -3,
4189          -2,         -2,         -1,         0,          0,          0,
4190          0},
4191         {-843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4192          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4193          -843314816, -843314816, -843314816, -843314816, -843314816, -843314816,
4194          -843314816, -843314752, -56,        -14,        -7,         -4,
4195          -2,         -2,         -1,         0,          0,          0,
4196          0},
4197     },
4198     {
4199         {-737900480, -737313472, -736843456, -735978176, -734341632, -731092480,
4200          -727578496, -721723200, -711172416, -689515200, -632898368, -524671488,
4201          -291627872, -124282552, -61909848,  -39166196,  -32726402,  -30782708,
4202          -28778616,  -26053690,  -22893104,  -18076022,  -13777825,  -10259415,
4203          -7520911,   -5455092,   -3146318,   -1794368,   -1017003,   -574424,
4204          -3},
4205         {-737900480, -737313856, -736844736, -735982272, -734355264, -731139072,
4206          -727679616, -721953472, -711743360, -691176960, -639550656, -546400448,
4207          -337176160, -153194560, -79696608,  -51414384,  -40409972,  -35288892,
4208          -31462068,  -27703042,  -23931232,  -18606916,  -14052066,  -10401010,
4209          -7593697,   -5492313,   -3158366,   -1798231,   -1018235,   -574816,
4210          -3},
4211         {-737900480, -737314496, -736846656, -735988544, -734375872, -731209600,
4212          -727831808, -722297216, -712582592, -693540736, -648325568, -572924928,
4213          -400936960, -201170512, -106893576, -68502088,  -51196836,  -41932292,
4214          -35558788,  -30265660,  -25555558,  -19438322,  -14479910,  -10620825,
4215          -7706164,   -5549598,   -3176819,   -1804131,   -1020113,   -575412,
4216          -3},
4217         {-737900480, -737316032, -736851520, -736004288, -734427392, -731384128,
4218          -728205504, -723128192, -714552448, -698767168, -665389504, -617851520,
4219          -518249088, -341071712, -189979872, -115866704, -79793440,  -59627336,
4220          -46625748,  -37240336,  -29975498,  -21679964,  -15618318,  -11198080,
4221          -7998190,   -5696998,   -3223801,   -1819057,   -1024845,   -576910,
4222          -3},
4223         {-737900480, -737317504, -736856256, -736019456, -734476992, -731550784,
4224          -728558400, -723898112, -716313280, -703122688, -677714048, -645514624,
4225          -585425152, -469729280, -304799232, -181937104, -116903736, -81417128,
4226          -59804896,  -45335932,  -34988368,  -24141312,  -16833070,  -11799644,
4227          -8296895,   -5845647,   -3270430,   -1833731,   -1029472,   -578371,
4228          -3},
4229         {-737900480, -737319808, -736863680, -736043264, -734554432, -731808256,
4230          -729097600, -725051328, -718858688, -709018112, -692447360, -674422272,
4231          -645810304, -597029312, -509281120, -368950240, -228619360, -140871136,
4232          -92090168,  -63478192,  -45453108,  -28882400,  -19041824,  -12849179,
4233          -8802887,   -6092216,   -3346064,   -1857235,   -1036832,   -580686,
4234          -3},
4235         {-737900480, -737323520, -736875520, -736081152, -734676800, -732210112,
4236          -729927424, -726786624, -722546560, -717012224, -710183488, -705045120,
4237          -699473920, -692939328, -683288448, -664622784, -621866048, -513176832,
4238          -298800256, -144682416, -80228552,  -40814632,  -23774750,  -14887520,
4239          -9725973,   -6523959,   -3473220,   -1895905,   -1048798,   -584424,
4240          -3},
4241         {-737900480, -737326080, -736883520, -736106752, -734759104, -732477632,
4242          -730474944, -727917056, -724904896, -721986368, -720753536, -722497344,
4243          -728061952, -739005568, -755619456, -771010688, -763544704, -740635136,
4244          -685348544, -485060256, -169322832, -56755676,  -28517758,  -16647273,
4245          -10457802,  -6848973,   -3564450,   -1922987,   -1057072,   -586991,
4246          -3},
4247     },
4248     {
4249         {-632486144, -631404160, -630541632, -628962624, -626006912, -620254848,
4250          -614202752, -604493888, -588124928, -558622016, -501272672, -434361280,
4251          -339721664, -238866896, -162754096, -116484128, -89986864,  -73763168,
4252          -62238740,  -52877228,  -44742028,  -34289608,  -25778562,  -19071618,
4253          -13937720,  -10094244,  -5816230,   -3316020,   -1879259,   -1061412,
4254          -6},
4255         {-632486144, -631404800, -630543744, -628969280, -626028480, -620326656,
4256          -614353408, -604818880, -588856448, -560378624, -505802400, -442767552,
4257          -353024864, -254136224, -175962480, -126430968, -96994048,  -78520448,
4258          -65419836,  -54997768,  -46155352,  -35055976,  -26190096,  -19289814,
4259          -14051969,  -10153424,  -5835646,   -3322294,   -1881267,   -1062052,
4260          -6},
4261         {-632486144, -631405824, -630546880, -628979392, -626061312, -620435456,
4262          -614581376, -605308352, -589949440, -562964800, -512317888, -454700800,
4263          -372074880, -276762944, -196044080, -141682256, -107802384, -85920168,
4264          -70405192,  -58335112,  -48381668,  -36259772,  -26833196,  -19628898,
4265          -14228625,  -10244552,  -5865396,   -3331876,   -1884330,   -1063026,
4266          -6},
4267         {-632486144, -631408320, -630554816, -629004736, -626143424, -620706752,
4268          -615146880, -606512512, -592597440, -569059456, -527028288, -480972000,
4269          -414517888, -330765376, -247566576, -182256848, -137009312, -106116016,
4270          -84093792,  -67506712,  -54475932,  -39516584,  -28548306,  -20520858,
4271          -14687894,  -10479248,  -5941176,   -3356124,   -1892049,   -1065476,
4272          -6},
4273         {-632486144, -631410688, -630562496, -629029312, -626222848, -620968128,
4274          -615688640, -607654400, -595061824, -574547648, -539620928, -502759488,
4275          -449954304, -379751872, -300289600, -227398144, -170699200, -129631024,
4276          -99970272,  -78022152,  -61351276,  -43090364,  -30380254,  -21451666,
4277          -15158277,  -10716185,  -6016438,   -3379975,   -1899599,   -1067865,
4278          -6},
4279         {-632486144, -631414528, -630574528, -629067968, -626347520, -621376576,
4280          -616530368, -609410560, -598784192, -582583424, -557211968, -532248448,
4281          -497725920, -450454688, -388712416, -316243072, -243773744, -182031456,
4282          -134760256, -100237728, -75274176,  -49902756,  -33701964,  -23075618,
4283          -15955779,  -11109604,  -6138616,   -3418196,   -1911610,   -1071650,
4284          -6},
4285         {-632486144, -631420608, -630593920, -629129728, -626546368, -622024256,
4286          -617857472, -612152256, -604500352, -594593024, -582468992, -573393792,
4287          -563597248, -552304000, -536529056, -509232736, -458470496, -373144992,
4288          -265980880, -175277520, -115809544, -66314036,  -40717412,  -26216596,
4289          -17410062,  -11799017,  -6344227,   -3481124,   -1931149,   -1077765,
4290          -6},
4291         {-632486144, -631424704, -630607040, -629171712, -626681152, -622462336,
4292          -618753152, -613998656, -608344384, -602686272, -599701056, -602055040,
4293          -611306560, -631195136, -663846464, -695665728, -678745600, -629219648,
4294          -527619232, -345921600, -187985760, -86310936,  -47549652,  -28903178,
4295          -18560056,  -12317919,  -6491856,   -3525223,   -1944664,   -1081966,
4296          -6},
4297     },
4298     {
4299         {-527071808, -525663328, -524547904, -522522464, -518787456, -511719712,
4300          -504553344, -493592160, -476455328, -449151136, -405692224, -364814720,
4301          -314764512, -260204640, -208654496, -165799488, -132838856, -107993080,
4302          -88864496,  -73593008,  -61016300,  -45833920,  -34080072,  -25068086,
4303          -18265786,  -13208914,  -7602956,   -4333254,   -2455489,   -1386823,
4304          -8},
4305         {-527071808, -525664032, -524550048, -522529344, -518809248, -511789152,
4306          -504692896, -493873600, -477024000, -450294240, -407912928, -368083072,
4307          -319153344, -265360496, -213877824, -170466928, -136659360, -110950464,
4308          -91074040,  -75203984,  -62168492,  -46509388,  -34462972,  -25278938,
4309          -18379172,  -13268760,  -7622986,   -4339799,   -2457598,   -1387497,
4310          -8},
4311         {-527071808, -525665056, -524553344, -522539776, -518842432, -511894880,
4312          -504905472, -494302080, -477888896, -452029312, -411276864, -373037408,
4313          -325837408, -273286560, -222000464, -177798416, -142702912, -115647952,
4314          -94588960,  -77764888,  -63995600,  -47574416,  -35062712,  -25607104,
4315          -18554672,  -13360983,  -7653687,   -4349798,   -2460813,   -1388524,
4316          -8},
4317         {-527071808, -525667680, -524561632, -522566016, -518925792, -512160864,
4318          -505440352, -495379840, -480060736, -456371840, -419671488, -385428768,
4319          -342733888, -293748864, -243538000, -197712512, -159394864, -128736136,
4320          -104401192, -84889288,  -69041664,  -50472220,  -36668384,  -26472714,
4321          -19011836,  -13598832,  -7731957,   -4375111,   -2468919,   -1391105,
4322          -8},
4323         {-527071808, -525670208, -524569664, -522591520, -519007008, -512420384,
4324          -505962688, -496432608, -482180192, -460599072, -427832640, -397536032,
4325          -359516800, -314728128, -266563552, -219861056, -178475984, -143891040,
4326          -115765912, -93067576,  -74749312,  -53662744,  -38389064,  -27378586,
4327          -19481138,  -13839381,  -7809779,   -4400024,   -2476851,   -1393623,
4328          -8},
4329         {-527071808, -525674208, -524582336, -522631840, -519135552, -512832288,
4330          -506793408, -498110048, -485562336, -467353888, -440933120, -417176480,
4331          -387412896, -351185760, -309141024, -263535920, -217930816, -175886064,
4332          -139658944, -109895352, -86138704,  -59717932,  -41509480,  -28961786,
4333          -20278428,  -14239527,  -7936268,   -4439981,   -2489476,   -1397613,
4334          -8},
4335         {-527071808, -525680640, -524602720, -522696736, -519343168, -513501280,
4336          -508149440, -500867680, -491177984, -478742432, -463639424, -452372288,
4337          -440252512, -426573984, -408733888, -381475168, -338855200, -280525440,
4338          -216504464, -159999152, -116811992, -73859864,  -48033648,  -32018524,
4339          -21734040,  -14942109,  -8149503,   -4505843,   -2510026,   -1404062,
4340          -8},
4341         {-527071808, -525685024, -524616640, -522741120, -519485760, -513964448,
4342          -509095936, -502817440, -495235424, -487294400, -481973952, -483250688,
4343          -492921664, -517327360, -563364544, -613069184, -582305664, -502086560,
4344          -381071904, -253160976, -162730944, -89940184,  -54233516,  -34613092,
4345          -22883530,  -15471361,  -8302828,   -4552048,   -2524252,   -1408494,
4346          -8},
4347     },
4348     {
4349         {-421657408, -420139456, -418946528, -416800672, -412909824, -405768000,
4350          -398798528, -388615168, -373701408, -352009344, -321306208, -295197120,
4351          -265052192, -232374288, -199428848, -168474672, -140988896, -117445752,
4352          -97614400,  -80976864,  -67001780,  -50094052,  -37102532,  -27221788,
4353          -19805402,  -14310412,  -8231902,   -4690747,   -2657887,   -1501102,
4354          -8},
4355         {-421657408, -420140000, -418948192, -416805888, -412925952, -405817184,
4356          -398893120, -388794176, -374031200, -352591488, -322263520, -296453056,
4357          -266595328, -234127456, -201261264, -170245168, -142589072, -118816232,
4358          -98738176,  -81865128,  -67681552,  -50525456,  -37361620,  -27370528,
4359          -19887816,  -14354855,  -8247121,   -4695785,   -2659522,   -1501627,
4360          -8},
4361         {-421657408, -420140800, -418950720, -416813824, -412950592, -405892416,
4362          -399038240, -389069472, -374540320, -353494496, -323757792, -298423616,
4363          -269030976, -236912448, -204189776, -173088112, -145165408, -121023680,
4364          -100545224, -83288680,  -68766080,  -51208344,  -37768500,  -27602440,
4365          -20015536,  -14423394,  -8270459,   -4703484,   -2662016,   -1502426,
4366          -8},
4367         {-421657408, -420142816, -418957120, -416833824, -413012832, -406083552,
4368          -399408640, -389776736, -375859200, -355859232, -327727008, -303720672,
4369          -275669600, -244617712, -212408608, -181157008, -152524352, -127334256,
4370          -105689208, -87307640,  -71794608,  -53080056,  -38863244,  -28216278,
4371          -20349054,  -14600477,  -8330017,   -4722985,   -2668305,   -1504437,
4372          -8},
4373         {-421657408, -420144800, -418963328, -416853344, -413073952, -406272672,
4374          -399777664, -390488160, -377202752, -358308960, -331931552, -309437728,
4375          -282992896, -253322816, -221909888, -190657120, -161278432, -134848896,
4376          -111768392, -91990440,  -75259304,  -55157184,  -40043144,  -28861386,
4377          -20692490,  -14779979,  -8389313,   -4742193,   -2674461,   -1506398,
4378          -8},
4379         {-421657408, -420147904, -418973152, -416884384, -413171584, -406578080,
4380          -400379520, -391663904, -379464224, -362537024, -339441728, -319954336,
4381          -296943136, -270562688, -241463968, -210828720, -180193456, -151094736,
4382          -124714296, -101703096, -82215704,  -59120396,  -42193204,  -29993510,
4383          -21277910,  -15079353,  -8485847,   -4773029,   -2684265,   -1509508,
4384          -8},
4385         {-421657408, -420152928, -418989024, -416934752, -413331616, -407087776,
4386          -401401280, -393709888, -383542496, -370571008, -354857280, -343114528,
4387          -330489120, -316523520, -299496896, -276320320, -244582704, -205903728,
4388          -165901376, -130010112, -100638328, -68322528,  -46691836,  -32186576,
4389          -22350768,  -15606794,  -8648966,   -4823931,   -2700238,   -1514536,
4390          -8},
4391         {-421657408, -420156352, -418999936, -416969504, -413443264, -407450528,
4392          -402143200, -395241024, -386740960, -377366304, -369662048, -368527936,
4393          -375197024, -397609792, -449444704, -516205344, -465462368, -362087840,
4394          -258438672, -179525856, -126554704, -78481920,  -50925604,  -34045784,
4395          -23199528,  -16005132,  -8766508,   -4859691,   -2711304,   -1517993,
4396          -8},
4397     },
4398     {
4399         {-316243008, -314846624, -313757504, -311816352, -308352832, -302171008,
4400          -296337632, -288127456, -276678880, -261007888, -240267536, -223492144,
4401          -204621168, -184231584, -163158624, -142328848, -122556336, -104403368,
4402          -88154688,  -73876192,  -61498028,  -46182700,  -34260636,  -25149106,
4403          -18299350,  -13222144,  -7605577,   -4333749,   -2455580,   -1386840,
4404          -8},
4405         {-316243008, -314846912, -313758464, -311819232, -308361568, -302196544,
4406          -296384928, -288212416, -276825056, -261244496, -240620368, -223927216,
4407          -205130336, -184795472, -163749760, -142917408, -123115296, -104911600,
4408          -88598128,  -74247992,  -61798056,  -46386168,  -34389244,  -25225818,
4409          -18343070,  -13246209,  -7614004,   -4336575,   -2456504,   -1387137,
4410          -8},
4411         {-316243008, -314847392, -313759872, -311823616, -308374912, -302235744,
4412          -296457888, -288344192, -277053152, -261616784, -241180768, -224622800,
4413          -205949648, -185708016, -164710592, -143876416, -124026376, -105738512,
4414          -89317016,  -74847736,  -62279196,  -46709404,  -34591708,  -25345634,
4415          -18410908,  -13283356,  -7626933,   -4340893,   -2457913,   -1387591,
4416          -8},
4417         {-316243008, -314848512, -313763456, -311834752, -308408832, -302336288,
4418          -296646464, -288688576, -277658176, -262622288, -242727472, -226572608,
4419          -208281632, -188341072, -167512272, -146689680, -126701224, -108155704,
4420          -91399992,  -76564696,  -63637496,  -47602000,  -35139292,  -25663914,
4421          -18588502,  -13379500,  -7659961,   -4351839,   -2461468,   -1388732,
4422          -8},
4423         {-316243008, -314849632, -313766976, -311845632, -308442368, -302437024,
4424          -296837728, -289043648, -278295616, -263711632, -244460304, -228811328,
4425          -211025744, -191509376, -170942672, -150169120, -130013896, -111127320,
4426          -93923416,  -78603784,  -65214380,  -48602508,  -35733556,  -26000038,
4427          -18772010,  -13477196,  -7692889,   -4362630,   -2464949,   -1389845,
4428          -8},
4429         {-316243008, -314851424, -313772512, -311863040, -308496416, -302602400,
4430          -297156896, -289649696, -279417728, -265709072, -247806336, -233308272,
4431          -216768688, -198401504, -178640608, -158121504, -137602416, -117841504,
4432          -99474336,  -82934744,  -68436680,  -50533948,  -36825284,  -26593332,
4433          -19086118,  -13640626,  -7746589,   -4379970,   -2470496,   -1391610,
4434          -8},
4435         {-316243008, -314854272, -313781536, -311891520, -308586368, -302885760,
4436          -297719584, -290762368, -281600896, -269929024, -255733712, -245043328,
4437          -233506144, -220942752, -206510416, -188780416, -167001360, -142516672,
4438          -118085752, -95972952,  -77157128,  -55082252,  -39133420,  -27751764,
4439          -19665234,  -13929854,  -7837574,   -4408639,   -2479541,   -1394467,
4440          -8},
4441         {-316243008, -314856224, -313787744, -311911360, -308650080, -303093120,
4442          -298144704, -291644064, -283459904, -273946496, -264748464, -260980560,
4443          -262699104, -277087104, -321151136, -394123776, -324055296, -228764208,
4444          -162653232, -119096664, -89459472,  -60122148,  -41317832,  -28739578,
4445          -20125736,  -14149188,  -7903306,   -4428810,   -2485814,   -1396432,
4446          -8},
4447     },
4448     {
4449         {-210828752, -209763872, -208938592, -207478800, -204908080, -200419808,
4450          -196290928, -190633648, -183000704, -172937696, -160110736, -149997216,
4451          -138756640, -126624232, -113938360, -101099096, -88510608,  -76526296,
4452          -65413292,  -55341440,  -46391320,  -35074012,  -26116860,  -19208966,
4453          -13991280,  -10114557,  -5820108,   -3316738,   -1879390,   -1061436,
4454          -6},
4455         {-210828752, -209763984, -208938928, -207479824, -204911120, -200428400,
4456          -196306416, -190660464, -183044768, -173005280, -160206000, -150110752,
4457          -138886000, -126765304, -114085976, -101247840, -88655288,  -76662120,
4458          -65536172,  -55448360,  -46480720,  -35137564,  -26158602,  -19234616,
4459          -14006233,  -10122926,  -5823093,   -3317749,   -1879722,   -1061544,
4460          -6},
4461         {-210828752, -209764144, -208939440, -207481376, -204915760, -200441648,
4462          -196330416, -190702288, -183114016, -173112528, -160358784, -150294128,
4463          -139096320, -126995880, -114328144, -101492256, -88892840,  -76884536,
4464          -65736472,  -55621628,  -46624628,  -35238804,  -26224440,  -19274738,
4465          -14029458,  -10135854,  -5827674,   -3319296,   -1880230,   -1061707,
4466          -6},
4467         {-210828752, -209764560, -208940736, -207485328, -204927632, -200475856,
4468          -196392992, -190812944, -183300624, -173407952, -160790128, -150820560,
4469          -139709616, -127677056, -115050048, -102223736, -89602680,  -77544552,
4470          -66324276,  -56122908,  -47034392,  -35520116,  -26403304,  -19381648,
4471          -14090389,  -10169365,  -5839389,   -3323218,   -1881511,   -1062120,
4472          -6},
4473         {-210828752, -209764960, -208941984, -207489216, -204939424, -200510464,
4474          -196457344, -190929120, -183501920, -173737552, -161290496, -151447952,
4475          -140459488, -128528240, -115966008, -103158080, -90506904,  -78375592,
4476          -67050588,  -56727872,  -47516252,  -35838308,  -26598652,  -19495052,
4477          -14153547,  -10203492,  -5851082,   -3327087,   -1882766,   -1062523,
4478          -6},
4479         {-210828752, -209765600, -208944000, -207495456, -204958576, -200568016,
4480          -196566672, -191132352, -183868160, -174368384, -162309168, -152784224,
4481          -142129664, -130500376, -118149736, -105414376, -92679024,  -80328376,
4482          -68699096,  -58044540,  -48519596,  -36460372,  -26960598,  -19696400,
4483          -14262092,  -10260742,  -5870182,   -3333310,   -1884767,   -1063161,
4484          -6},
4485         {-210828752, -209766624, -208947248, -207505712, -204990848, -200668832,
4486          -196765472, -191522144, -184625552, -175818224, -165011760, -156772320,
4487          -147807488, -138128816, -127521488, -115591360, -102270704, -88260840,
4488          -74642488,  -62217976,  -51336332,  -37958768,  -27737038,  -20093356,
4489          -14463535,  -10362521,  -5902624,   -3343612,   -1888032,   -1064195,
4490          -6},
4491         {-210828752, -209767344, -208949504, -207512928, -205014000, -200744384,
4492          -196920912, -191846704, -185318880, -177353360, -168608208, -163416672,
4493          -160727552, -165029760, -189074016, -241456784, -178005872, -122049664,
4494          -90479424,  -70104056,  -55475480,  -39658748,  -28482878,  -20435214,
4495          -14624802,  -10440065,  -5926123,   -3350872,   -1890299,   -1064907,
4496          -6},
4497     },
4498     {
4499         {-105414352, -104839424, -104395752, -103614840, -102251280, -99903608,
4500          -97777512,  -94910408,  -91113920,  -86209240,  -80075680,  -75298248,
4501          -70016784,  -64317188,  -58324212,  -52191704,  -46086820,  -40171652,
4502          -34586568,  -29438702,  -24797034,  -18844524,  -14076834,  -10372790,
4503          -7563107,   -5470588,   -3149178,   -1794887,   -1017097,   -574441,
4504          -3},
4505         {-105414352, -104839440, -104395800, -103614984, -102251696, -99904760,
4506          -97779552,  -94913864,  -91119448,  -86217488,  -80086968,  -75311472,
4507          -70031648,  -64333264,  -58341004,  -52208708,  -46103540,  -40187592,
4508          -34601256,  -29451740,  -24808154,  -18852650,  -14082296,  -10376208,
4509          -7565130,   -5471732,   -3149590,   -1795028,   -1017143,   -574456,
4510          -3},
4511         {-105414352, -104839464, -104395864, -103615200, -102252328, -99906536,
4512          -97782720,  -94919272,  -91128184,  -86230632,  -80105160,  -75332928,
4513          -70055928,  -64359668,  -58368680,  -52236764,  -46131096,  -40213784,
4514          -34625276,  -29472926,  -24826094,  -18865612,  -14090921,  -10381562,
4515          -7568272,   -5473500,   -3150225,   -1795243,   -1017214,   -574479,
4516          -3},
4517         {-105414352, -104839520, -104396048, -103615744, -102253960, -99911152,
4518          -97791032,  -94933688,  -91151920,  -86267216,  -80157128,  -75395304,
4519          -70127624,  -64438604,  -58452116,  -52321612,  -46214216,  -40292164,
4520          -34696280,  -29534602,  -24877444,  -18901780,  -14114420,  -10395856,
4521          -7576529,   -5478088,   -3151847,   -1795790,   -1017393,   -574537,
4522          -3},
4523         {-105414352, -104839576, -104396224, -103616288, -102255584, -99915840,
4524          -97799648,  -94948992,  -91177888,  -86308728,  -80218552,  -75471128,
4525          -70217064,  -64539224,  -58559996,  -52431912,  -46321788,  -40392244,
4526          -34785072,  -29609788,  -24938334,  -18942936,  -14140198,  -10411064,
4527          -7585107,   -5482767,   -3153468,   -1796330,   -1017569,   -574593,
4528          -3},
4529         {-105414352, -104839672, -104396504, -103617152, -102258232, -99923720,
4530          -97814464,  -94976168,  -91226088,  -86390208,  -80347520,  -75638136,
4531          -70423480,  -64780936,  -58826440,  -52707176,  -46587912,  -40633416,
4532          -34990872,  -29776222,  -25066836,  -19024146,  -14188261,  -10438183,
4533          -7599891,   -5490632,   -3156117,   -1797198,   -1017849,   -574683,
4534          -3},
4535         {-105414352, -104839816, -104396960, -103618592, -102262736, -99937720,
4536          -97841944,  -95029800,  -91329808,  -86588032,  -80716136,  -76183440,
4537          -71203424,  -65834124,  -60122608,  -54107304,  -47891720,  -41697004,
4538          -35779764,  -30327718,  -25439256,  -19223604,  -14292622,  -10492064,
4539          -7627469,   -5504662,   -3160627,   -1798637,   -1018307,   -574828,
4540          -3},
4541         {-105414352, -104839912, -104397280, -103619608, -102266000, -99948376,
4542          -97863944,  -95076008,  -91429704,  -86814408,  -81270896,  -77262800,
4543          -73480376,  -71228232,  -75154784,  -90330848,  -64216360,  -47491208,
4544          -38189996,  -31457080,  -26014454,  -19455914,  -14394384,  -10538884,
4545          -7649672,   -5515392,   -3163898,   -1799652,   -1018624,   -574928,
4546          -3},
4547     }};
4548 
4549 const WORD32 ixheaacd_c_l_table_Q31[31] = {
4550     68,         12075997,   21473763,   38182223,   67875466,   120571390,
4551     170045077,  239449100,  336157459,  469148859,  647490682,  794298694,
4552     962206904,  1145934076, 1335698887, 1518500250, 1681545272, 1816183116,
4553     1919855175, 1995188112, 2047545319, 2095610977, 2121010179, 2134092347,
4554     2140740687, 2144096210, 2146410711, 2147144182, 2147376282, 2147449694,
4555     2147483647};
4556 
4557 const WORD32 ixheaacd_sin_table_Q31[8][31] = {
4558     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4559      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
4560     {750179061, 746245580, 743210706, 737870331, 728548620, 712505595,
4561      697979429, 678386783, 652421439, 618809885, 576615606, 543587743,
4562      506876195, 466993926, 424737371, 381140538, 337380886, 294653248,
4563      254039878, 216406178, 182341865, 138534277, 103401830, 76116249,
4564      55442477,  40067134,  23038730,  13121396,  7432107,   4196447,
4565      24},
4566     {1161262961, 1155790434, 1151559607, 1144096867, 1131016382, 1108345689,
4567      1087649071, 1059486043, 1021740286, 972201548,  909011376,  858841310,
4568      802424715,  740453756,  674139243,  605156167,  535487835,  467194735,
4569      402165023,  341910884,  287454637,  217648816,  161934922,  118876289,
4570      86395037,   62326858,   35765878,   20345239,   11515596,   6499487,
4571      37},
4572     {1716503346, 1710705303, 1706196326, 1698186767, 1683975371, 1658827737,
4573      1635302807, 1602433676, 1556860619, 1494490287, 1410930784, 1341611885,
4574      1260794215, 1168902519, 1067487796, 959278806,  847935697,  737527629,
4575      631893965,  534105311,  446175490,  334574700,  246745780,  179796016,
4576      129896719,  93282739,   53251977,   30198506,   17061963,   9620003,
4577      54},
4578     {1997091453, 1992944085, 1989690856, 1983852214, 1973306896, 1954076825,
4579      1935447004, 1908416859, 1869093029, 1812001456, 1730062329, 1657802892,
4580      1569207783, 1463537141, 1341868672, 1207527592, 1065884173, 923429508,
4581      786466908,  659983219,  547093745,  405656596,  296231282,  214127893,
4582      153738020,  109885815,  62401443,   35278435,   19896909,   11207148,
4583      63},
4584     {2147483647, 2147449694, 2147376282, 2147144182, 2146410711, 2144096210,
4585      2140740687, 2134092347, 2121010179, 2095610977, 2047545319, 1995188112,
4586      1919855175, 1816183116, 1681545272, 1518500250, 1335698887, 1145934076,
4587      962206904,  794298694,  647490682,  469148859,  336157459,  239449100,
4588      170045077,  120571390,  67875466,   38182223,   21473763,   12075997,
4589      68},
4590     {1735452507, 1741201627, 1745677174, 1753637197, 1767790913, 1792923770,
4591      1816518097, 1849561983, 1895318984, 1957003931, 2034703322, 2089967744,
4592      2134916861, 2144595142, 2081353083, 1914153740, 1653277521, 1353148056,
4593      1069993076, 832031145,  643429686,  438118607,  300387816,  207524268,
4594      144291161,  100823513,  55902457,   31184569,   17456772,   9791496,
4595      55},
4596     {302939858, 304635714, 305968630,  308367663,  312727041, 320788003,
4597      328771547, 340741324, 359192238,  388879484,  440075553, 497870534,
4598      595446097, 785304289, 1255861595, 2142108211, 997566324, 495493509,
4599      298429982, 198205829, 139164109,  87059272,   56928133,  38231805,
4600      26115252,  18039235,  9889297,    5483639,    3059686,   1713093,
4601      10}};
4602 
4603 const WORD32 ixheaacd_cos_table_Q31[8][31] = {
4604     {2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647,
4605      2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647,
4606      2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647,
4607      2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647,
4608      2147483647, 2147483647, 2147483647, 2147483647, 2147483647, 2147483647,
4609      2147483647},
4610     {2012192186, 2013654279, 2014776381, 2016738305, 2020124483, 2025838542,
4611      2030889149, 2037517458, 2045979541, 2056394987, 2068622842, 2077546241,
4612      2086806781, 2096092243, 2105061563, 2113390146, 2120815918, 2127173120,
4613      2132404689, 2136551985, 2139728362, 2143010563, 2144992793, 2146134277,
4614      2146767838, 2147109835, 2147360062, 2147443561, 2147470787, 2147479548,
4615      2147483647},
4616     {1806420315, 1809926653, 1812621442, 1817341018, 1825510329, 1839362893,
4617      1851676407, 1867933442, 1888844304, 1914813351, 1945606419, 1968267671,
4618      1991933883, 2015791223, 2038926752, 2060454327, 2079648720, 2096047494,
4619      2109490297, 2120090320, 2128157854, 2136425756, 2141369445, 2144190861,
4620      2145745072, 2146578995, 2147185791, 2147387271, 2147452772, 2147473812,
4621      2147483647},
4622     {1290465917, 1298142282, 1304062927, 1314476217, 1332633846, 1363809575,
4623      1391930582, 1429647625, 1479145371, 1542136441, 1618938029, 1676831408,
4624      1738414210, 1801486309, 1863372164, 1921319908, 1972990388, 2016863658,
4625      2052412248, 2080004215, 2100622158, 2121260425, 2133261010, 2139943787,
4626      2143551460, 2145456676, 2146823292, 2147271308, 2147415867, 2147462101,
4627      2147483647},
4628     {789500947,  799912428,  807970493,  822202171,  847198862,  890656938,
4629      930446620,  984698487,  1057439013, 1152534920, 1272230465, 1365055160,
4630      1466039887, 1571542254, 1676625923, 1775827450, 1864289931, 1938804777,
4631      1998288223, 2043552830, 2076625737, 2108821648, 2126953936, 2136781520,
4632      2141973538, 2144670400, 2146576828, 2147193855, 2147391471, 2147454404,
4633      2147483647},
4634     {68,         12075997,   21473763,   38182223,   67875466,   120571390,
4635      170045077,  239449100,  336157459,  469148859,  647490682,  794298694,
4636      962206904,  1145934076, 1335698887, 1518500250, 1681545272, 1816183116,
4637      1919855175, 1995188112, 2047545319, 2095610977, 2121010179, 2134092347,
4638      2140740687, 2144096210, 2146410711, 2147144182, 2147376282, 2147449694,
4639      2147483647},
4640     {-1264867824, -1256941889, -1250718683, -1239533218, -1219262608,
4641      -1181994236, -1145402996, -1091240803, -1009679140, -884206781,
4642      -686781195,  -493680916,  -231982790,  111344931,   528824509,
4643      973499603,   1370532546,  1667536014,  1861934703,  1979750033,
4644      2048825092,  2102317318,  2126370894,  2137432969,  2142630645,
4645      2145115530,  2146755909,  2147257214,  2147412694,  2147461326,
4646      2147483647},
4647     {-2126008810, -2125766474, -2125575032, -2125228318, -2124591212,
4648      -2123389054, -2122167592, -2120278606, -2117230964, -2111979821,
4649      -2101908544, -2088973660, -2063281359, -1998745405, -1741980962,
4650      151850025,   1901722232,  2089538753,  2126646554,  2138317205,
4651      2142969755,  2145718225,  2146728955,  2147143299,  2147324850,
4652      2147407880,  2147460877,  2147476647,  2147481468,  2147482965,
4653      2147483647}};
4654 
4655 const WORD32
4656     ixheaacd_mps_polyphase_filter_coeff_fix[10 * MAX_NUM_QMF_BANDS_SAC / 2] = {
4657         0x00000000, 0x0055dba0, 0xffede50e, 0x005b5370, 0xffed978a, 0x006090c3,
4658         0xffefc9b9, 0x0065fde5, 0xfff0065d, 0x006b47fa, 0xffeff6cb, 0x0070c8a4,
4659         0xffef7b8b, 0x0075fdec, 0xffeedfa4, 0x007b3874, 0xffee1650, 0x00807993,
4660         0xffed651e, 0x0085c217, 0xffecc31c, 0x008a7dd6, 0xffebe77b, 0x008f4bfc,
4661         0xffeb50b3, 0x009424c5, 0xffea9193, 0x0098b855, 0xffe9ca76, 0x009d10bf,
4662         0xffe940f4, 0x00a1039c, 0xffe88ba8, 0x00a520bb, 0xffe83a08, 0x00a8739d,
4663         0xffe79e16, 0x00abe79d, 0xffe7746f, 0x00af374c, 0xffe6d466, 0x00b1978d,
4664         0xffe6afee, 0x00b3d15b, 0xffe65416, 0x00b5c866, 0xffe681c6, 0x00b74c36,
4665         0xffe66dd0, 0x00b8394b, 0xffe66fac, 0x00b8fe0d, 0xffe69424, 0x00b8c6b0,
4666         0xffe6fed4, 0x00b85f70, 0xffe75361, 0x00b73aaf, 0xffe80415, 0x00b58c8c,
4667         0xffe85b4b, 0x00b36acd, 0xffe954d1, 0x00b06b68, 0xffea353b, 0x00acbd2e,
4668         0xffeb3849, 0x00a85e93, 0xffec8409, 0x00a3508f, 0xffedc419, 0x009da525,
4669         0xffef2395, 0x0096dcc1, 0xfff0e7f0, 0x008f87aa, 0xfff294c4, 0x00872c62,
4670         0xfff48701, 0x007e0392, 0xfff681d7, 0x007400b7, 0xfff91fca, 0x006928a0,
4671         0xfffb42b1, 0x005d36de, 0xfffdfa25, 0x00504f40, 0x00007134, 0x00426f36,
4672         0x00039608, 0x0033b926, 0x0006b1ce, 0x0023b989, 0x0009aa3e, 0x00131c75,
4673         0x000d31b4, 0x0000e790, 0x0010bc63, 0xffee183b, 0x001471f7, 0xffda17f2,
4674         0x0018703e, 0xffc4e365, 0x001c3549, 0xffaea5d6, 0x002064f7, 0xff975c02,
4675         0x0024dd50, 0xff7ee3f2, 0x00293718, 0xff6542d1, 0x002d8e42, 0xff4aabc9,
4676         0x00329ab6, 0xff2ef726, 0x003745f9, 0xff120d71, 0x003c1fa3, 0xfef3f6ac,
4677         0x004103f4, 0xfed4bec3, 0x00465347, 0xfeb48d0d, 0x004b6c45, 0xfe933dc1,
4678         0x0050b176, 0xfe70b8d1, 0x01b2e41c, 0x09015651, 0x01d78bfb, 0x08d3e41b,
4679         0x01fd3ba0, 0x08a24899, 0x02244a24, 0x086b1eeb, 0x024bf7a1, 0x082f552e,
4680         0x0274ba42, 0x07ee507b, 0x029e35b4, 0x07a8127c, 0x02c89900, 0x075ca90c,
4681         0x02f3e48d, 0x070bbf58, 0x03201115, 0x06b559c3, 0x034d01f0, 0x06593911,
4682         0x037ad437, 0x05f7fb90, 0x03a966bb, 0x0590a67d, 0x03d8afe6, 0x05237f9c,
4683         0x04083fec, 0x04b0adcb, 0x043889c5, 0x0437fb0a, 0x04694101, 0x03b8f8db,
4684         0x049aa82e, 0x03343533, 0x04cc2fce, 0x02a99097, 0x04fe20bd, 0x02186a91,
4685         0x05303f87, 0x01816e05, 0x05626209, 0x00e42fa2, 0x05950122, 0x0040c496,
4686         0x05c76fec, 0xff96db90, 0x05f9c050, 0xfee723c7, 0x062bf5eb, 0xfe310658,
4687         0x065dd569, 0xfd7475d8, 0x068f8b44, 0xfcb1d740, 0x06c0f0c0, 0xfbe8f5be,
4688         0x06f1825c, 0xfb19b7be, 0x0721bf21, 0xfa44a06a, 0x075112a1, 0xf96916f5,
4689         0x077fedb2, 0xf887507c, 0x07ad8c26, 0xf79fa13b, 0x07da2b7f, 0xf6b1f3c3,
4690         0x08061671, 0xf5be0fa9, 0x08303897, 0xf4c473c6, 0x08594887, 0xf3c4e887,
4691         0x0880ffdc, 0xf2bf6ea5, 0x08a75da4, 0xf1b461ab, 0x08cb4e22, 0xf0a395a0,
4692         0x08edfeaa, 0xef8d4d7c, 0x090ec1fc, 0xee71b2ff, 0x092d796f, 0xed50a31e,
4693         0x0949eaac, 0xec2a3f60, 0x0963ed46, 0xeafee7f2, 0x097c1ee8, 0xe9cea84b,
4694         0x099140a6, 0xe89971b7, 0x09a3e163, 0xe75f8bb8, 0x09b3d77f, 0xe620c476,
4695         0x09c0e59e, 0xe4de0cb0, 0x09cab9f1, 0xe396a45e, 0x09d19ca8, 0xe24b8f67,
4696         0x09d52709, 0xe0fc421f, 0x09d5560a, 0xdfa93ab5, 0x09d1fa22, 0xde529087,
4697         0x09caeb0e, 0xdcf898fb, 0x09c018ce, 0xdb9b5b13, 0x09b18a1c, 0xda3b176b,
4698         0x099ec3db, 0xd8d7f220, 0x09881dc5, 0xd7722f05, 0x096d0e21, 0xd60a46e6,
4699         0x094d7ec2, 0xd49fd55f, 0x09299ead, 0xd3337b3e, 0x2e3a7532, 0x6d474e1d,
4700         0x2faa221c, 0x6d41d963, 0x311af3a4, 0x6d32730f, 0x328cc6f0, 0x6d18520d,
4701         0x33ff670e, 0x6cf4073e, 0x3572ec70, 0x6cc59baa, 0x36e69691, 0x6c8c4c7a,
4702         0x385a49c3, 0x6c492216, 0x39ce0477, 0x6bfbdd97, 0x3b415115, 0x6ba4629e,
4703         0x3cb41218, 0x6b42a863, 0x3e25b17e, 0x6ad73e8d, 0x3f962fb8, 0x6a619c5e,
4704         0x41058bc5, 0x69e29784, 0x4272a385, 0x6959709d, 0x43de620a, 0x68c7269b,
4705         0x4547daea, 0x682b39a3, 0x46aea856, 0x6785c24d, 0x4812f848, 0x66d76725,
4706         0x4973fef1, 0x661fd6b7, 0x4ad237a2, 0x655f63f1, 0x4c2ca3df, 0x64964062,
4707         0x4d83976c, 0x63c45243, 0x4ed62be2, 0x62ea6473, 0x5024d70e, 0x6207f21f,
4708         0x516eefb9, 0x611d58a2, 0x52b449dd, 0x602b0c7f, 0x53f495a9, 0x5f30ff5f,
4709         0x552f8ff6, 0x5e2f6366, 0x56654bdd, 0x5d26be9b, 0x579505f5, 0x5c16d0ae,
4710         0x58befacd, 0x5b001db7, 0x59e2f69e, 0x59e2f69e, 0x5b001db7, 0x58befacd,
4711         0x5c16d0ae, 0x579505f5, 0x5d26be9b, 0x56654bdd, 0x5e2f6366, 0x552f8ff6,
4712         0x5f30ff5f, 0x53f495a9, 0x602b0c7f, 0x52b449dd, 0x611d58a2, 0x516eefb9,
4713         0x6207f21f, 0x5024d70e, 0x62ea6473, 0x4ed62be2, 0x63c45243, 0x4d83976c,
4714         0x64964062, 0x4c2ca3df, 0x655f63f1, 0x4ad237a2, 0x661fd6b7, 0x4973fef1,
4715         0x66d76725, 0x4812f848, 0x6785c24d, 0x46aea856, 0x682b39a3, 0x4547daea,
4716         0x68c7269b, 0x43de620a, 0x6959709d, 0x4272a385, 0x69e29784, 0x41058bc5,
4717         0x6a619c5e, 0x3f962fb8, 0x6ad73e8d, 0x3e25b17e, 0x6b42a863, 0x3cb41218,
4718         0x6ba4629e, 0x3b415115, 0x6bfbdd97, 0x39ce0477, 0x6c492216, 0x385a49c3,
4719         0x6c8c4c7a, 0x36e69691, 0x6cc59baa, 0x3572ec70, 0x6cf4073e, 0x33ff670e,
4720         0x6d18520d, 0x328cc6f0, 0x6d32730f, 0x311af3a4, 0x6d41d963, 0x2faa221c,
4721         0xd1c58ace, 0x09015651, 0xd3337b3e, 0x09299ead, 0xd49fd55f, 0x094d7ec2,
4722         0xd60a46e6, 0x096d0e21, 0xd7722f05, 0x09881dc5, 0xd8d7f220, 0x099ec3db,
4723         0xda3b176b, 0x09b18a1c, 0xdb9b5b13, 0x09c018ce, 0xdcf898fb, 0x09caeb0e,
4724         0xde529087, 0x09d1fa22, 0xdfa93ab5, 0x09d5560a, 0xe0fc421f, 0x09d52709,
4725         0xe24b8f67, 0x09d19ca8, 0xe396a45e, 0x09cab9f1, 0xe4de0cb0, 0x09c0e59e,
4726         0xe620c476, 0x09b3d77f, 0xe75f8bb8, 0x09a3e163, 0xe89971b7, 0x099140a6,
4727         0xe9cea84b, 0x097c1ee8, 0xeafee7f2, 0x0963ed46, 0xec2a3f60, 0x0949eaac,
4728         0xed50a31e, 0x092d796f, 0xee71b2ff, 0x090ec1fc, 0xef8d4d7c, 0x08edfeaa,
4729         0xf0a395a0, 0x08cb4e22, 0xf1b461ab, 0x08a75da4, 0xf2bf6ea5, 0x0880ffdc,
4730         0xf3c4e887, 0x08594887, 0xf4c473c6, 0x08303897, 0xf5be0fa9, 0x08061671,
4731         0xf6b1f3c3, 0x07da2b7f, 0xf79fa13b, 0x07ad8c26, 0xf887507c, 0x077fedb2,
4732         0xf96916f5, 0x075112a1, 0xfa44a06a, 0x0721bf21, 0xfb19b7be, 0x06f1825c,
4733         0xfbe8f5be, 0x06c0f0c0, 0xfcb1d740, 0x068f8b44, 0xfd7475d8, 0x065dd569,
4734         0xfe310658, 0x062bf5eb, 0xfee723c7, 0x05f9c050, 0xff96db90, 0x05c76fec,
4735         0x0040c496, 0x05950122, 0x00e42fa2, 0x05626209, 0x01816e05, 0x05303f87,
4736         0x02186a91, 0x04fe20bd, 0x02a99097, 0x04cc2fce, 0x03343533, 0x049aa82e,
4737         0x03b8f8db, 0x04694101, 0x0437fb0a, 0x043889c5, 0x04b0adcb, 0x04083fec,
4738         0x05237f9c, 0x03d8afe6, 0x0590a67d, 0x03a966bb, 0x05f7fb90, 0x037ad437,
4739         0x06593911, 0x034d01f0, 0x06b559c3, 0x03201115, 0x070bbf58, 0x02f3e48d,
4740         0x075ca90c, 0x02c89900, 0x07a8127c, 0x029e35b4, 0x07ee507b, 0x0274ba42,
4741         0x082f552e, 0x024bf7a1, 0x086b1eeb, 0x02244a24, 0x08a24899, 0x01fd3ba0,
4742         0x08d3e41b, 0x01d78bfb, 0xfe4d1be4, 0x0055dba0, 0xfe70b8d1, 0x0050b176,
4743         0xfe933dc1, 0x004b6c45, 0xfeb48d0d, 0x00465347, 0xfed4bec3, 0x004103f4,
4744         0xfef3f6ac, 0x003c1fa3, 0xff120d71, 0x003745f9, 0xff2ef726, 0x00329ab6,
4745         0xff4aabc9, 0x002d8e42, 0xff6542d1, 0x00293718, 0xff7ee3f2, 0x0024dd50,
4746         0xff975c02, 0x002064f7, 0xffaea5d6, 0x001c3549, 0xffc4e365, 0x0018703e,
4747         0xffda17f2, 0x001471f7, 0xffee183b, 0x0010bc63, 0x0000e790, 0x000d31b4,
4748         0x00131c75, 0x0009aa3e, 0x0023b989, 0x0006b1ce, 0x0033b926, 0x00039608,
4749         0x00426f36, 0x00007134, 0x00504f40, 0xfffdfa25, 0x005d36de, 0xfffb42b1,
4750         0x006928a0, 0xfff91fca, 0x007400b7, 0xfff681d7, 0x007e0392, 0xfff48701,
4751         0x00872c62, 0xfff294c4, 0x008f87aa, 0xfff0e7f0, 0x0096dcc1, 0xffef2395,
4752         0x009da525, 0xffedc419, 0x00a3508f, 0xffec8409, 0x00a85e93, 0xffeb3849,
4753         0x00acbd2e, 0xffea353b, 0x00b06b68, 0xffe954d1, 0x00b36acd, 0xffe85b4b,
4754         0x00b58c8c, 0xffe80415, 0x00b73aaf, 0xffe75361, 0x00b85f70, 0xffe6fed4,
4755         0x00b8c6b0, 0xffe69424, 0x00b8fe0d, 0xffe66fac, 0x00b8394b, 0xffe66dd0,
4756         0x00b74c36, 0xffe681c6, 0x00b5c866, 0xffe65416, 0x00b3d15b, 0xffe6afee,
4757         0x00b1978d, 0xffe6d466, 0x00af374c, 0xffe7746f, 0x00abe79d, 0xffe79e16,
4758         0x00a8739d, 0xffe83a08, 0x00a520bb, 0xffe88ba8, 0x00a1039c, 0xffe940f4,
4759         0x009d10bf, 0xffe9ca76, 0x0098b855, 0xffea9193, 0x009424c5, 0xffeb50b3,
4760         0x008f4bfc, 0xffebe77b, 0x008a7dd6, 0xffecc31c, 0x0085c217, 0xffed651e,
4761         0x00807993, 0xffee1650, 0x007b3874, 0xffeedfa4, 0x0075fdec, 0xffef7b8b,
4762         0x0070c8a4, 0xffeff6cb, 0x006b47fa, 0xfff0065d, 0x0065fde5, 0xffefc9b9,
4763         0x006090c3, 0xffed978a, 0x005b5370, 0xffede50e};
4764 
4765 WORD32 ixheaacd_mps_pre_re[64] = {
4766     0x01fff621, 0x01ffa72e, 0x01ff0956, 0x01fe1caf, 0x01fce15f, 0x01fb5797,
4767     0x01f97f92, 0x01f7599a, 0x01f4e603, 0x01f2252f, 0x01ef178a, 0x01ebbd8c,
4768     0x01e817ba, 0x01e426a4, 0x01dfeae6, 0x01db6526, 0x01d69617, 0x01d17e77,
4769     0x01cc1f0f, 0x01c678b3, 0x01c08c42, 0x01ba5aa6, 0x01b3e4d3, 0x01ad2bc9,
4770     0x01a63091, 0x019ef43e, 0x019777ee, 0x018fbcc9, 0x0187c400, 0x017f8ecd,
4771     0x01771e75, 0x016e7444, 0x01659191, 0x015c77bb, 0x01532828, 0x0149a449,
4772     0x013fed94, 0x0136058a, 0x012bedb1, 0x0121a798, 0x011734d5, 0x010c9704,
4773     0x0101cfc7, 0x00f6e0c9, 0x00ebcbb9, 0x00e0924d, 0x00d53640, 0x00c9b952,
4774     0x00be1d48, 0x00b263ed, 0x00a68f10, 0x009aa084, 0x008e9a20, 0x00827dbf,
4775     0x00764d3e, 0x006a0a7f, 0x005db766, 0x005155d9, 0x0044e7c1, 0x00386f0a,
4776     0x002bed9e, 0x001f656d, 0x0012d864, 0x00064873};
4777 
4778 WORD32 ixheaacd_mps_pre_im[64] = {
4779     0x00064874, 0x0012d865, 0x001f656e, 0x002beda0, 0x00386f0b, 0x0044e7c3,
4780     0x005155da, 0x005db767, 0x006a0a80, 0x00764d3f, 0x00827dc0, 0x008e9a22,
4781     0x009aa086, 0x00a68f12, 0x00b263ef, 0x00be1d49, 0x00c9b953, 0x00d53641,
4782     0x00e0924f, 0x00ebcbbb, 0x00f6e0cb, 0x0101cfc8, 0x010c9705, 0x011734d6,
4783     0x0121a79a, 0x012bedb2, 0x0136058b, 0x013fed95, 0x0149a44a, 0x01532829,
4784     0x015c77bc, 0x01659192, 0x016e7445, 0x01771e76, 0x017f8ece, 0x0187c401,
4785     0x018fbcca, 0x019777ef, 0x019ef43f, 0x01a63092, 0x01ad2bca, 0x01b3e4d4,
4786     0x01ba5aa6, 0x01c08c42, 0x01c678b3, 0x01cc1f0f, 0x01d17e77, 0x01d69617,
4787     0x01db6526, 0x01dfeae6, 0x01e426a5, 0x01e817bb, 0x01ebbd8c, 0x01ef178a,
4788     0x01f2252f, 0x01f4e603, 0x01f7599a, 0x01f97f92, 0x01fb5797, 0x01fce15f,
4789     0x01fe1caf, 0x01ff0956, 0x01ffa72f, 0x01fff621};
4790 
4791 WORD32 ixheaacd_mps_post_re[128] = {
4792     0x7fffffff, 0x7ff62182, 0x7fd8878d, 0x7fa736b3, 0x7f62368e, 0x7f0991c2,
4793     0x7e9d55fa, 0x7e1d93e8, 0x7d8a5f3d, 0x7ce3ceae, 0x7c29fbea, 0x7b5d0399,
4794     0x7a7d0555, 0x798a23ab, 0x7884840c, 0x776c4ed3, 0x7641af33, 0x7504d33b,
4795     0x73b5ebc5, 0x72552c78, 0x70e2cbb8, 0x6f5f02a2, 0x6dca0d03, 0x6c24294e,
4796     0x6a6d9890, 0x68a69e6b, 0x66cf8109, 0x64e8890d, 0x62f20192, 0x60ec3814,
4797     0x5ed77c6c, 0x5cb420c0, 0x5a827978, 0x5842dd31, 0x55f5a4ad, 0x539b2ac8,
4798     0x5133cc6b, 0x4ebfe879, 0x4c3fdfc6, 0x49b41504, 0x471cecb5, 0x447acd1d,
4799     0x41ce1e2f, 0x3f174981, 0x3c56ba37, 0x398cdcf7, 0x36ba1fd6, 0x33def248,
4800     0x30fbc50c, 0x2e110a1e, 0x2b1f34a6, 0x2826b8e1, 0x25280c14, 0x2223a47a,
4801     0x1f19f92e, 0x1c0b821b, 0x18f8b7eb, 0x15e213f2, 0x12c8101a, 0x0fab26d5,
4802     0x0c8bd306, 0x096a8ff0, 0x0647d921, 0x03242a62, 0xffffffa3, 0xfcdbd4e2,
4803     0xf9b82624, 0xf6956f55, 0xf3742c3f, 0xf054d871, 0xed37ef2c, 0xea1deb55,
4804     0xe707475d, 0xe3f47d2e, 0xe0e6061c, 0xdddc5ad1, 0xdad7f338, 0xd7d9466d,
4805     0xd4e0caa9, 0xd1eef532, 0xcf043a47, 0xcc210d0d, 0xc945df80, 0xc6732261,
4806     0xc3a94524, 0xc0e8b5dc, 0xbe31e130, 0xbb853244, 0xb8e312ae, 0xb64bea62,
4807     0xb3c01fa3, 0xb14016f3, 0xaecc3304, 0xac64d4aa, 0xaa0a5ac8, 0xa7bd2247,
4808     0xa57d8603, 0xa34bdebf, 0xa1288316, 0x9f13c772, 0x9d0dfdf7, 0x9b17767f,
4809     0x99307e88, 0x97596128, 0x95926708, 0x93dbd64e, 0x9235f29c, 0x90a0fd01,
4810     0x8f1d33f0, 0x8daad334, 0x8c4a13eb, 0x8afb2c79, 0x89be5085, 0x8893b0ea,
4811     0x877b7bb4, 0x8675dc1a, 0x8582fa74, 0x84a2fc35, 0x83d603e8, 0x831c3129,
4812     0x8275a09e, 0x81e26bf8, 0x8162a9ea, 0x80f66e27, 0x809dc95f, 0x8058c93f,
4813     0x8027786a, 0x8009de7a};
4814 
4815 WORD32 ixheaacd_mps_post_im[128] = {
4816     0x00000000, 0x03242ac0, 0x0647d97f, 0x096a904d, 0x0c8bd363, 0x0fab2732,
4817     0x12c81077, 0x15e2144e, 0x18f8b847, 0x1c0b8277, 0x1f19f989, 0x2223a4d4,
4818     0x25280c6e, 0x2826b93a, 0x2b1f34fe, 0x2e110a76, 0x30fbc563, 0x33def29e,
4819     0x36ba202b, 0x398cdd4b, 0x3c56ba89, 0x3f1749d2, 0x41ce1e80, 0x447acd6c,
4820     0x471ced03, 0x49b41551, 0x4c3fe012, 0x4ebfe8c3, 0x5133ccb3, 0x539b2b0f,
4821     0x55f5a4f2, 0x5842dd75, 0x5a8279bb, 0x5cb42101, 0x5ed77cab, 0x60ec3851,
4822     0x62f201cd, 0x64e88947, 0x66cf8141, 0x68a69ea2, 0x6a6d98c4, 0x6c242980,
4823     0x6dca0d34, 0x6f5f02d0, 0x70e2cbe4, 0x72552ca2, 0x73b5ebed, 0x7504d361,
4824     0x7641af57, 0x776c4ef5, 0x7884842c, 0x798a23c8, 0x7a7d0571, 0x7b5d03b2,
4825     0x7c29fc01, 0x7ce3cec3, 0x7d8a5f4f, 0x7e1d93f8, 0x7e9d5608, 0x7f0991ce,
4826     0x7f623697, 0x7fa736ba, 0x7fd88792, 0x7ff62184, 0x7fffffff, 0x7ff6217f,
4827     0x7fd88789, 0x7fa736ac, 0x7f623685, 0x7f0991b7, 0x7e9d55ed, 0x7e1d93d7,
4828     0x7d8a5f2b, 0x7ce3ce9a, 0x7c29fbd3, 0x7b5d0380, 0x7a7d053a, 0x798a238d,
4829     0x788483ed, 0x776c4eb1, 0x7641af0f, 0x7504d315, 0x73b5eb9d, 0x72552c4e,
4830     0x70e2cb8b, 0x6f5f0274, 0x6dca0cd3, 0x6c24291c, 0x6a6d985c, 0x68a69e35,
4831     0x66cf80d1, 0x64e888d4, 0x62f20156, 0x60ec37d6, 0x5ed77c2d, 0x5cb4207f,
4832     0x5a827936, 0x5842dced, 0x55f5a467, 0x539b2a81, 0x5133cc22, 0x4ebfe82f,
4833     0x4c3fdf7b, 0x49b414b7, 0x471cec67, 0x447accce, 0x41ce1ddf, 0x3f17492f,
4834     0x3c56b9e4, 0x398cdca3, 0x36ba1f81, 0x33def1f2, 0x30fbc4b5, 0x2e1109c7,
4835     0x2b1f344d, 0x2826b888, 0x25280bba, 0x2223a420, 0x1f19f8d3, 0x1c0b81c0,
4836     0x18f8b78f, 0x15e21395, 0x12c80fbd, 0x0fab2678, 0x0c8bd2a9, 0x096a8f92,
4837     0x0647d8c3, 0x03242a04};
4838 
4839 WORD32 ixheaacd_ia_mps_hyb_filter_coeff_8[QMF_HYBRID_FILT_ORDER] = {
4840     8011005,   24378459,  48821601, 78019304, 106140545, 126634002, 134217728,
4841     126634002, 106140545, 78019304, 48821601, 24378459,  8011805};
4842 
4843 WORD32 ixheaacd_mps_hyb_filter_coeff_2[QMF_HYBRID_FILT_ORDER] = {
4844     0,         20395592, 0,         -78309485, 0,        328528819, 536870911,
4845     328528819, 0,        -78309485, 0,         20395592, 0};
4846 
4847 WORD32 ixheaacd_cosine[8][13] = {
4848     {
4849         -759250175, -410903263, -46, 410903167, 759250111, 992008063,
4850         1073741823, 992008063, 759250111, 410903167, -46, -410903263,
4851         -759250175,
4852     },
4853     {
4854         759249983, 992008191, 140, -992008063, -759250175, 410903167,
4855         1073741823, 410903167, -759250175, -992008063, 140, 992008191,
4856         759249983,
4857     },
4858     {
4859         759250367, -992007999, -234, 992008191, -759250047, -410903263,
4860         1073741823, -410903263, -759250047, 992008191, -234, -992007999,
4861         759250367,
4862     },
4863     {
4864         -759249791, 410902815, 328, -410903423, 759250239, -992008127,
4865         1073741823, -992008127, 759250239, -410903423, 328, 410902815,
4866         -759249791,
4867     },
4868     {
4869         -759250559, 410903679, -422, -410902911, 759249983, -992008063,
4870         1073741823, -992008063, 759249983, -410902911, -422, 410903679,
4871         -759250559,
4872     },
4873     {
4874         759249599, -992008319, 516, 992007935, -759250303, -410903071,
4875         1073741823, -410903071, -759250303, 992007935, 516, -992008319,
4876         759249599,
4877     },
4878     {
4879         759250751, 992007807, -610, -992008255, -759249919, 410903359,
4880         1073741823, 410903359, -759249919, -992008255, -610, 992007807,
4881         759250751,
4882     },
4883     {-759249407, -410902399, 704, 410903679, 759250367, 992008191, 1073741823,
4884      992008191, 759250367, 410903679, 704, -410902399, -759249407}};
4885 
4886 WORD32 ixheaacd_sine[8][13] = {
4887     {
4888         759250047, 992008063, 1073741823, 992008127, 759250111, 410903231, 0,
4889         -410903231, -759250111, -992008127, -1073741823, -992008063, -759250047,
4890     },
4891     {
4892         759250303, -410903039, -1073741823, -410903295, 759250047, 992008127, 0,
4893         -992008127, -759250047, 410903295, 1073741823, 410903039, -759250303,
4894     },
4895     {
4896         -759249855, -410903487, 1073741823, -410903039, -759250175, 992008063,
4897         0, -992008063, 759250175, 410903039, -1073741823, 410903487, 759249855,
4898     },
4899     {
4900         -759250495, 992008255, -1073741823, 992007999, -759249983, 410903135, 0,
4901         -410903135, 759249983, -992007999, 1073741823, -992008255, 759250495,
4902     },
4903     {
4904         759249663, -992007871, 1073741823, -992008191, 759250303, -410903295, 0,
4905         410903295, -759250303, 992008191, -1073741823, 992007871, -759249663,
4906     },
4907     {
4908         759250687, 410902623, -1073741823, 410903551, 759249919, -992008127, 0,
4909         992008127, -759249919, -410903551, 1073741823, -410902623, -759250687,
4910     },
4911     {
4912         -759249471, 410903903, 1073741823, 410902783, -759250367, -992008063, 0,
4913         992008063, 759250367, -410902783, -1073741823, -410903903, 759249471,
4914     },
4915     {-759250879, -992008447, -1073741823, -992007871, -759249855, -410903039, 0,
4916      410903039, 759249855, 992007871, 1073741823, 992008447, 759250879}};
4917 
4918 WORD32 ixheaacd_cosine2[2][13] = {
4919     {
4920         1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823,
4921         1073741823, 1073741823, 1073741823, 1073741823, 1073741823, 1073741823,
4922         1073741823,
4923     },
4924     {
4925         1073741823, -1073741823, 1073741823, -1073741823, 1073741823,
4926         -1073741823, 1073741823, -1073741823, 1073741823, -1073741823,
4927         1073741823, -1073741823, 1073741823,
4928     },
4929 };
4930