C++程序  |  1227行  |  89.94 KB

/******************************************************************************
 *                                                                            *
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *****************************************************************************
 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
*/
#include <ixheaacd_type_def.h>
#include "ixheaacd_acelp_com.h"
#include "ixheaacd_cnst.h"

const WORD32 ixheaacd_factorial_7[8] = {5040, 720, 120, 24, 6, 2, 1, 1};

const UWORD8 ixheaacd_absolute_leader_tab_da[LEN_ABS_LEADER][8] = {
    {1, 1, 1, 1, 1, 1, 1, 1},   {2, 2, 0, 0, 0, 0, 0, 0},
    {2, 2, 2, 2, 0, 0, 0, 0},   {3, 1, 1, 1, 1, 1, 1, 1},
    {4, 0, 0, 0, 0, 0, 0, 0},   {2, 2, 2, 2, 2, 2, 0, 0},
    {3, 3, 1, 1, 1, 1, 1, 1},   {4, 2, 2, 0, 0, 0, 0, 0},
    {2, 2, 2, 2, 2, 2, 2, 2},   {3, 3, 3, 1, 1, 1, 1, 1},
    {4, 2, 2, 2, 2, 0, 0, 0},   {4, 4, 0, 0, 0, 0, 0, 0},
    {5, 1, 1, 1, 1, 1, 1, 1},   {3, 3, 3, 3, 1, 1, 1, 1},
    {4, 2, 2, 2, 2, 2, 2, 0},   {4, 4, 2, 2, 0, 0, 0, 0},
    {5, 3, 1, 1, 1, 1, 1, 1},   {6, 2, 0, 0, 0, 0, 0, 0},
    {4, 4, 4, 0, 0, 0, 0, 0},   {6, 2, 2, 2, 0, 0, 0, 0},
    {6, 4, 2, 0, 0, 0, 0, 0},   {7, 1, 1, 1, 1, 1, 1, 1},
    {8, 0, 0, 0, 0, 0, 0, 0},   {6, 6, 0, 0, 0, 0, 0, 0},
    {8, 2, 2, 0, 0, 0, 0, 0},   {8, 4, 0, 0, 0, 0, 0, 0},
    {9, 1, 1, 1, 1, 1, 1, 1},   {10, 2, 0, 0, 0, 0, 0, 0},
    {8, 8, 0, 0, 0, 0, 0, 0},   {10, 6, 0, 0, 0, 0, 0, 0},
    {12, 0, 0, 0, 0, 0, 0, 0},  {12, 4, 0, 0, 0, 0, 0, 0},
    {10, 10, 0, 0, 0, 0, 0, 0}, {14, 2, 0, 0, 0, 0, 0, 0},
    {12, 8, 0, 0, 0, 0, 0, 0},  {16, 0, 0, 0, 0, 0, 0, 0},
    {20, 0, 0, 0, 0, 0, 0, 0}};

const UWORD8 ixheaacd_iso_code_data_table[LEN_SIGN_LEADER] = {
    0,   3,   15,  63,  255, 0,   64,  192, 0,   16,  48,  112, 240, 1,   7,
    31,  127, 128, 131, 143, 191, 0,   128, 0,   4,   12,  28,  60,  124, 252,
    0,   3,   15,  63,  65,  71,  95,  192, 195, 207, 255, 0,   32,  96,  128,
    160, 224, 0,   1,   3,   7,   15,  31,  63,  127, 255, 1,   7,   31,  32,
    35,  47,  97,  103, 127, 224, 227, 239, 0,   8,   24,  56,  120, 128, 136,
    152, 184, 248, 0,   64,  192, 0,   3,   15,  63,  129, 135, 159, 255, 0,
    3,   15,  17,  23,  48,  51,  63,  113, 119, 240, 243, 255, 0,   2,   6,
    14,  30,  62,  126, 128, 130, 134, 142, 158, 190, 254, 0,   16,  48,  64,
    80,  112, 192, 208, 240, 1,   7,   31,  64,  67,  79,  127, 128, 131, 143,
    191, 193, 199, 223, 0,   64,  128, 192, 0,   32,  96,  224, 0,   16,  48,
    112, 128, 144, 176, 240, 0,   32,  64,  96,  128, 160, 192, 224, 1,   7,
    31,  127, 128, 131, 143, 191, 0,   128, 0,   64,  192, 0,   32,  96,  128,
    160, 224, 0,   64,  128, 192, 0,   3,   15,  63,  129, 135, 159, 255, 0,
    64,  128, 192, 0,   64,  192, 0,   64,  128, 192, 0,   128, 0,   64,  128,
    192, 0,   64,  192, 0,   64,  128, 192, 0,   64,  128, 192, 0,   128, 0,
    128};

const WORD32 ixheaacd_iso_code_num_table[LEN_ABS_LEADER] = {
    5, 3, 5, 8, 2, 7, 11, 6, 9, 12, 10, 3, 8, 13, 14, 9, 14, 4, 4,
    8, 8, 8, 2, 3, 6, 4,  8, 4, 3,  4,  2, 4, 3,  4,  4, 2,  2};

const WORD32 ixheaacd_iso_code_index_table[LEN_ABS_LEADER] = {
    0,   5,   8,   13,  21,  23,  30,  41,  47,  56,  68,  78,  81,
    89,  102, 116, 125, 139, 143, 147, 155, 163, 171, 173, 176, 182,
    186, 194, 198, 201, 205, 207, 211, 214, 218, 222, 224};

const UWORD32 ixheaacd_signed_leader_is[LEN_SIGN_LEADER] = {
    0,     1,     29,    99,    127,   128,   156,   212,   256,   326,   606,
    1026,  1306,  1376,  1432,  1712,  1880,  1888,  1896,  2064,  2344,  240,
    248,   0,     28,    196,   616,   1176,  1596,  1764,  1792,  1820,  2240,
    2660,  2688,  3024,  4144,  4480,  4508,  4928,  5348,  2400,  2568,  2904,
    3072,  3240,  3576,  5376,  5377,  5385,  5413,  5469,  5539,  5595,  5623,
    5631,  5632,  5912,  6472,  6528,  6696,  8376,  9216,  10056, 11736, 11904,
    11960, 12520, 12800, 13080, 14200, 15880, 17000, 17280, 17560, 18680, 20360,
    21480, 3744,  3772,  3828,  21760, 21768, 21936, 22216, 22272, 22328, 22608,
    22776, 22784, 22854, 23274, 23344, 24464, 25584, 26004, 28524, 28944, 30064,
    31184, 31254, 31674, 31744, 31800, 32136, 32976, 34096, 34936, 35272, 35328,
    35384, 35720, 36560, 37680, 38520, 38856, 38912, 39332, 40172, 40592, 41432,
    43112, 43952, 44372, 45212, 45632, 45968, 47088, 47424, 47480, 48320, 49160,
    49216, 49272, 50112, 50952, 51008, 51344, 52464, 3856,  3912,  3968,  4024,
    52800, 52856, 53024, 53192, 53248, 53528, 54368, 55208, 55488, 55768, 56608,
    57448, 57728, 58064, 58400, 58736, 59072, 59408, 59744, 60080, 60416, 60472,
    60752, 60920, 60928, 60936, 61104, 61384, 4080,  4088,  61440, 61468, 61524,
    61552, 61720, 62056, 62224, 62392, 62728, 62896, 62952, 63008, 63064, 63120,
    63128, 63296, 63576, 63632, 63688, 63968, 64136, 64144, 64200, 64256, 64312,
    64368, 64396, 64452, 64480, 64536, 64592, 64648, 64704, 64712, 64720, 64776,
    64832, 64888, 64944, 64972, 65028, 65056, 65112, 65168, 65224, 65280, 65336,
    65392, 65448, 65504, 65512, 65520, 65528};

const WORD32 ixheaacd_pos_abs_leaders_a3[LEN_I3] = {0, 1,  4,  2, 3,
                                                    7, 11, 17, 22};

const WORD32 ixheaacd_pos_abs_leaders_a4[LEN_I4] = {
    5,  6,  8,  9,  10, 12, 13, 14, 15, 16, 18, 19, 20, 21,
    23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36};

const UWORD32 ixheaacd_cardinality_offset_table_i3[LEN_I3] = {
    0, 128, 240, 256, 1376, 2400, 3744, 3856, 4080};

const UWORD32 ixheaacd_cardinality_offset_tab_i4[LEN_I4] = {
    0,     1792,  5376,  5632,  12800, 21760, 22784, 31744, 38912, 45632,
    52800, 53248, 57728, 60416, 61440, 61552, 62896, 63120, 64144, 64368,
    64480, 64704, 64720, 64944, 65056, 65280, 65504, 65520};

const FLOAT32 ixheaacd_sine_window96[96] = {
    0.008181F, 0.024541F, 0.040895F, 0.057237F, 0.073565F, 0.089872F, 0.106156F,
    0.122411F, 0.138633F, 0.154818F, 0.170962F, 0.187060F, 0.203108F, 0.219101F,
    0.235036F, 0.250908F, 0.266713F, 0.282446F, 0.298104F, 0.313682F, 0.329176F,
    0.344581F, 0.359895F, 0.375112F, 0.390229F, 0.405241F, 0.420145F, 0.434936F,
    0.449611F, 0.464166F, 0.478596F, 0.492898F, 0.507068F, 0.521103F, 0.534998F,
    0.548749F, 0.562354F, 0.575808F, 0.589108F, 0.602251F, 0.615232F, 0.628048F,
    0.640696F, 0.653173F, 0.665475F, 0.677598F, 0.689541F, 0.701298F, 0.712868F,
    0.724247F, 0.735432F, 0.746420F, 0.757209F, 0.767795F, 0.778175F, 0.788346F,
    0.798307F, 0.808054F, 0.817585F, 0.826897F, 0.835987F, 0.844854F, 0.853494F,
    0.861906F, 0.870087F, 0.878035F, 0.885748F, 0.893224F, 0.900461F, 0.907457F,
    0.914210F, 0.920718F, 0.926979F, 0.932993F, 0.938756F, 0.944269F, 0.949528F,
    0.954533F, 0.959283F, 0.963776F, 0.968011F, 0.971987F, 0.975702F, 0.979156F,
    0.982349F, 0.985278F, 0.987943F, 0.990344F, 0.992480F, 0.994350F, 0.995953F,
    0.997290F, 0.998361F, 0.999163F, 0.999699F, 0.999967F};

const FLOAT32 ixheaacd_sine_window128[128] = {
    0.006136F, 0.018407F, 0.030675F, 0.042938F, 0.055195F, 0.067444F, 0.079682F,
    0.091909F, 0.104122F, 0.116319F, 0.128498F, 0.140658F, 0.152797F, 0.164913F,
    0.177004F, 0.189069F, 0.201105F, 0.213110F, 0.225084F, 0.237024F, 0.248928F,
    0.260794F, 0.272621F, 0.284408F, 0.296151F, 0.307850F, 0.319502F, 0.331106F,
    0.342661F, 0.354164F, 0.365613F, 0.377007F, 0.388345F, 0.399624F, 0.410843F,
    0.422000F, 0.433094F, 0.444122F, 0.455084F, 0.465977F, 0.476799F, 0.487550F,
    0.498228F, 0.508830F, 0.519356F, 0.529804F, 0.540172F, 0.550458F, 0.560662F,
    0.570781F, 0.580814F, 0.590760F, 0.600617F, 0.610383F, 0.620057F, 0.629638F,
    0.639124F, 0.648514F, 0.657807F, 0.667000F, 0.676093F, 0.685084F, 0.693971F,
    0.702755F, 0.711432F, 0.720003F, 0.728464F, 0.736817F, 0.745058F, 0.753187F,
    0.761202F, 0.769103F, 0.776888F, 0.784557F, 0.792107F, 0.799537F, 0.806848F,
    0.814036F, 0.821103F, 0.828045F, 0.834863F, 0.841555F, 0.848120F, 0.854558F,
    0.860867F, 0.867046F, 0.873095F, 0.879012F, 0.884797F, 0.890449F, 0.895966F,
    0.901349F, 0.906596F, 0.911706F, 0.916679F, 0.921514F, 0.926210F, 0.930767F,
    0.935184F, 0.939459F, 0.943593F, 0.947586F, 0.951435F, 0.955141F, 0.958703F,
    0.962121F, 0.965394F, 0.968522F, 0.971504F, 0.974339F, 0.977028F, 0.979570F,
    0.981964F, 0.984210F, 0.986308F, 0.988258F, 0.990058F, 0.991710F, 0.993212F,
    0.994565F, 0.995767F, 0.996820F, 0.997723F, 0.998476F, 0.999078F, 0.999529F,
    0.999831F, 0.999981F};

const FLOAT32 ixheaacd_sine_window192[192] = {

    0.004091F, 0.012272F, 0.020452F, 0.028630F, 0.036807F, 0.044982F, 0.053153F,
    0.061321F, 0.069484F, 0.077643F, 0.085797F, 0.093945F, 0.102087F, 0.110222F,
    0.118350F, 0.126469F, 0.134581F, 0.142683F, 0.150776F, 0.158858F, 0.166930F,
    0.174991F, 0.183040F, 0.191077F, 0.199101F, 0.207111F, 0.215108F, 0.223091F,
    0.231058F, 0.239010F, 0.246946F, 0.254866F, 0.262768F, 0.270653F, 0.278520F,
    0.286368F, 0.294197F, 0.302006F, 0.309795F, 0.317563F, 0.325310F, 0.333036F,
    0.340739F, 0.348419F, 0.356076F, 0.363709F, 0.371317F, 0.378901F, 0.386459F,
    0.393992F, 0.401498F, 0.408978F, 0.416430F, 0.423854F, 0.431249F, 0.438616F,
    0.445954F, 0.453261F, 0.460539F, 0.467785F, 0.475000F, 0.482184F, 0.489335F,
    0.496453F, 0.503538F, 0.510590F, 0.517607F, 0.524590F, 0.531537F, 0.538449F,
    0.545325F, 0.552164F, 0.558967F, 0.565732F, 0.572459F, 0.579148F, 0.585798F,
    0.592409F, 0.598980F, 0.605511F, 0.612002F, 0.618451F, 0.624859F, 0.631226F,
    0.637550F, 0.643832F, 0.650070F, 0.656265F, 0.662416F, 0.668522F, 0.674584F,
    0.680601F, 0.686572F, 0.692497F, 0.698376F, 0.704208F, 0.709993F, 0.715731F,
    0.721420F, 0.727062F, 0.732654F, 0.738198F, 0.743692F, 0.749136F, 0.754531F,
    0.759874F, 0.765167F, 0.770409F, 0.775599F, 0.780737F, 0.785823F, 0.790857F,
    0.795837F, 0.800764F, 0.805638F, 0.810457F, 0.815223F, 0.819933F, 0.824589F,
    0.829190F, 0.833735F, 0.838225F, 0.842658F, 0.847035F, 0.851355F, 0.855618F,
    0.859824F, 0.863973F, 0.868063F, 0.872096F, 0.876070F, 0.879986F, 0.883842F,
    0.887640F, 0.891378F, 0.895056F, 0.898674F, 0.902233F, 0.905731F, 0.909168F,
    0.912544F, 0.915860F, 0.919114F, 0.922306F, 0.925437F, 0.928506F, 0.931513F,
    0.934457F, 0.937339F, 0.940158F, 0.942914F, 0.945607F, 0.948237F, 0.950803F,
    0.953306F, 0.955745F, 0.958120F, 0.960431F, 0.962677F, 0.964859F, 0.966976F,
    0.969029F, 0.971017F, 0.972940F, 0.974798F, 0.976590F, 0.978317F, 0.979979F,
    0.981575F, 0.983105F, 0.984570F, 0.985969F, 0.987301F, 0.988568F, 0.989768F,
    0.990903F, 0.991970F, 0.992972F, 0.993907F, 0.994775F, 0.995577F, 0.996313F,
    0.996981F, 0.997583F, 0.998118F, 0.998586F, 0.998988F, 0.999322F, 0.999590F,
    0.999791F, 0.999925F, 0.999992F};

const FLOAT32 ixheaacd__sine_window256[256] = {
    0.00306796F, 0.00920375F, 0.01533921F, 0.02147408F, 0.02760815F,
    0.03374117F, 0.03987293F, 0.04600318F, 0.05213170F, 0.05825826F,
    0.06438263F, 0.07050457F, 0.07662386F, 0.08274026F, 0.08885355F,
    0.09496350F, 0.10106986F, 0.10717242F, 0.11327095F, 0.11936521F,
    0.12545498F, 0.13154003F, 0.13762012F, 0.14369503F, 0.14976453F,
    0.15582840F, 0.16188639F, 0.16793829F, 0.17398387F, 0.18002290F,
    0.18605515F, 0.19208040F, 0.19809841F, 0.20410897F, 0.21011184F,
    0.21610680F, 0.22209362F, 0.22807208F, 0.23404196F, 0.24000302F,
    0.24595505F, 0.25189782F, 0.25783110F, 0.26375468F, 0.26966833F,
    0.27557182F, 0.28146494F, 0.28734746F, 0.29321916F, 0.29907983F,
    0.30492923F, 0.31076715F, 0.31659338F, 0.32240768F, 0.32820984F,
    0.33399965F, 0.33977688F, 0.34554132F, 0.35129276F, 0.35703096F,
    0.36275572F, 0.36846683F, 0.37416406F, 0.37984721F, 0.38551605F,
    0.39117038F, 0.39680999F, 0.40243465F, 0.40804416F, 0.41363831F,
    0.41921689F, 0.42477968F, 0.43032648F, 0.43585708F, 0.44137127F,
    0.44686884F, 0.45234959F, 0.45781330F, 0.46325978F, 0.46868882F,
    0.47410021F, 0.47949376F, 0.48486925F, 0.49022648F, 0.49556526F,
    0.50088538F, 0.50618665F, 0.51146885F, 0.51673180F, 0.52197529F,
    0.52719913F, 0.53240313F, 0.53758708F, 0.54275078F, 0.54789406F,
    0.55301671F, 0.55811853F, 0.56319934F, 0.56825895F, 0.57329717F,
    0.57831380F, 0.58330865F, 0.58828155F, 0.59323230F, 0.59816071F,
    0.60306660F, 0.60794978F, 0.61281008F, 0.61764731F, 0.62246128F,
    0.62725182F, 0.63201874F, 0.63676186F, 0.64148101F, 0.64617601F,
    0.65084668F, 0.65549285F, 0.66011434F, 0.66471098F, 0.66928259F,
    0.67382900F, 0.67835004F, 0.68284555F, 0.68731534F, 0.69175926F,
    0.69617713F, 0.70056879F, 0.70493408F, 0.70927283F, 0.71358487F,
    0.71787005F, 0.72212819F, 0.72635916F, 0.73056277F, 0.73473888F,
    0.73888732F, 0.74300795F, 0.74710061F, 0.75116513F, 0.75520138F,
    0.75920919F, 0.76318842F, 0.76713891F, 0.77106052F, 0.77495311F,
    0.77881651F, 0.78265060F, 0.78645521F, 0.79023022F, 0.79397548F,
    0.79769084F, 0.80137617F, 0.80503133F, 0.80865618F, 0.81225059F,
    0.81581441F, 0.81934752F, 0.82284978F, 0.82632106F, 0.82976123F,
    0.83317016F, 0.83654773F, 0.83989379F, 0.84320824F, 0.84649094F,
    0.84974177F, 0.85296060F, 0.85614733F, 0.85930182F, 0.86242396F,
    0.86551362F, 0.86857071F, 0.87159509F, 0.87458665F, 0.87754529F,
    0.88047089F, 0.88336334F, 0.88622253F, 0.88904836F, 0.89184071F,
    0.89459949F, 0.89732458F, 0.90001589F, 0.90267332F, 0.90529676F,
    0.90788612F, 0.91044129F, 0.91296219F, 0.91544872F, 0.91790078F,
    0.92031828F, 0.92270113F, 0.92504924F, 0.92736253F, 0.92964090F,
    0.93188427F, 0.93409255F, 0.93626567F, 0.93840353F, 0.94050607F,
    0.94257320F, 0.94460484F, 0.94660091F, 0.94856135F, 0.95048607F,
    0.95237501F, 0.95422810F, 0.95604525F, 0.95782641F, 0.95957151F,
    0.96128049F, 0.96295327F, 0.96458979F, 0.96619000F, 0.96775384F,
    0.96928124F, 0.97077214F, 0.97222650F, 0.97364425F, 0.97502535F,
    0.97636973F, 0.97767736F, 0.97894818F, 0.98018214F, 0.98137919F,
    0.98253930F, 0.98366242F, 0.98474850F, 0.98579751F, 0.98680940F,
    0.98778414F, 0.98872169F, 0.98962202F, 0.99048508F, 0.99131086F,
    0.99209931F, 0.99285041F, 0.99356414F, 0.99424045F, 0.99487933F,
    0.99548076F, 0.99604470F, 0.99657115F, 0.99706007F, 0.99751146F,
    0.99792529F, 0.99830154F, 0.99864022F, 0.99894129F, 0.99920476F,
    0.99943060F, 0.99961882F, 0.99976941F, 0.99988235F, 0.99995764F,
    0.99999529F};

const FLOAT32 _sine_window1024[1024] = {
    0.000767F, 0.002301F, 0.003835F, 0.005369F, 0.006903F, 0.008437F, 0.009971F,
    0.011505F, 0.013038F, 0.014572F, 0.016106F, 0.017640F, 0.019174F, 0.020707F,
    0.022241F, 0.023774F, 0.025308F, 0.026841F, 0.028375F, 0.029908F, 0.031441F,
    0.032975F, 0.034508F, 0.036041F, 0.037574F, 0.039107F, 0.040639F, 0.042172F,
    0.043705F, 0.045237F, 0.046769F, 0.048302F, 0.049834F, 0.051366F, 0.052898F,
    0.054429F, 0.055961F, 0.057493F, 0.059024F, 0.060555F, 0.062086F, 0.063617F,
    0.065148F, 0.066679F, 0.068209F, 0.069739F, 0.071270F, 0.072800F, 0.074329F,
    0.075859F, 0.077389F, 0.078918F, 0.080447F, 0.081976F, 0.083505F, 0.085033F,
    0.086561F, 0.088090F, 0.089617F, 0.091145F, 0.092673F, 0.094200F, 0.095727F,
    0.097254F, 0.098780F, 0.100307F, 0.101833F, 0.103359F, 0.104884F, 0.106410F,
    0.107935F, 0.109460F, 0.110984F, 0.112509F, 0.114033F, 0.115557F, 0.117080F,
    0.118604F, 0.120127F, 0.121649F, 0.123172F, 0.124694F, 0.126216F, 0.127737F,
    0.129259F, 0.130780F, 0.132300F, 0.133821F, 0.135341F, 0.136860F, 0.138380F,
    0.139899F, 0.141418F, 0.142936F, 0.144454F, 0.145972F, 0.147489F, 0.149006F,
    0.150523F, 0.152039F, 0.153555F, 0.155071F, 0.156586F, 0.158101F, 0.159615F,
    0.161129F, 0.162643F, 0.164157F, 0.165670F, 0.167182F, 0.168694F, 0.170206F,
    0.171718F, 0.173229F, 0.174739F, 0.176249F, 0.177759F, 0.179268F, 0.180777F,
    0.182286F, 0.183794F, 0.185301F, 0.186809F, 0.188315F, 0.189822F, 0.191328F,
    0.192833F, 0.194338F, 0.195843F, 0.197347F, 0.198850F, 0.200353F, 0.201856F,
    0.203358F, 0.204860F, 0.206361F, 0.207862F, 0.209362F, 0.210862F, 0.212361F,
    0.213860F, 0.215358F, 0.216856F, 0.218353F, 0.219850F, 0.221346F, 0.222841F,
    0.224337F, 0.225831F, 0.227325F, 0.228819F, 0.230312F, 0.231804F, 0.233296F,
    0.234788F, 0.236278F, 0.237769F, 0.239258F, 0.240748F, 0.242236F, 0.243724F,
    0.245212F, 0.246698F, 0.248185F, 0.249670F, 0.251155F, 0.252640F, 0.254124F,
    0.255607F, 0.257090F, 0.258572F, 0.260054F, 0.261534F, 0.263015F, 0.264494F,
    0.265973F, 0.267452F, 0.268930F, 0.270407F, 0.271883F, 0.273359F, 0.274834F,
    0.276309F, 0.277783F, 0.279256F, 0.280729F, 0.282201F, 0.283672F, 0.285143F,
    0.286613F, 0.288082F, 0.289551F, 0.291019F, 0.292486F, 0.293952F, 0.295418F,
    0.296883F, 0.298348F, 0.299812F, 0.301275F, 0.302737F, 0.304199F, 0.305660F,
    0.307120F, 0.308579F, 0.310038F, 0.311496F, 0.312953F, 0.314410F, 0.315866F,
    0.317321F, 0.318775F, 0.320229F, 0.321682F, 0.323134F, 0.324585F, 0.326035F,
    0.327485F, 0.328934F, 0.330382F, 0.331830F, 0.333277F, 0.334723F, 0.336168F,
    0.337612F, 0.339055F, 0.340498F, 0.341940F, 0.343381F, 0.344821F, 0.346261F,
    0.347700F, 0.349138F, 0.350575F, 0.352011F, 0.353446F, 0.354881F, 0.356314F,
    0.357747F, 0.359179F, 0.360611F, 0.362041F, 0.363470F, 0.364899F, 0.366327F,
    0.367754F, 0.369180F, 0.370605F, 0.372029F, 0.373453F, 0.374875F, 0.376297F,
    0.377718F, 0.379138F, 0.380557F, 0.381975F, 0.383392F, 0.384808F, 0.386224F,
    0.387638F, 0.389052F, 0.390464F, 0.391876F, 0.393287F, 0.394697F, 0.396106F,
    0.397514F, 0.398921F, 0.400327F, 0.401732F, 0.403137F, 0.404540F, 0.405942F,
    0.407344F, 0.408744F, 0.410144F, 0.411542F, 0.412940F, 0.414337F, 0.415732F,
    0.417127F, 0.418520F, 0.419913F, 0.421305F, 0.422696F, 0.424085F, 0.425474F,
    0.426862F, 0.428248F, 0.429634F, 0.431019F, 0.432402F, 0.433785F, 0.435167F,
    0.436547F, 0.437927F, 0.439305F, 0.440683F, 0.442059F, 0.443435F, 0.444809F,
    0.446183F, 0.447555F, 0.448926F, 0.450296F, 0.451665F, 0.453034F, 0.454401F,
    0.455766F, 0.457131F, 0.458495F, 0.459858F, 0.461219F, 0.462580F, 0.463939F,
    0.465298F, 0.466655F, 0.468011F, 0.469366F, 0.470720F, 0.472073F, 0.473425F,
    0.474775F, 0.476125F, 0.477473F, 0.478821F, 0.480167F, 0.481512F, 0.482856F,
    0.484198F, 0.485540F, 0.486880F, 0.488220F, 0.489558F, 0.490895F, 0.492231F,
    0.493565F, 0.494899F, 0.496231F, 0.497563F, 0.498893F, 0.500221F, 0.501549F,
    0.502876F, 0.504201F, 0.505525F, 0.506848F, 0.508170F, 0.509490F, 0.510810F,
    0.512128F, 0.513445F, 0.514760F, 0.516075F, 0.517388F, 0.518700F, 0.520011F,
    0.521321F, 0.522629F, 0.523937F, 0.525243F, 0.526547F, 0.527851F, 0.529153F,
    0.530454F, 0.531754F, 0.533052F, 0.534350F, 0.535645F, 0.536940F, 0.538234F,
    0.539526F, 0.540817F, 0.542106F, 0.543395F, 0.544682F, 0.545968F, 0.547252F,
    0.548536F, 0.549818F, 0.551098F, 0.552378F, 0.553656F, 0.554932F, 0.556208F,
    0.557482F, 0.558755F, 0.560026F, 0.561297F, 0.562565F, 0.563833F, 0.565099F,
    0.566364F, 0.567628F, 0.568890F, 0.570151F, 0.571410F, 0.572669F, 0.573925F,
    0.575181F, 0.576435F, 0.577688F, 0.578939F, 0.580189F, 0.581438F, 0.582686F,
    0.583932F, 0.585176F, 0.586419F, 0.587661F, 0.588902F, 0.590141F, 0.591378F,
    0.592615F, 0.593850F, 0.595083F, 0.596315F, 0.597546F, 0.598775F, 0.600003F,
    0.601230F, 0.602455F, 0.603678F, 0.604900F, 0.606121F, 0.607341F, 0.608559F,
    0.609775F, 0.610990F, 0.612204F, 0.613416F, 0.614627F, 0.615836F, 0.617044F,
    0.618250F, 0.619455F, 0.620659F, 0.621861F, 0.623061F, 0.624260F, 0.625458F,
    0.626654F, 0.627849F, 0.629042F, 0.630234F, 0.631424F, 0.632613F, 0.633800F,
    0.634986F, 0.636170F, 0.637353F, 0.638534F, 0.639714F, 0.640892F, 0.642069F,
    0.643245F, 0.644418F, 0.645590F, 0.646761F, 0.647930F, 0.649098F, 0.650264F,
    0.651429F, 0.652592F, 0.653753F, 0.654913F, 0.656072F, 0.657229F, 0.658384F,
    0.659538F, 0.660690F, 0.661841F, 0.662990F, 0.664138F, 0.665284F, 0.666428F,
    0.667571F, 0.668713F, 0.669852F, 0.670990F, 0.672127F, 0.673262F, 0.674396F,
    0.675527F, 0.676658F, 0.677786F, 0.678913F, 0.680039F, 0.681163F, 0.682285F,
    0.683406F, 0.684525F, 0.685642F, 0.686758F, 0.687872F, 0.688985F, 0.690096F,
    0.691205F, 0.692313F, 0.693419F, 0.694524F, 0.695626F, 0.696728F, 0.697827F,
    0.698925F, 0.700021F, 0.701116F, 0.702209F, 0.703300F, 0.704390F, 0.705478F,
    0.706564F, 0.707649F, 0.708732F, 0.709813F, 0.710893F, 0.711971F, 0.713047F,
    0.714122F, 0.715195F, 0.716266F, 0.717336F, 0.718404F, 0.719470F, 0.720535F,
    0.721597F, 0.722659F, 0.723718F, 0.724776F, 0.725832F, 0.726886F, 0.727939F,
    0.728990F, 0.730039F, 0.731086F, 0.732132F, 0.733176F, 0.734218F, 0.735259F,
    0.736298F, 0.737335F, 0.738370F, 0.739404F, 0.740436F, 0.741466F, 0.742494F,
    0.743521F, 0.744546F, 0.745569F, 0.746591F, 0.747610F, 0.748628F, 0.749644F,
    0.750659F, 0.751671F, 0.752682F, 0.753691F, 0.754698F, 0.755704F, 0.756708F,
    0.757710F, 0.758710F, 0.759708F, 0.760705F, 0.761700F, 0.762693F, 0.763684F,
    0.764673F, 0.765661F, 0.766647F, 0.767631F, 0.768613F, 0.769593F, 0.770572F,
    0.771549F, 0.772524F, 0.773497F, 0.774468F, 0.775438F, 0.776405F, 0.777371F,
    0.778335F, 0.779297F, 0.780258F, 0.781216F, 0.782173F, 0.783128F, 0.784081F,
    0.785032F, 0.785981F, 0.786929F, 0.787874F, 0.788818F, 0.789760F, 0.790700F,
    0.791638F, 0.792575F, 0.793509F, 0.794442F, 0.795372F, 0.796301F, 0.797228F,
    0.798153F, 0.799076F, 0.799998F, 0.800917F, 0.801835F, 0.802750F, 0.803664F,
    0.804576F, 0.805486F, 0.806394F, 0.807300F, 0.808205F, 0.809107F, 0.810008F,
    0.810906F, 0.811803F, 0.812698F, 0.813591F, 0.814482F, 0.815371F, 0.816258F,
    0.817143F, 0.818026F, 0.818908F, 0.819787F, 0.820665F, 0.821540F, 0.822414F,
    0.823285F, 0.824155F, 0.825023F, 0.825889F, 0.826753F, 0.827615F, 0.828475F,
    0.829333F, 0.830189F, 0.831043F, 0.831895F, 0.832746F, 0.833594F, 0.834440F,
    0.835285F, 0.836127F, 0.836968F, 0.837806F, 0.838643F, 0.839477F, 0.840310F,
    0.841140F, 0.841969F, 0.842796F, 0.843620F, 0.844443F, 0.845264F, 0.846082F,
    0.846899F, 0.847714F, 0.848526F, 0.849337F, 0.850146F, 0.850953F, 0.851757F,
    0.852560F, 0.853361F, 0.854159F, 0.854956F, 0.855751F, 0.856543F, 0.857334F,
    0.858123F, 0.858909F, 0.859694F, 0.860476F, 0.861257F, 0.862035F, 0.862812F,
    0.863586F, 0.864359F, 0.865129F, 0.865898F, 0.866664F, 0.867428F, 0.868190F,
    0.868951F, 0.869709F, 0.870465F, 0.871219F, 0.871971F, 0.872721F, 0.873469F,
    0.874215F, 0.874958F, 0.875700F, 0.876440F, 0.877177F, 0.877913F, 0.878646F,
    0.879378F, 0.880107F, 0.880834F, 0.881559F, 0.882283F, 0.883004F, 0.883723F,
    0.884439F, 0.885154F, 0.885867F, 0.886578F, 0.887286F, 0.887993F, 0.888697F,
    0.889399F, 0.890099F, 0.890797F, 0.891493F, 0.892187F, 0.892879F, 0.893569F,
    0.894256F, 0.894942F, 0.895625F, 0.896307F, 0.896986F, 0.897663F, 0.898338F,
    0.899011F, 0.899681F, 0.900350F, 0.901016F, 0.901681F, 0.902343F, 0.903003F,
    0.903661F, 0.904317F, 0.904971F, 0.905622F, 0.906272F, 0.906919F, 0.907564F,
    0.908207F, 0.908848F, 0.909487F, 0.910124F, 0.910758F, 0.911391F, 0.912021F,
    0.912649F, 0.913275F, 0.913899F, 0.914520F, 0.915140F, 0.915757F, 0.916372F,
    0.916985F, 0.917596F, 0.918205F, 0.918811F, 0.919416F, 0.920018F, 0.920618F,
    0.921216F, 0.921812F, 0.922405F, 0.922997F, 0.923586F, 0.924173F, 0.924758F,
    0.925340F, 0.925921F, 0.926499F, 0.927075F, 0.927649F, 0.928221F, 0.928791F,
    0.929358F, 0.929923F, 0.930486F, 0.931047F, 0.931606F, 0.932162F, 0.932716F,
    0.933269F, 0.933818F, 0.934366F, 0.934912F, 0.935455F, 0.935996F, 0.936535F,
    0.937072F, 0.937606F, 0.938138F, 0.938668F, 0.939196F, 0.939722F, 0.940245F,
    0.940766F, 0.941285F, 0.941802F, 0.942317F, 0.942829F, 0.943339F, 0.943847F,
    0.944353F, 0.944856F, 0.945358F, 0.945857F, 0.946353F, 0.946848F, 0.947340F,
    0.947830F, 0.948318F, 0.948804F, 0.949287F, 0.949768F, 0.950247F, 0.950724F,
    0.951199F, 0.951671F, 0.952141F, 0.952609F, 0.953074F, 0.953537F, 0.953998F,
    0.954457F, 0.954914F, 0.955368F, 0.955820F, 0.956270F, 0.956717F, 0.957163F,
    0.957606F, 0.958047F, 0.958485F, 0.958921F, 0.959355F, 0.959787F, 0.960217F,
    0.960644F, 0.961069F, 0.961492F, 0.961912F, 0.962330F, 0.962746F, 0.963160F,
    0.963571F, 0.963980F, 0.964387F, 0.964792F, 0.965194F, 0.965594F, 0.965992F,
    0.966388F, 0.966781F, 0.967172F, 0.967560F, 0.967947F, 0.968331F, 0.968713F,
    0.969092F, 0.969470F, 0.969845F, 0.970217F, 0.970588F, 0.970956F, 0.971322F,
    0.971685F, 0.972047F, 0.972406F, 0.972762F, 0.973117F, 0.973469F, 0.973819F,
    0.974166F, 0.974512F, 0.974855F, 0.975195F, 0.975534F, 0.975870F, 0.976204F,
    0.976535F, 0.976864F, 0.977191F, 0.977516F, 0.977838F, 0.978158F, 0.978476F,
    0.978791F, 0.979104F, 0.979415F, 0.979724F, 0.980030F, 0.980334F, 0.980635F,
    0.980935F, 0.981232F, 0.981526F, 0.981819F, 0.982109F, 0.982396F, 0.982682F,
    0.982965F, 0.983246F, 0.983524F, 0.983800F, 0.984074F, 0.984346F, 0.984615F,
    0.984882F, 0.985146F, 0.985408F, 0.985668F, 0.985926F, 0.986181F, 0.986434F,
    0.986685F, 0.986933F, 0.987179F, 0.987423F, 0.987664F, 0.987903F, 0.988140F,
    0.988374F, 0.988607F, 0.988836F, 0.989064F, 0.989289F, 0.989511F, 0.989732F,
    0.989950F, 0.990166F, 0.990379F, 0.990590F, 0.990799F, 0.991006F, 0.991210F,
    0.991411F, 0.991611F, 0.991808F, 0.992003F, 0.992195F, 0.992385F, 0.992573F,
    0.992759F, 0.992942F, 0.993122F, 0.993301F, 0.993477F, 0.993651F, 0.993822F,
    0.993991F, 0.994158F, 0.994322F, 0.994484F, 0.994644F, 0.994802F, 0.994957F,
    0.995109F, 0.995260F, 0.995408F, 0.995553F, 0.995697F, 0.995838F, 0.995976F,
    0.996113F, 0.996247F, 0.996378F, 0.996507F, 0.996634F, 0.996759F, 0.996881F,
    0.997001F, 0.997119F, 0.997234F, 0.997347F, 0.997457F, 0.997565F, 0.997671F,
    0.997774F, 0.997876F, 0.997974F, 0.998071F, 0.998165F, 0.998257F, 0.998346F,
    0.998433F, 0.998518F, 0.998600F, 0.998680F, 0.998758F, 0.998833F, 0.998906F,
    0.998976F, 0.999044F, 0.999110F, 0.999174F, 0.999235F, 0.999294F, 0.999350F,
    0.999404F, 0.999456F, 0.999506F, 0.999553F, 0.999597F, 0.999640F, 0.999680F,
    0.999717F, 0.999753F, 0.999786F, 0.999816F, 0.999844F, 0.999870F, 0.999894F,
    0.999915F, 0.999934F, 0.999950F, 0.999964F, 0.999976F, 0.999986F, 0.999993F,
    0.999997F, 1.000000F};

const FLOAT32 lsf_init[ORDER] = {375.0,  750.0,  1125.0, 1500.0, 1875.0, 2250.0,
                                 2625.0, 3000.0, 3375.0, 3750.0, 4125.0, 4500.0,
                                 4875.0, 5250.0, 5625.0, 6000.0};

const FLOAT32 ixheaacd_fir_lp_filt[1 + FILTER_DELAY] = {
    0.088250f, 0.086410f, 0.081074f, 0.072768f, 0.062294f, 0.050623f, 0.038774f,
    0.027692f, 0.018130f, 0.010578f, 0.005221f, 0.001946f, 0.000385f};

const FLOAT32 ixheaacd_interpol_filt[INTER_LP_FIL_LEN] = {

    0.940000f,  0.856390f,  0.632268f,  0.337560f,  0.059072f,  -0.131059f,
    -0.199393f, -0.158569f, -0.056359f, 0.047606f,  0.106749f,  0.103705f,
    0.052062f,  -0.015182f, -0.063705f, -0.073660f, -0.046497f, -0.000983f,
    0.038227f,  0.053143f,  0.040059f,  0.009308f,  -0.021674f, -0.037767f,
    -0.033186f, -0.013028f, 0.010702f,  0.025901f,  0.026318f,  0.013821f,
    -0.003645f, -0.016813f, -0.019855f, -0.012766f, -0.000530f, 0.010080f,
    0.014122f,  0.010657f,  0.002594f,  -0.005363f, -0.009344f, -0.008101f,
    -0.003182f, 0.002330f,  0.005635f,  0.005562f,  0.002844f,  -0.000627f,
    -0.002993f, -0.003362f, -0.002044f, -0.000116f, 0.001315f,  0.001692f,
    0.001151f,  0.000259f,  -0.000417f, -0.000618f, -0.000434f, -0.000133f,
    0.000063f,  0.000098f,  0.000048f,  0.000007f,  0.000000f};

FLOAT32 ixheaacd_weight_table_avq[16 * 256] = {
    51.35722351f,  56.66270447f,  56.93847275f,  47.94641876f,  51.14369583f,
    55.13227081f,  55.94912338f,  55.60356140f,  55.40005112f,  55.63003922f,
    56.32114792f,  58.34404755f,  58.28456116f,  57.81193161f,  57.67873764f,
    62.89968491f,  79.35706329f,  57.65787888f,  43.80548859f,  44.34786987f,
    49.37105942f,  52.12645721f,  52.39661407f,  51.44091797f,  53.65204239f,
    54.99522400f,  55.84826660f,  57.42644501f,  55.41738892f,  55.37759781f,
    55.74499512f,  59.74597931f,  61.79740143f,  58.52257538f,  54.83450699f,
    39.92340088f,  41.08345413f,  48.60131073f,  56.50695801f,  58.68046570f,
    56.46740341f,  51.33567429f,  48.75782394f,  51.25039291f,  52.71126175f,
    56.05620575f,  63.08797836f,  71.41320038f,  58.74863434f,  61.31116104f,
    60.36767578f,  46.94881821f,  43.05058289f,  42.52682114f,  43.48771667f,
    46.60663605f,  51.67750168f,  56.51754761f,  61.39179230f,  65.45318604f,
    64.42360687f,  60.87530899f,  59.40535355f,  63.21428299f,  27.50454903f,
    26.01443100f,  72.88661957f,  65.15971375f,  36.36797714f,  42.51214218f,
    41.14509583f,  48.70087433f,  54.13247681f,  43.03520584f,  41.80447006f,
    71.41699219f,  105.12626648f, 69.40705109f,  52.51038361f,  56.15418625f,
    39.32154846f,  34.86045837f,  57.52830505f,  38.65613937f,  37.07442474f,
    62.72042465f,  46.04343796f,  43.27716446f,  49.77703857f,  37.05713272f,
    36.10309601f,  56.60759354f,  106.72460175f, 97.56930542f,  56.78072357f,
    53.92894363f,  34.82147217f,  30.41595840f,  58.92755508f,  45.38528824f,
    38.98734283f,  50.23058701f,  45.37584686f,  46.23588562f,  47.50640869f,
    39.13286209f,  50.53511810f,  101.81655884f, 78.84753418f,  46.91825104f,
    58.04839706f,  73.15898132f,  27.94698906f,  30.04294586f,  44.24326324f,
    65.08174133f,  64.29788971f,  41.61458588f,  43.46092987f,  41.12305069f,
    38.71143723f,  62.77682114f,  95.97928619f,  70.68365479f,  49.17075729f,
    55.24934769f,  72.21697235f,  69.08310699f,  33.39015961f,  27.74524498f,
    36.86309052f,  30.59696388f,  56.86837006f,  83.52423096f,  46.90863037f,
    57.32517624f,  51.75178146f,  47.19896698f,  76.48811340f,  70.14212036f,
    54.70843124f,  53.00719070f,  55.14438629f,  64.12015533f,  33.25688553f,
    31.20080376f,  44.00421906f,  32.94925308f,  32.29811096f,  70.08818054f,
    77.54248810f,  43.61351013f,  64.04222107f,  68.27146912f,  46.11806488f,
    52.08075714f,  58.43544388f,  54.48910904f,  62.15877533f,  76.94892883f,
    25.21123314f,  31.07140923f,  64.18517303f,  73.08840942f,  47.01982117f,
    34.56942749f,  46.08865356f,  69.39517212f,  52.05731583f,  51.76427460f,
    84.72058105f,  60.20022964f,  42.68987656f,  53.64936829f,  68.98681641f,
    72.44443512f,  36.95545197f,  38.50978470f,  56.65228653f,  45.21320343f,
    44.33461761f,  57.71500015f,  54.59541702f,  62.43425369f,  78.33283234f,
    79.26461029f,  75.88914490f,  60.52022934f,  47.70919800f,  48.37574768f,
    47.72063828f,  54.86680984f,  34.00415802f,  43.60775757f,  54.13970566f,
    36.29747391f,  37.44327545f,  55.93651199f,  72.11687469f,  62.85591125f,
    62.00658417f,  64.02756500f,  61.66854858f,  63.54419708f,  60.88019562f,
    59.24253845f,  58.56096268f,  63.18069458f,  39.50523376f,  31.70396233f,
    60.26929474f,  53.91211700f,  35.68880844f,  53.01742935f,  51.46334457f,
    51.23356247f,  63.81703568f,  48.14149475f,  50.73869705f,  69.80355835f,
    54.97037888f,  44.55532837f,  54.06734467f,  79.62593842f,  22.60673714f,
    32.73123550f,  82.47475433f,  44.38219070f,  35.63208771f,  42.75865173f,
    49.92489243f,  43.19778061f,  55.33113861f,  87.77682495f,  56.83572006f,
    47.62418365f,  51.46238708f,  53.71224594f,  66.54789734f,  74.52059937f,
    26.84594345f,  35.30788040f,  82.43469238f,  49.02751923f,  48.64369965f,
    59.62556458f,  52.84436417f,  72.91526031f,  58.08168411f,  47.03381729f,
    49.28859329f,  50.73176956f,  51.04360962f,  54.03795242f,  57.46273804f,
    63.96378708f,  32.17285919f,  24.71391678f,  37.14886475f,  33.37641144f,
    49.10292053f,  115.65037537f, 90.32772827f,  44.33675385f,  40.08665085f,
    42.54581070f,  38.19865417f,  42.49585724f,  55.98930359f,  59.49616241f,
    61.68011475f,  79.99797821f,  29.85901451f,  30.74155617f,  54.27659607f,
    40.60262680f,  30.69586563f,  36.18083954f,  77.88475037f,  92.04877472f,
    46.81482697f,  47.34019089f,  43.41049576f,  52.65546417f,  85.05891418f,
    75.23082733f,  56.83453369f,  54.87760544f,  33.44684601f,  29.41145706f,
    55.29323578f,  53.15122604f,  36.81983185f,  63.03656006f,  82.19124603f,
    47.44927979f,  52.44190216f,  66.40546417f,  44.05239105f,  43.74975967f,
    65.73956299f,  68.40489197f,  58.48169327f,  62.60677338f,  33.30772781f,
    33.08448029f,  40.88723755f,  66.69921875f,  83.21170807f,  63.38944244f,
    61.16099548f,  44.00226974f,  39.25312042f,  51.35705566f,  69.19556427f,
    70.41883087f,  54.19179535f,  46.41978073f,  52.78839111f,  66.43840790f,
    24.30754089f,  25.26133537f,  57.25505447f,  66.19188690f,  63.78697586f,
    71.96389771f,  51.85918427f,  32.98119736f,  35.85763931f,  71.08959198f,
    85.39947510f,  60.78678131f,  58.38899231f,  68.80822754f,  60.99251938f,
    51.26571274f,  24.37443733f,  22.46492004f,  33.02930450f,  60.64863586f,
    100.06098938f, 53.23743057f,  33.58250046f,  37.12489319f,  62.11270142f,
    84.95267487f,  81.70674133f,  68.56751251f,  46.94418335f,  42.31033325f,
    48.46044159f,  65.21463013f,  22.11164856f,  21.07112503f,  43.68747711f,
    88.50624084f,  56.67428589f,  29.03699112f,  41.90959167f,  82.10002136f,
    96.46846008f,  59.01469421f,  40.22736740f,  48.11627579f,  64.54234314f,
    60.91376114f,  57.00017166f,  61.02260208f,  27.76537514f,  26.16415215f,
    37.93569183f,  55.13633728f,  97.57464600f,  59.98986435f,  41.12758636f,
    45.35464478f,  52.20872116f,  63.01165390f,  47.57964325f,  40.53738022f,
    53.50274277f,  76.44663239f,  74.97815704f,  69.62757111f,  24.59967995f,
    22.23286629f,  31.82554245f,  62.27807999f,  87.92049408f,  53.21877289f,
    44.85179901f,  44.66452789f,  58.01993942f,  65.59706116f,  63.20540237f,
    69.99266815f,  66.43755341f,  60.34387207f,  60.76932526f,  63.49954987f,
    25.11368752f,  23.57916832f,  35.81934738f,  68.99372101f,  98.37869263f,
    63.63158417f,  47.53970337f,  44.60314178f,  58.33650970f,  69.50181580f,
    60.72591400f,  56.39746094f,  55.29515839f,  57.86849594f,  59.38237381f,
    61.77172852f,  27.29609680f,  25.83432579f,  35.38584900f,  41.58143234f,
    89.87036896f,  76.51296997f,  51.89628601f,  58.59866333f,  50.15446854f,
    65.43125916f,  71.60181427f,  59.29849625f,  51.27042007f,  47.59590912f,
    49.10307312f,  57.76146698f,  18.98057365f,  20.81531715f,  53.56282425f,
    88.80827332f,  75.38246155f,  63.70977783f,  62.73327637f,  60.79899597f,
    58.66080475f,  57.47954178f,  57.26865768f,  57.35509872f,  56.67100525f,
    55.51200104f,  54.66986465f,  59.18122482f,  25.32238770f,  20.68062973f,
    28.36009407f,  40.33654785f,  86.68951416f,  86.51828003f,  64.46145630f,
    55.06295013f,  42.86376572f,  52.33369064f,  68.57237244f,  70.92263794f,
    61.17023849f,  56.09333801f,  58.05968094f,  62.57154846f,  18.67280960f,
    27.20020294f,  79.32300568f,  80.76397705f,  62.05303955f,  60.97631073f,
    58.87064362f,  58.27484131f,  56.96005630f,  56.76728439f,  56.64775848f,
    56.52514267f,  55.55430984f,  55.01075745f,  53.68558121f,  58.74045563f,
    29.54671860f,  28.61027908f,  37.17855453f,  39.57009888f,  86.27275085f,
    79.13014221f,  47.02121735f,  57.23653030f,  49.52788925f,  44.78738022f,
    53.71403122f,  62.91474533f,  64.79869843f,  62.62981415f,  58.24869919f,
    60.06638336f,  28.12161827f,  34.00690842f,  60.39837265f,  74.62567139f,
    82.97061157f,  76.43457794f,  63.76325607f,  53.43813324f,  50.59312820f,
    47.57706833f,  45.96542740f,  48.54483795f,  51.67103577f,  55.42654800f,
    58.54445267f,  64.89894867f,  42.93475342f,  39.43522263f,  55.95222473f,
    65.88129425f,  60.98608780f,  58.98157883f,  59.11711502f,  54.85660934f,
    57.57508087f,  58.85480881f,  56.67377472f,  56.79773331f,  56.28233719f,
    53.88801956f,  52.54358292f,  59.64854050f,  49.53974915f,  60.80837631f,
    61.29835510f,  53.16458893f,  62.77450562f,  62.31079102f,  57.79144669f,
    51.27103043f,  46.25718307f,  45.45421600f,  48.86591721f,  53.39314651f,
    55.54738998f,  56.92560196f,  59.08743286f,  64.09606171f,  60.72393799f,
    65.90709686f,  63.53307343f,  55.44069672f,  60.31943512f,  62.19502640f,
    58.11647034f,  52.52097702f,  48.90110397f,  45.15906525f,  44.96876526f,
    47.84098053f,  50.57266617f,  53.61349487f,  55.55693817f,  61.47087479f,
    72.06310272f,  69.39316559f,  59.08422089f,  57.24771881f,  65.71746826f,
    64.69672394f,  60.91994858f,  53.24753189f,  46.86304092f,  42.66559601f,
    42.41964722f,  43.76725769f,  45.80307007f,  49.87761688f,  52.68863678f,
    57.46463776f,  81.77955627f,  74.57749939f,  66.83322144f,  69.54669189f,
    68.09569550f,  55.31027985f,  48.12663269f,  45.37993622f,  41.38604736f,
    39.97538757f,  43.81065750f,  47.01694870f,  48.50960159f,  50.49465561f,
    50.52083588f,  54.24332047f,  71.85914612f,  64.69673157f,  59.39583969f,
    52.52187347f,  57.25660706f,  62.27436066f,  62.15499878f,  61.26008987f,
    59.19638824f,  53.50318146f,  51.65423584f,  49.85649490f,  45.82172775f,
    44.06589127f,  43.89001846f,  47.53118896f,  60.04483795f,  59.83569336f,
    52.16779709f,  45.41381073f,  52.64526367f,  59.17994690f,  58.35621262f,
    56.55029297f,  57.65917587f,  58.24497604f,  57.56445694f,  56.27445221f,
    54.76704788f,  54.01100922f,  53.06089401f,  57.64678574f,  22.93865967f,
    25.94177818f,  61.82679749f,  64.59768677f,  49.33342743f,  49.56757736f,
    42.11018372f,  67.27801514f,  67.62043762f,  40.15002441f,  57.48740387f,
    72.15245819f,  67.54809570f,  58.87646484f,  55.09449387f,  64.78334808f,
    28.06971550f,  27.15646935f,  36.75730133f,  38.62354660f,  74.91754913f,
    63.33176422f,  55.39395523f,  63.07621384f,  41.87721634f,  43.57663345f,
    44.85655212f,  60.18329239f,  86.15392303f,  78.47897339f,  63.33504105f,
    57.56226349f,  33.45854568f,  29.11658096f,  31.20649147f,  50.92073822f,
    74.30931091f,  47.03403854f,  47.06088638f,  38.65474701f,  38.06953812f,
    50.29759979f,  50.87401581f,  54.85138702f,  81.64796448f,  92.17088318f,
    70.48130798f,  66.96426392f,  50.08899689f,  32.78342438f,  36.86429214f,
    37.18173981f,  37.63923264f,  56.18009567f,  53.51729965f,  46.61832809f,
    56.68966293f,  59.36262894f,  56.39588547f,  54.88195801f,  75.07868195f,
    96.45698547f,  73.98442078f,  55.66107559f,  34.46772385f,  30.14305305f,
    39.08222961f,  36.71318436f,  54.31451035f,  57.31208801f,  52.00975800f,
    46.47596359f,  42.75908661f,  62.08021545f,  65.85154724f,  73.32521057f,
    84.24238586f,  70.64961243f,  63.17792511f,  63.65686035f,  30.61931992f,
    32.57714462f,  40.81238174f,  36.43671799f,  39.14760971f,  47.02568436f,
    90.90510559f,  72.71091461f,  43.31842422f,  53.96344757f,  90.27839661f,
    90.96269989f,  52.36705017f,  43.89374924f,  41.77083206f,  49.92410660f,
    27.70341110f,  26.10897827f,  31.22848892f,  46.22554398f,  69.79851532f,
    47.68115997f,  48.10245514f,  40.53551483f,  60.89052200f,  87.37016296f,
    57.35636902f,  58.40283966f,  52.99349594f,  54.04876328f,  71.69735718f,
    71.21662140f,  40.84841156f,  27.98457909f,  29.06910324f,  27.22127151f,
    53.72144699f,  75.32254028f,  47.50754929f,  54.42188263f,  46.35825348f,
    53.99143600f,  75.61268616f,  49.48343658f,  54.25512695f,  77.55857849f,
    74.04908752f,  64.17858887f,  40.82606125f,  31.73655510f,  32.05362320f,
    30.15248871f,  60.30594254f,  89.29907990f,  49.42378998f,  37.45138931f,
    33.05088806f,  41.86178207f,  65.35848999f,  62.83221054f,  75.23628998f,
    87.04959106f,  70.58181763f,  62.44256210f,  25.31159019f,  24.34242249f,
    35.23166275f,  50.78132629f,  73.45314789f,  60.42639923f,  61.95764160f,
    66.26519012f,  62.89816666f,  65.06851196f,  63.74531937f,  63.67735291f,
    60.35585785f,  60.06472778f,  61.07849884f,  61.91757584f,  22.89045906f,
    27.24340439f,  57.14545441f,  74.94773102f,  72.12722015f,  44.62713242f,
    28.65854263f,  49.80601883f,  87.02990723f,  66.92189789f,  64.33074188f,
    64.27783203f,  44.78753662f,  48.63618469f,  60.93623352f,  65.29827118f,
    34.30735779f,  51.58544922f,  61.40118408f,  43.44897842f,  50.59210968f,
    58.85723114f,  62.16580200f,  61.32621002f,  61.16173553f,  62.79653549f,
    60.40631866f,  59.08562088f,  57.58434677f,  56.30934143f,  53.98606873f,
    58.90121841f,  26.64968491f,  26.58556175f,  67.80798340f,  54.54604721f,
    43.02314377f,  52.29839325f,  40.75535202f,  55.25498962f,  56.23502731f,
    40.95955658f,  64.31992340f,  85.76444244f,  58.62097931f,  51.81830978f,
    59.07057190f,  68.81068420f,  31.51725388f,  29.64301109f,  68.15830231f,
    48.88651657f,  37.57243729f,  60.42789459f,  43.16152191f,  56.62898254f,
    78.21684265f,  45.43099594f,  43.33174515f,  61.73524475f,  66.17499542f,
    57.58115005f,  54.73582077f,  63.47382736f,  27.46224022f,  35.62995911f,
    57.48218155f,  37.94735718f,  42.28582764f,  46.42540359f,  46.43659210f,
    41.99361038f,  36.43420029f,  58.86711884f,  101.85854340f, 90.39488220f,
    62.49348831f,  61.48776245f,  63.98002625f,  58.75501251f,  24.02379799f,
    37.92109680f,  76.27156067f,  45.02413940f,  40.16073990f,  44.08317947f,
    48.63985825f,  41.63816833f,  36.26319122f,  55.71387100f,  101.28601074f,
    84.31336975f,  48.91724014f,  53.55353928f,  58.58589172f,  59.65835571f,
    33.85987091f,  25.47232056f,  60.31459808f,  71.40914154f,  34.16411591f,
    31.44390678f,  37.29024506f,  44.07047272f,  74.50944519f,  60.76315689f,
    40.13964081f,  56.93555832f,  58.82191467f,  50.52367020f,  77.00817871f,
    88.56400299f,  26.23241997f,  34.07615280f,  53.72222137f,  47.81643295f,
    54.98140717f,  50.64495087f,  47.93675995f,  52.46852112f,  66.16542053f,
    77.76923370f,  78.78589630f,  73.08940887f,  57.74690247f,  50.11543274f,
    51.78378677f,  64.16659546f,  40.04499435f,  32.83197021f,  44.03527069f,
    38.04254913f,  52.99823761f,  71.75680542f,  52.67618179f,  63.61703873f,
    61.32105255f,  52.41450882f,  67.00193024f,  70.13252258f,  58.31614304f,
    54.17544937f,  51.04999924f,  58.02515030f,  29.39674950f,  33.54152679f,
    44.07868195f,  32.80142975f,  36.75119400f,  54.29905701f,  60.05080795f,
    63.10977173f,  80.95140076f,  87.48461151f,  84.08176422f,  64.65602112f,
    51.11909866f,  50.55273438f,  51.63026428f,  55.92106628f,  32.43203354f,
    35.19086838f,  52.48605728f,  38.87727737f,  43.43602371f,  47.74624252f,
    57.89318848f,  56.59716034f,  37.67229462f,  54.36892319f,  104.13726044f,
    77.87561035f,  45.27653503f,  42.70982742f,  50.00558090f,  72.11049652f,
    23.15091705f,  29.68937683f,  84.29270172f,  56.97257996f,  36.93620682f,
    45.76895523f,  50.98108292f,  50.25860214f,  48.30105591f,  63.42514801f,
    72.01637268f,  63.89733505f,  58.89476013f,  63.55104828f,  63.29576492f,
    62.64519501f,  26.40411758f,  33.88385391f,  73.38534546f,  41.93790817f,
    29.54182053f,  35.14719391f,  55.53915787f,  62.32246399f,  55.53688049f,
    67.71183014f,  67.73328400f,  66.71433258f,  62.51498413f,  62.21415329f,
    61.18598557f,  65.40946198f,  23.36671257f,  29.05081749f,  70.07810211f,
    58.88187408f,  40.48395920f,  42.10813141f,  62.00427246f,  80.31524658f,
    58.20276642f,  59.09466553f,  64.51416016f,  59.56649017f,  59.24276352f,
    60.31189728f,  57.44777679f,  59.64531326f,  21.39454269f,  25.19507599f,
    62.11148453f,  92.40872955f,  53.02559662f,  34.33268356f,  54.66912460f,
    75.52672577f,  65.54019928f,  59.27623749f,  58.03553391f,  56.06007767f,
    53.49679947f,  52.66230774f,  55.80004883f,  66.00994873f,  26.49234772f,
    28.06620979f,  71.84543610f,  50.06892014f,  42.60673523f,  53.48630524f,
    41.20733261f,  66.57645416f,  54.34481049f,  50.21356964f,  81.29329681f,
    69.27972412f,  51.25036621f,  50.18910599f,  49.81430435f,  54.67628098f,
    25.25213432f,  26.27217484f,  63.17989349f,  89.34584808f,  55.40425110f,
    50.19643021f,  59.20699692f,  52.45797729f,  67.72447205f,  74.88394928f,
    52.19100952f,  45.75650024f,  50.78663635f,  51.88641357f,  53.43647003f,
    61.86102676f,  26.62268448f,  51.35712433f,  81.43214417f,  60.82180023f,
    59.03229904f,  59.15783310f,  58.40338898f,  55.67206192f,  55.50912857f,
    55.69218826f,  55.51039505f,  55.25974274f,  54.70522308f,  54.32756805f,
    53.57998276f,  58.04686737f,  26.99984360f,  34.32979584f,  55.27625275f,
    47.05793762f,  56.66270447f,  51.78815842f,  62.71406555f,  53.01352692f,
    60.77756500f,  73.74706268f,  45.40955734f,  43.94420242f,  44.93154144f,
    48.44590759f,  64.26975250f,  78.60430145f,  39.68233109f,  30.48469543f,
    48.00776672f,  45.96604156f,  39.44678116f,  61.35329819f,  58.51391983f,
    51.03633499f,  67.84073639f,  51.40700531f,  42.05585098f,  57.82880783f,
    53.51763916f,  43.56558990f,  68.20864868f,  95.94857025f,  54.09636307f,
    68.45973969f,  67.88989258f,  46.89349747f,  42.97753525f,  48.63239288f,
    53.96750259f,  54.89427567f,  57.18038559f,  56.57381821f,  55.22798157f,
    56.07190323f,  56.59679794f,  55.91986847f,  54.94155121f,  60.33355713f,
    72.14902496f,  80.18998718f,  70.16993713f,  60.36406708f,  54.06077194f,
    43.46662903f,  38.57094193f,  39.10970306f,  44.32598495f,  49.24937820f,
    53.25442505f,  56.15134430f,  55.72174454f,  55.06374359f,  55.40906143f,
    60.11138535f,  63.44208908f,  78.67465973f,  67.96295929f,  47.46451569f,
    41.62522507f,  39.47309494f,  42.87333298f,  47.63717270f,  53.18756866f,
    55.23044968f,  56.02836227f,  57.74340820f,  57.22745514f,  56.75315094f,
    57.80585480f,  62.67353058f,  47.66206741f,  42.05881882f,  39.75352859f,
    35.88562775f,  56.59163284f,  72.49357605f,  58.53800583f,  66.28578949f,
    68.44763184f,  50.70192337f,  44.83471298f,  44.17079926f,  48.10833740f,
    59.88060760f,  70.23044586f,  72.72976685f,  31.83942413f,  31.00273323f,
    62.84654236f,  42.52922821f,  45.04764557f,  68.73088074f,  44.12630463f,
    55.82215881f,  60.64304733f,  39.67309189f,  40.97443008f,  46.15904236f,
    51.13856506f,  77.50988007f,  91.96014404f,  66.76219940f,  24.87833977f,
    24.48041534f,  84.98556519f,  78.79760742f,  35.44894791f,  36.24985123f,
    39.40999222f,  46.73764420f,  45.47512436f,  34.56911469f,  37.47670746f,
    46.34072113f,  59.32683563f,  97.60725403f,  89.46193695f,  60.29697800f,
    26.50839996f,  32.23742294f,  60.97684479f,  82.84976959f,  64.65290833f,
    35.75301743f,  29.20633698f,  49.02716064f,  82.37818909f,  52.69860840f,
    40.97535324f,  47.71611786f,  45.36249924f,  49.57620239f,  77.53877258f,
    92.26754761f,  35.64341736f,  31.00637817f,  32.70653152f,  36.61704636f,
    78.32850647f,  58.38439178f,  50.15953064f,  51.64757538f,  31.45488358f,
    32.53406906f,  70.45175171f,  95.83827209f,  55.77313614f,  52.13791275f,
    53.08223343f,  60.95632553f,  48.49149704f,  36.81194305f,  40.89573669f,
    63.74932861f,  56.87507248f,  43.46606064f,  53.26033783f,  46.30524826f,
    47.92121887f,  70.16265869f,  68.21533966f,  54.02314377f,  53.99431229f,
    57.06119919f,  54.64419937f,  68.16999054f,  25.64371872f,  24.45460892f,
    50.87102509f,  82.50071716f,  55.51737976f,  43.91300201f,  62.40633392f,
    50.28652573f,  43.43270874f,  76.00059509f,  63.61797333f,  32.75575638f,
    39.15626526f,  64.85440826f,  75.91765594f,  71.19286346f,  24.05227470f,
    25.63839912f,  62.18745422f,  66.20637512f,  44.97000122f,  55.09886551f,
    51.85337830f,  42.12100601f,  71.82875824f,  75.90416718f,  45.78887939f,
    53.78314590f,  68.78794861f,  64.08832550f,  61.43847275f,  62.34527588f,
    40.28961945f,  31.29172707f,  52.52343750f,  42.86972046f,  34.05217361f,
    64.05602264f,  60.71221542f,  38.49654388f,  62.62505341f,  63.44993973f,
    35.85233307f,  30.82952881f,  55.26118851f,  90.10671234f,  73.23900604f,
    65.04768372f,  25.42248154f,  29.15345764f,  60.32111740f,  58.00751877f,
    63.52694702f,  54.05160141f,  37.57971191f,  36.38301468f,  56.08333588f,
    81.28800201f,  51.21339035f,  43.08742142f,  63.39225388f,  80.68672180f,
    68.30161285f,  64.31939697f,  25.08824348f,  31.97578621f,  62.30278397f,
    64.77771759f,  46.62558746f,  29.43172455f,  33.39860153f,  69.36865234f,
    87.11560822f,  74.09555054f,  60.52772141f,  61.69064331f,  61.31235123f,
    62.69378281f,  59.57194138f,  54.95983887f,  31.77939606f,  24.52310181f,
    66.91590881f,  87.38681793f,  38.01080704f,  32.13548279f,  42.10402679f,
    40.00331116f,  55.64583969f,  70.36904907f,  46.01465225f,  39.05214691f,
    51.01358414f,  75.73467255f,  89.46847534f,  67.09191895f,  23.85073662f,
    23.40214920f,  81.03526306f,  74.39035797f,  32.08067322f,  33.65716171f,
    39.26899719f,  53.91749191f,  53.91583252f,  49.25065613f,  73.15007019f,
    73.78266144f,  53.83327484f,  48.50161743f,  55.10165787f,  69.67100525f,
    27.85416794f,  37.11641693f,  58.47553253f,  38.89407349f,  55.67539597f,
    46.16933441f,  50.34129715f,  65.48024750f,  33.90142822f,  39.54533005f,
    75.70198822f,  81.68888855f,  59.27466583f,  49.28007126f,  50.05373001f,
    64.65666962f,  36.43780136f,  31.76765823f,  58.14712524f,  37.10118866f,
    37.97302628f,  55.99253082f,  45.96212387f,  61.74487305f,  52.35879898f,
    38.01057816f,  64.10728455f,  93.47910309f,  68.85859680f,  51.53124237f,
    49.20208359f,  60.44374084f,  36.27912140f,  28.61949539f,  35.11944962f,
    28.25377083f,  47.16120529f,  67.15929413f,  50.14215851f,  60.74728775f,
    55.00474167f,  61.08347321f,  73.02226257f,  73.34864807f,  82.29946899f,
    66.90367126f,  52.82141113f,  50.24045181f,  30.33128738f,  29.83868027f,
    48.98286438f,  44.07889175f,  53.02743149f,  68.58934784f,  58.47387314f,
    74.61608124f,  71.30519104f,  46.92713547f,  44.54153442f,  47.53027344f,
    49.54763031f,  61.84693527f,  76.80824280f,  74.72835541f,  30.68704414f,
    33.75550079f,  54.49449539f,  34.38837051f,  32.02235794f,  38.75023651f,
    69.81581116f,  67.80587769f,  35.19872665f,  41.11143875f,  46.83567047f,
    57.45496750f,  87.16669464f,  89.70450592f,  72.88046265f,  62.92624283f,
    25.88317871f,  32.00049210f,  63.66804123f,  45.31368256f,  44.64995575f,
    53.55807114f,  49.34097672f,  48.64500046f,  55.97005844f,  53.48418427f,
    60.72993469f,  84.73365784f,  72.60200500f,  65.07049561f,  62.67537689f,
    62.98127747f,  41.71213913f,  32.50508118f,  52.03067017f,  46.15842438f,
    37.55257034f,  46.54631805f,  47.84952164f,  52.91853714f,  52.09297562f,
    42.96075439f,  50.51084518f,  57.35768890f,  65.56761932f,  88.42894745f,
    89.21614838f,  72.57400513f,  28.85829735f,  29.02394867f,  67.85389709f,
    47.40405273f,  38.05905533f,  47.58603668f,  47.27703094f,  53.40644455f,
    42.10163116f,  53.89140320f,  59.49587250f,  47.21412277f,  72.10668182f,
    87.97994995f,  72.60945129f,  66.37307739f,  38.71412659f,  28.24537659f,
    48.75971222f,  70.90471649f,  37.74874496f,  35.92568588f,  68.88765717f,
    50.13407898f,  42.39151001f,  67.38808441f,  55.08102036f,  40.90394974f,
    56.17565536f,  74.78722382f,  72.37669373f,  70.07965851f,  29.43914413f,
    27.64601707f,  65.63799286f,  52.87505341f,  37.65579987f,  56.94130325f,
    45.13871384f,  53.37010193f,  62.69499588f,  46.24171448f,  54.58054352f,
    83.49011230f,  84.91969299f,  59.13919830f,  47.59422684f,  49.57666779f,
    25.31308937f,  28.12471771f,  59.06542587f,  47.85390472f,  50.11564636f,
    56.14247894f,  56.69361877f,  61.49286270f,  45.35743713f,  56.13601685f,
    65.42692566f,  67.17038727f,  70.89638519f,  65.09598541f,  62.22166824f,
    62.09773254f,  27.86618805f,  33.66560745f,  58.54564285f,  46.03859711f,
    60.97461700f,  62.42464447f,  50.46584320f,  58.19345856f,  49.84050369f,
    56.09535980f,  58.70023727f,  56.75710678f,  64.45565796f,  68.68337250f,
    62.83724976f,  62.15460968f,  27.98069763f,  28.12239647f,  73.64580536f,
    53.64321899f,  41.57968903f,  56.11806107f,  41.83660507f,  52.42901611f,
    55.75767517f,  40.98953629f,  43.80265808f,  49.33514023f,  71.48557281f,
    96.82264709f,  69.97777557f,  54.90660858f,  26.00374031f,  29.38063622f,
    88.02574158f,  56.13308334f,  34.13850021f,  44.49108505f,  42.94824219f,
    60.48073578f,  61.72525024f,  40.94783020f,  38.54808807f,  41.31735611f,
    57.69098282f,  77.83142090f,  71.16756439f,  73.88340759f,  42.04106140f,
    29.33940315f,  46.77529526f,  75.90257263f,  49.26646805f,  37.13816071f,
    52.37572861f,  47.95476913f,  42.74429703f,  56.84862137f,  55.28556061f,
    50.77186966f,  62.24879837f,  57.00417709f,  57.74382782f,  86.80639648f,
    40.93001556f,  30.12081528f,  36.18900681f,  30.52259254f,  37.25543213f,
    83.96064758f,  86.67710114f,  53.48010254f,  46.48635101f,  40.51612473f,
    37.21931458f,  50.81362152f,  69.11064148f,  70.85220337f,  76.62476349f,
    77.50777435f,  43.84403992f,  35.34262466f,  41.53487778f,  32.88284683f,
    51.00677490f,  73.34737396f,  46.15427399f,  43.91883087f,  37.78704834f,
    33.87147903f,  49.63688278f,  56.28442001f,  72.40470123f,  102.90767670f,
    81.28096771f,  63.06505966f,  30.32354355f,  26.06576347f,  32.33953476f,
    34.05029297f,  71.36428833f,  66.01895142f,  44.89619064f,  47.41546631f,
    45.04423523f,  63.33537674f,  80.34857941f,  80.64633942f,  69.65506744f,
    59.56158829f,  55.70967102f,  59.13024139f,  49.87876129f,  32.02300644f,
    31.95695877f,  29.96616554f,  31.71495819f,  63.89558411f,  81.99237823f,
    48.16778946f,  49.59616089f,  56.84108353f,  43.18778610f,  56.67759705f,
    83.08076477f,  63.70401382f,  55.50138855f,  72.05219269f,  43.29176331f,
    31.75572586f,  44.29584503f,  37.05521011f,  33.32308960f,  51.52458954f,
    51.83518600f,  59.65685272f,  64.09313965f,  55.29719162f,  63.49596786f,
    80.18101501f,  87.86631012f,  62.67739105f,  46.96037292f,  54.00913239f,
    33.05537033f,  33.52505112f,  39.44873810f,  30.25352669f,  33.82030869f,
    68.30262756f,  71.50759888f,  37.81459808f,  45.00791168f,  53.27256775f,
    65.01938629f,  83.22824860f,  76.78502655f,  67.26903534f,  62.30852127f,
    62.56160355f,  26.68041611f,  29.35152435f,  52.81324768f,  37.36683273f,
    33.63171387f,  43.50512695f,  61.99557495f,  55.16758728f,  60.60149002f,
    74.62538910f,  71.04770660f,  78.17013550f,  70.27218628f,  64.35273743f,
    57.04582214f,  58.27642822f,  27.22444916f,  40.25427246f,  85.34473419f,
    65.68736267f,  61.74830246f,  70.05519867f,  67.59353638f,  66.44824219f,
    57.99704742f,  52.12969589f,  48.11986160f,  47.41305923f,  47.12488174f,
    48.54206467f,  49.59511185f,  55.78128815f,  33.40121078f,  58.24025726f,
    67.21931458f,  40.01454163f,  43.46700668f,  49.53392410f,  54.13881683f,
    49.82066727f,  51.45339966f,  57.58335495f,  63.94172668f,  66.31728363f,
    59.40647888f,  57.90964508f,  59.12393951f,  64.02872467f,  22.45939827f,
    24.09759521f,  86.19745636f,  89.98487854f,  36.69483185f,  33.11008453f,
    36.89076996f,  44.10708618f,  45.22092438f,  37.95475388f,  41.34347534f,
    62.74864578f,  98.06116486f,  75.13717651f,  54.60420227f,  60.10364914f,
    21.77506447f,  42.97178268f,  93.36532593f,  43.16156006f,  37.07690430f,
    40.44392395f,  38.06811523f,  31.15335083f,  35.34060669f,  73.39562225f,
    88.76380157f,  73.44093323f,  56.12755585f,  57.37850189f,  64.17596436f,
    57.66079712f,  28.35590744f,  40.32005310f,  63.64964676f,  58.80429459f,
    47.87990952f,  46.03519821f,  62.35939026f,  37.32320404f,  28.36582756f,
    39.22389221f,  45.41779709f,  75.22049713f,  120.09323120f, 67.16011810f,
    41.66241455f,  52.26153946f,  30.68520927f,  48.99335861f,  62.54696655f,
    48.14344406f,  57.25169754f,  59.29005814f,  65.54375458f,  52.66086578f,
    45.11617279f,  53.95734787f,  55.46360397f,  59.44460297f,  59.69741440f,
    56.98567200f,  60.16737747f,  68.18187714f,  31.64274979f,  39.94817734f,
    57.17124176f,  39.78912735f,  51.29457474f,  60.69633865f,  56.79949188f,
    43.48522568f,  46.53956985f,  68.30560303f,  65.82494354f,  50.49483109f,
    47.13283539f,  52.68176270f,  64.01728821f,  85.40366364f,  33.67242050f,
    30.30710793f,  59.03366089f,  47.52296448f,  35.79129791f,  46.42206192f,
    50.84357452f,  49.82937622f,  50.42001724f,  60.66556168f,  59.06491852f,
    72.13677979f,  105.84234619f, 79.97609711f,  50.45109558f,  46.40296555f,
    43.56876373f,  29.16429901f,  36.02735519f,  35.79633713f,  45.38971710f,
    52.08420944f,  45.85276794f,  57.32064438f,  47.30744171f,  47.82405472f,
    90.70173645f,  84.54063416f,  48.98644257f,  40.15388870f,  57.78521347f,
    84.83719635f,  42.70676041f,  34.33568954f,  54.60139847f,  44.82980347f,
    38.44404602f,  50.84912872f,  52.22068405f,  55.78813934f,  56.04770660f,
    44.55458832f,  41.00638199f,  50.70363998f,  54.99309921f,  54.14403534f,
    81.80480194f,  101.17221069f, 39.33768463f,  33.15550995f,  63.93803787f,
    63.12727356f,  42.71297836f,  47.74219894f,  58.45108795f,  50.70246887f,
    47.15308380f,  53.15393829f,  46.32630539f,  39.19215012f,  41.36018753f,
    47.03018188f,  61.14070129f,  101.71155548f, 33.28364944f,  29.34801674f,
    30.92674446f,  43.59842300f,  81.65496826f,  59.48735809f,  45.84857178f,
    38.03454971f,  59.14472961f,  73.20796967f,  49.86552429f,  51.43836975f,
    48.01525879f,  47.34091187f,  64.95159149f,  87.08312988f,  35.67461395f,
    31.63343811f,  40.92625427f,  36.06115341f,  41.63019943f,  46.37862778f,
    72.24681854f,  73.10201263f,  58.17958832f,  62.42228699f,  45.93933487f,
    38.71157074f,  47.26561356f,  76.48676300f,  89.55551910f,  70.80134583f,
    36.70552826f,  32.41079712f,  38.39546585f,  35.12812805f,  72.25511169f,
    71.24157715f,  42.94526672f,  53.67319107f,  45.78990173f,  35.59971237f,
    39.35116196f,  47.44698715f,  55.44371033f,  55.80371857f,  78.27950287f,
    99.56220245f,  35.75726700f,  35.43749237f,  80.10720062f,  71.09939575f,
    38.09885406f,  43.53698349f,  48.39539337f,  47.14159775f,  59.57736588f,
    56.05052948f,  46.88885498f,  50.65227890f,  55.45956039f,  55.27238083f,
    59.95415497f,  76.67358398f,  30.48989677f,  31.09431267f,  41.20455170f,
    39.70792770f,  77.44073486f,  65.52349091f,  46.26779175f,  76.19163513f,
    54.80591583f,  33.82253647f,  32.12807846f,  35.31846619f,  41.42735672f,
    52.59740448f,  86.43671417f,  97.89361572f,  35.33759689f,  26.95825195f,
    56.00233459f,  82.72183990f,  46.27759933f,  42.16004562f,  63.31395721f,
    47.65197372f,  41.25454712f,  62.51292038f,  55.10221481f,  41.08710861f,
    47.76231384f,  53.30332184f,  52.42124176f,  79.32273102f,  25.67922020f,
    25.40534401f,  87.19135284f,  87.31198120f,  40.65235138f,  38.92859650f,
    36.11894226f,  40.76044083f,  47.92928314f,  40.23088837f,  35.55156326f,
    37.77005768f,  45.02421951f,  60.78223801f,  96.27216339f,  95.95360565f,
    25.95465088f,  21.57634163f,  49.31441498f,  113.67279816f, 96.14002228f,
    42.05511856f,  31.98275948f,  36.16901016f,  40.25297546f,  51.04194260f,
    48.74641418f,  41.97515106f,  51.07022095f,  67.85249329f,  78.34592438f,
    75.15943909f,  31.28936195f,  57.42531967f,  90.53761292f,  52.06074905f,
    45.04249191f,  46.44200134f,  48.43907166f,  50.42742920f,  49.98683548f,
    53.54566574f,  55.87023163f,  59.19391632f,  59.93918991f,  58.82572937f,
    58.34109497f,  63.10987473f,  28.05487251f,  23.63316727f,  61.24803543f,
    115.18739319f, 75.26832581f,  37.97168350f,  35.13646317f,  37.70814896f,
    41.76129913f,  55.20713425f,  50.08812714f,  37.92100906f,  38.71198654f,
    46.64434814f,  58.08201981f,  92.72935486f,  38.96191025f,  63.71978760f,
    63.97180939f,  44.39167023f,  52.72070313f,  58.57560349f,  59.19809723f,
    58.14528275f,  57.01485443f,  58.30971527f,  57.85213852f,  57.11650848f,
    56.12951279f,  55.68547058f,  55.10100555f,  59.07358932f,  71.56976318f,
    57.39773560f,  41.59987640f,  38.37985611f,  44.64391708f,  52.75336838f,
    56.14191437f,  54.65293121f,  55.89964294f,  58.27516556f,  61.53528214f,
    63.28555679f,  59.81817627f,  56.56216049f,  54.88045502f,  58.54565430f,
    69.10721588f,  63.11733627f,  57.60437775f,  52.38751221f,  55.26897812f,
    58.35265732f,  58.65968704f,  57.27175140f,  58.71163559f,  56.23760223f,
    53.37927246f,  52.83778000f,  50.42839432f,  48.27567673f,  47.26873016f,
    50.61319351f,  59.33306503f,  48.39329910f,  38.40591049f,  40.55169296f,
    55.44321060f,  61.37379837f,  55.88480377f,  50.66183090f,  51.41033173f,
    54.27007294f,  61.07071304f,  67.98171234f,  65.11176300f,  59.76893997f,
    56.42860031f,  61.40325928f,  26.27382278f,  29.93502998f,  87.15231323f,
    48.43775558f,  30.41054726f,  38.70485306f,  44.48966599f,  65.87891388f,
    48.31138229f,  36.65853882f,  58.95906067f,  91.48318481f,  67.75254822f,
    50.97986984f,  53.25600433f,  60.32897186f,  26.33623314f,  31.90271187f,
    90.31379700f,  58.17583084f,  35.16676712f,  39.55157471f,  39.83322144f,
    49.49237442f,  46.30712509f,  35.65680313f,  34.48379517f,  43.58718872f,
    87.21034241f,  109.36755371f, 68.02302551f,  58.08772278f,  30.97780418f,
    25.11987686f,  61.43051529f,  59.76992035f,  32.69781494f,  33.63170624f,
    37.10293579f,  58.25488663f,  65.58847046f,  43.49975204f,  59.01026535f,
    69.00422668f,  59.61562729f,  73.37989807f,  74.23587799f,  69.86299896f,
    28.78158379f,  37.98389816f,  71.62084198f,  42.80751419f,  39.70916367f,
    42.45513535f,  48.77637100f,  51.15852737f,  36.13694763f,  38.23048401f,
    44.31620026f,  50.16409302f,  86.18952942f,  108.49091339f, 74.16990662f,
    61.91885757f,  30.11363411f,  43.68441010f,  56.11302948f,  53.20962906f,
    61.57991409f,  53.31562042f,  51.47801590f,  46.02001190f,  57.74351501f,
    70.87924957f,  64.74682617f,  62.95172882f,  59.53381348f,  58.65623856f,
    57.47818375f,  60.74559021f,  23.98161125f,  34.12941360f,  91.76512146f,
    56.41880417f,  38.00878906f,  45.25758362f,  51.63621902f,  63.12136841f,
    58.11164093f,  59.19710541f,  58.18413925f,  57.55535126f,  59.65021133f,
    59.94812775f,  57.72056961f,  60.05414200f,  31.69394875f,  34.15394592f,
    50.30434418f,  45.78476715f,  69.70542145f,  77.27056885f,  65.18736267f,
    70.87966919f,  56.40662384f,  44.83968353f,  37.92598343f,  43.25963211f,
    65.49037933f,  80.08726501f,  61.06654739f,  50.73454285f,  52.48049164f,
    37.74885559f,  32.84705734f,  42.24605179f,  68.03234100f,  74.63986969f,
    65.60765839f,  53.66085052f,  46.20950317f,  44.68785858f,  55.51148605f,
    73.06719971f,  68.56088257f,  57.57872009f,  52.38343811f,  57.28626633f,
    59.02671432f,  46.61535263f,  37.13630676f,  47.64561462f,  70.52297211f,
    70.05669403f,  64.37633514f,  58.29954147f,  55.28224564f,  53.41539383f,
    52.18756485f,  53.02276230f,  53.36929703f,  53.66748810f,  53.23779678f,
    58.79326630f,  62.93693924f,  43.00690842f,  37.63240051f,  50.69776535f,
    67.49617004f,  59.53757858f,  51.48891068f,  47.10806656f,  47.89420319f,
    52.12152863f,  56.32263565f,  59.45511246f,  58.18305206f,  56.71432877f,
    57.66085815f,  65.01094055f,  63.92367935f,  67.33415985f,  62.15634918f,
    57.49787903f,  59.58540726f,  53.46123886f,  46.31530380f,  41.40219879f,
    42.75317383f,  46.59084702f,  50.92510605f,  55.31436157f,  57.31076050f,
    57.92418671f,  58.75542831f,  63.97220612f,  55.70299911f,  60.43587875f,
    64.76921844f,  56.78495026f,  53.76028061f,  48.36291504f,  45.38504028f,
    43.34703445f,  44.20055771f,  48.13724899f,  52.75143814f,  57.73850632f,
    60.82793427f,  61.78697968f,  63.24287796f,  67.91735840f,  59.04277420f,
    51.33352280f,  46.29484940f,  37.30976105f,  42.38951111f,  51.73043442f,
    57.26016235f,  54.58428574f,  52.99783707f,  51.50612640f,  49.28882599f,
    54.87439346f,  64.07160187f,  66.49423218f,  66.31239319f,  69.17700195f,
    60.97944641f,  48.85638046f,  37.94224930f,  33.13868713f,  45.31595612f,
    63.26202774f,  69.20629120f,  65.14806366f,  62.51951218f,  57.16036606f,
    53.12342072f,  52.30583572f,  52.54816055f,  55.59687042f,  59.05779648f,
    63.91780853f,  38.16660690f,  32.63441467f,  42.31219101f,  31.02834320f,
    49.01750183f,  92.74621582f,  49.04926300f,  44.73206711f,  67.08958435f,
    44.29878616f,  31.71022797f,  37.31089020f,  71.03110504f,  96.27531433f,
    67.00743103f,  55.51771927f,  41.41088867f,  32.63044357f,  44.90244293f,
    39.71800232f,  37.27100754f,  73.68880463f,  89.44371033f,  49.77977753f,
    45.84424210f,  52.67778778f,  41.79865646f,  43.40632248f,  55.25019073f,
    53.00514984f,  53.15204620f,  83.17504120f,  33.90364838f,  29.31626701f,
    63.80526733f,  62.59220123f,  35.53377533f,  58.65224457f,  63.65067291f,
    42.49652863f,  63.17875290f,  68.20914459f,  47.87530899f,  54.95333481f,
    56.04679108f,  42.44972229f,  45.74412537f,  69.62164307f,  32.33472824f,
    32.36685944f,  71.27500153f,  58.83824921f,  52.89490891f,  57.05721283f,
    44.75731659f,  66.49700928f,  53.30723953f,  41.02497482f,  44.74613571f,
    42.72458267f,  41.67597580f,  50.91527176f,  76.18853760f,  84.17784119f,
    33.91438293f,  24.74755478f,  34.48404312f,  31.74764633f,  36.77778625f,
    84.48294830f,  105.86836243f, 50.84911728f,  42.26078796f,  51.22866058f,
    44.80072403f,  57.39357758f,  70.37298584f,  65.45933533f,  64.70481110f,
    65.07164764f,  54.81047440f,  64.19705963f,  61.01438904f,  58.33678055f,
    57.41178894f,  56.80622101f,  56.18848038f,  55.27061844f,  55.63972855f,
    54.96983337f,  55.08586502f,  54.55832672f,  54.42483521f,  53.81105042f,
    52.72660065f,  58.03502655f,  43.11587524f,  62.92795563f,  65.00118256f,
    61.56204224f,  59.74514008f,  58.35398483f,  57.48186493f,  56.64671326f,
    56.21909332f,  55.75438690f,  55.41420746f,  55.22217178f,  54.35841370f,
    53.21385193f,  51.11892700f,  58.70683670f,  30.71430588f,  29.96514320f,
    76.60626221f,  60.13325500f,  39.29867554f,  46.79974747f,  41.00794601f,
    49.70497513f,  59.34734726f,  42.31467056f,  35.41555786f,  42.09702682f,
    49.67417145f,  56.61996460f,  88.86426544f,  101.60348511f, 51.64251709f,
    37.48175812f,  41.70228577f,  40.68749237f,  34.71246338f,  54.51747131f,
    84.52162170f,  53.79661560f,  41.88551331f,  48.06188202f,  39.60204697f,
    39.98397827f,  61.51813126f,  67.10542297f,  62.49188614f,  87.32495880f,
    38.52933121f,  30.04664230f,  38.80035400f,  36.65904236f,  61.74727631f,
    94.43470764f,  55.52663803f,  45.95931244f,  41.82407379f,  39.92137527f,
    65.12637329f,  70.52561188f,  47.80123901f,  46.39950943f,  54.24890137f,
    76.12986755f,  31.66247940f,  31.64093399f,  40.27448654f,  37.82950974f,
    55.67258453f,  63.15267181f,  53.08364487f,  43.62401962f,  47.98174286f,
    90.01052094f,  102.53605652f, 53.96711349f,  37.07308960f,  44.45272064f,
    62.66236877f,  69.50439453f,  24.18644333f,  28.45671272f,  77.17498016f,
    65.37176514f,  29.84308052f,  28.47002983f,  54.98761368f,  64.72391510f,
    41.17515182f,  45.48504257f,  66.77935028f,  96.41430664f,  77.21109009f,
    55.44864655f,  51.22275925f,  53.08966064f,  29.07206917f,  28.41476440f,
    56.13959503f,  36.53352356f,  29.27622604f,  32.17654037f,  56.98409653f,
    71.59062958f,  45.24163818f,  62.93268585f,  56.08460236f,  58.77624512f,
    83.24846649f,  77.55653381f,  67.72992706f,  56.03655624f,  26.93898010f,
    24.48547745f,  32.31073380f,  62.12464905f,  95.42501068f,  50.29490280f,
    44.81559372f,  39.43442535f,  34.77753448f,  45.90629196f,  80.09409332f,
    83.13093567f,  48.40743637f,  48.72597885f,  60.92992783f,  67.21363831f,
    31.60326195f,  28.92547798f,  37.78547287f,  39.16407013f,  55.79271317f,
    65.47225189f,  69.30518341f,  58.04764175f,  57.82527161f,  55.20221710f,
    47.90188980f,  62.40616226f,  69.62246704f,  70.67929077f,  69.63761139f,
    66.63272095f,  29.59915161f,  27.48261261f,  35.14276886f,  39.17920303f,
    90.62158203f,  67.90657043f,  38.77464294f,  42.96372223f,  35.70911789f,
    36.67858124f,  43.03745651f,  56.11576843f,  88.13270569f,  89.82960510f,
    64.29818726f,  62.52038956f,  41.88219452f,  33.49052429f,  44.98608780f,
    36.17403793f,  41.16875076f,  56.70652771f,  48.73784256f,  71.57128143f,
    69.24300385f,  48.56510544f,  67.38247681f,  68.62966919f,  51.11661911f,
    45.62579346f,  46.49620056f,  70.30479431f,  28.50153351f,  41.65053177f,
    74.93982697f,  41.58124542f,  37.32712555f,  40.98759079f,  59.76941681f,
    63.07977295f,  44.12331009f,  56.90774918f,  55.65740967f,  48.48997498f,
    58.76491928f,  69.81462860f,  72.95185852f,  69.19013214f,  30.06960487f,
    26.09254837f,  59.50636292f,  66.71000671f,  42.29006958f,  58.85589218f,
    64.21626282f,  45.71190643f,  60.08098221f,  62.70387268f,  38.91758728f,
    32.85036469f,  37.27833176f,  58.38954163f,  91.48894501f,  86.27506256f,
    24.46445274f,  33.46820831f,  65.66596985f,  72.74819183f,  45.64891052f,
    33.25068283f,  62.67976761f,  65.43602753f,  45.98501587f,  48.36267853f,
    36.38481903f,  47.69902420f,  92.42938995f,  82.47864532f,  58.19116974f,
    58.74897003f,  31.08081245f,  23.18120003f,  51.17359161f,  101.16779327f,
    65.10298920f,  38.00490952f,  41.60630798f,  41.16596603f,  42.74139023f,
    54.11957169f,  51.80855942f,  45.24751282f,  47.37712860f,  55.24230957f,
    78.66986084f,  93.59764099f,  26.22109222f,  43.31058502f,  71.12840271f,
    39.33586121f,  41.00408554f,  47.24116898f,  57.11434174f,  47.18526077f,
    36.09568405f,  41.26922226f,  62.45367813f,  81.44187927f,  69.89323425f,
    61.88053894f,  61.97871017f,  69.51184082f,  23.57955742f,  23.88466072f,
    81.55332947f,  69.46887970f,  34.53810883f,  35.39361954f,  37.68282318f,
    43.16726685f,  41.51604462f,  36.21642303f,  50.22421646f,  98.07154083f,
    79.60334778f,  49.96912384f,  61.44383240f,  71.57108307f,  52.62379074f,
    34.04034042f,  39.85871124f,  50.32118225f,  37.48392868f,  37.08398056f,
    57.30740356f,  52.34113312f,  48.11880875f,  65.17064667f,  59.22914124f,
    52.78776550f,  65.37060547f,  62.33963776f,  63.87888718f,  82.38067627f,
    34.59612274f,  34.49519348f,  41.94660568f,  35.91946793f,  49.33207321f,
    52.03366470f,  56.57223129f,  43.96832275f,  35.52185440f,  48.36158752f,
    50.62252426f,  66.76281738f,  97.41931152f,  80.74346161f,  69.20502472f,
    68.50171661f,  28.37327385f,  33.89537048f,  59.31214905f,  44.07299423f,
    51.99851990f,  54.78195190f,  55.98205948f,  47.41673279f,  37.20127106f,
    43.55690002f,  48.23084641f,  80.54396057f,  84.69123077f,  50.28728867f,
    57.10305023f,  76.65652466f,  28.21533585f,  32.52445221f,  86.66576385f,
    86.09087372f,  43.16950226f,  46.15630722f,  57.47613144f,  48.09718323f,
    59.58281708f,  70.17431641f,  52.33071136f,  53.06081390f,  57.05317307f,
    48.81638336f,  45.59243774f,  55.13225555f,  46.21962738f,  66.56465912f,
    72.56446838f,  56.91426086f,  56.43696594f,  58.91387558f,  60.05456543f,
    58.88148880f,  59.75614548f,  57.46108246f,  54.28297806f,  53.08645630f,
    50.65118027f,  48.99625778f,  48.34797287f,  52.37127686f,  35.75634384f,
    63.81522751f,  85.60957336f,  67.98733521f,  72.45655060f,  66.58245850f,
    54.62078476f,  46.85538483f,  43.41488266f,  41.68208313f,  44.34422684f,
    49.20368958f,  50.78888702f,  52.99479675f,  55.61487961f,  60.11945343f,
    21.97690582f,  24.60343552f,  89.33682251f,  86.11702728f,  33.86256790f,
    31.32287407f,  39.93796158f,  53.70496368f,  49.88062668f,  45.86664963f,
    68.58612823f,  82.87562561f,  63.69519424f,  50.66447830f,  51.70297623f,
    56.78165817f,  21.67534256f,  40.34953308f,  99.62911987f,  43.56707001f,
    33.17560577f,  38.71137238f,  42.87627792f,  37.20338821f,  30.02617645f,
    33.78417587f,  45.37812042f,  99.21356201f,  101.36063385f, 58.21515274f,
    59.44672775f,  56.71328735f,  29.49651146f,  24.55385780f,  49.14814377f,
    89.08448792f,  66.54791260f,  47.46413422f,  47.81396866f,  39.32986832f,
    36.96180725f,  62.31585312f,  65.87332916f,  41.30357361f,  50.98836899f,
    82.09771729f,  78.23535156f,  61.49948883f,  27.37726212f,  31.65637589f,
    69.43057251f,  42.97422409f,  49.50066376f,  64.19516754f,  43.38182449f,
    59.92191696f,  48.06811523f,  36.99844360f,  59.22207260f,  80.73378754f,
    65.57009888f,  56.09910583f,  55.02647400f,  58.67771149f,  36.78656387f,
    29.96942520f,  39.47150803f,  33.00797653f,  54.62816238f,  70.02225494f,
    48.32385635f,  50.30700302f,  46.13695145f,  43.43633652f,  62.87342834f,
    91.06671906f,  69.28872681f,  48.51445770f,  56.97172165f,  73.30443573f,
    38.13494873f,  32.24038696f,  41.02093887f,  36.30622101f,  57.12064362f,
    71.10481262f,  49.63396454f,  50.20743561f,  51.43164825f,  51.57761765f,
    53.56945801f,  49.98236084f,  48.39651489f,  71.63349915f,  95.46888733f,
    74.99383545f,  35.17610931f,  31.45412064f,  64.53784943f,  55.69260406f,
    41.86282730f,  50.88761902f,  48.60056305f,  50.77645111f,  51.11251831f,
    43.16846848f,  44.47324753f,  47.32735825f,  49.34292603f,  83.79014587f,
    103.07089233f, 66.52885437f,  34.91808319f,  28.19522858f,  49.81605530f,
    52.10576248f,  35.89753342f,  35.38637543f,  35.23908615f,  61.95359421f,
    113.69660950f, 66.97486115f,  42.81861496f,  52.64135361f,  50.28179169f,
    41.25332642f,  62.54451370f,  87.57741547f,  36.11969757f,  26.53855896f,
    50.27358246f,  51.92799377f,  33.02027130f,  34.57915497f,  34.29354477f,
    48.55658722f,  94.36264801f,  55.36539459f,  40.45243835f,  67.74715424f,
    63.65488434f,  60.88786316f,  77.15895081f,  74.78061676f,  33.33308029f,
    29.09128571f,  61.67295837f,  47.37999344f,  31.65302658f,  35.21455002f,
    37.29717255f,  69.56938934f,  86.32746124f,  43.20579147f,  36.14655685f,
    46.24681854f,  45.82084656f,  64.79587555f,  98.21845245f,  80.80149841f,
    27.14248276f,  28.80326462f,  40.52916336f,  34.56164169f,  40.12372589f,
    65.32350159f,  79.31365967f,  68.50655365f,  71.76698303f,  68.20982361f,
    61.45349503f,  61.85831451f,  62.45957947f,  61.27304459f,  59.87812805f,
    61.21359253f,  36.54257202f,  32.30891800f,  59.97655487f,  49.97169876f,
    36.86036301f,  52.59625626f,  48.59771729f,  52.43449020f,  63.96591949f,
    52.74033356f,  48.84372330f,  52.91386795f,  84.34142303f,  91.18651581f,
    56.71543121f,  51.45142746f,  26.78902435f,  25.13040924f,  73.48807526f,
    70.56851959f,  37.37528610f,  39.61826324f,  41.60355377f,  48.74739075f,
    50.14381409f,  43.74727249f,  52.19654083f,  58.06746292f,  63.68207932f,
    81.95114899f,  82.07016754f,  70.03555298f,  26.55171204f,  30.35668945f,
    66.99411774f,  37.16141891f,  28.50297356f,  34.57562637f,  53.09408951f,
    55.35205841f,  39.21624374f,  52.82180786f,  61.94337845f,  81.44139099f,
    88.24986267f,  67.79347229f,  65.54416656f,  65.74330139f,  25.64266777f,
    28.94634819f,  60.90471649f,  71.56941223f,  56.19982529f,  43.69511414f,
    34.02218628f,  32.31221008f,  55.36420822f,  87.13250732f,  73.97786713f,
    71.22916412f,  65.30374908f,  58.61976242f,  63.82756042f,  62.22309875f,
    29.42667389f,  29.18475533f,  60.52156448f,  60.53834534f,  59.30995178f,
    68.47309113f,  49.47060776f,  59.00800705f,  59.03788757f,  52.27059937f,
    54.26659775f,  50.33647156f,  49.21657562f,  53.90012741f,  67.93323517f,
    72.64030457f,  52.70161819f,  39.99518585f,  43.94145203f,  44.90818405f,
    42.22129822f,  47.93509293f,  51.81373978f,  48.15493774f,  61.45544815f,
    70.51400757f,  58.27124405f,  62.90043640f,  70.44403076f,  67.03193665f,
    59.98938751f,  59.49853897f,  31.87010193f,  26.31987190f,  54.47800827f,
    43.22328186f,  31.45675278f,  35.08499146f,  38.76694489f,  66.19170380f,
    61.14185333f,  57.77470779f,  77.22586060f,  66.21171570f,  69.75552368f,
    76.36651611f,  67.52690125f,  61.88909149f,  30.44549942f,  32.31820679f,
    45.57734680f,  38.14467239f,  51.88415527f,  48.25827026f,  55.28089142f,
    47.30094147f,  52.80366516f,  92.02010345f,  59.57464218f,  46.85560608f,
    48.76711273f,  43.70464706f,  59.03880310f,  86.42306519f,  29.08301926f,
    22.57310104f,  34.33633804f,  35.00811768f,  54.06639099f,  103.70252228f,
    66.43305969f,  49.89102554f,  71.02000427f,  49.13789749f,  34.29194641f,
    43.82691193f,  61.71987915f,  78.80532837f,  73.96313477f,  61.74487305f,
    27.73894501f,  28.70202065f,  45.61611938f,  32.97626495f,  31.28823280f,
    37.26791763f,  71.78433228f,  79.15342712f,  59.47504425f,  69.53830719f,
    66.82013702f,  64.95858765f,  65.01549530f,  63.24348450f,  60.97856140f,
    62.80610657f,  27.57221794f,  24.39394760f,  33.77619171f,  33.13829041f,
    71.12453461f,  82.77764893f,  51.30236435f,  52.40961838f,  49.01937485f,
    59.80195236f,  77.56819153f,  86.10384369f,  68.75656891f,  52.21301270f,
    45.78854752f,  48.21636963f,  24.06404305f,  27.07773781f,  69.14982605f,
    56.84390640f,  47.25941849f,  54.36014175f,  58.30286026f,  67.57962799f,
    41.16304398f,  29.33624077f,  37.65505219f,  71.09774017f,  86.70954895f,
    70.26335907f,  65.02716827f,  63.02545547f,  33.37455750f,  26.72333336f,
    35.18984222f,  31.04051208f,  64.39746094f,  99.43074799f,  48.59360504f,
    45.98094559f,  44.35056305f,  38.26673508f,  48.61328125f,  48.73290253f,
    49.29114532f,  79.37200928f,  93.23593903f,  63.16757965f,  21.59132957f,
    25.49298668f,  71.01719666f,  84.42379761f,  53.44499969f,  52.94273376f,
    72.89039612f,  68.64645386f,  46.97680283f,  38.79965210f,  42.73474121f,
    52.71775818f,  60.41701889f,  63.08420181f,  64.22211456f,  67.28025055f,
    21.89855576f,  27.83234024f,  68.68400574f,  61.83190155f,  57.32409668f,
    65.99078369f,  57.21675110f,  62.40436935f,  61.00146103f,  59.13877869f,
    59.00645828f,  58.52240372f,  58.46230316f,  58.43955612f,  56.01047134f,
    58.15670395f,  30.96079826f,  28.86873436f,  37.56067276f,  38.71757507f,
    79.31478119f,  78.18986511f,  50.61719894f,  63.17142487f,  70.36816406f,
    60.94702530f,  47.13932037f,  48.31149673f,  46.21164703f,  43.35731506f,
    47.09792709f,  70.39653015f,  23.77980423f,  28.24261856f,  48.67664337f,
    76.31697083f,  67.86864471f,  43.46442413f,  59.16133881f,  74.37849426f,
    48.08635330f,  33.94245529f,  46.92239761f,  81.53016663f,  81.53174591f,
    60.97972107f,  54.23860168f,  55.46714401f,  26.28499794f,  29.91284180f,
    46.31903839f,  43.75836945f,  75.23796844f,  59.59530640f,  55.86365509f,
    55.63940048f,  31.57254410f,  34.93405914f,  62.86548996f,  97.04029846f,
    67.28402710f,  49.97871399f,  51.12545013f,  58.50247574f,  25.86953545f,
    25.67130661f,  36.89023590f,  65.07382965f,  85.44828796f,  54.66888046f,
    44.56608200f,  44.56648636f,  72.82321930f,  70.15782166f,  48.38794708f,
    48.31065750f,  46.63700104f,  48.24217987f,  60.40505219f,  80.37291718f,
    29.64596558f,  27.92177200f,  33.96648407f,  55.24999619f,  71.02349091f,
    49.56125259f,  51.49148560f,  45.18648911f,  49.42793274f,  48.21702576f,
    48.70598602f,  83.63790894f,  84.38695526f,  57.71953583f,  60.53441620f,
    67.29040527f,  29.55237579f,  33.49652100f,  56.31692123f,  40.10456848f,
    57.33588028f,  62.43098831f,  45.69797134f,  55.42858505f,  46.18419647f,
    39.69566727f,  40.85213852f,  46.84600830f,  78.06649017f,  99.77924347f,
    72.71241760f,  60.43941879f,  30.89263916f,  33.95299911f,  60.34748077f,
    78.54538727f,  63.12105179f,  54.42975616f,  53.94228363f,  41.31426620f,
    43.81251907f,  48.22406387f,  50.74752808f,  67.54508209f,  70.06299591f,
    56.05704880f,  60.18289948f,  72.14845276f,  27.40541267f,  23.21533012f,
    31.33833885f,  36.89186478f,  94.03147888f,  92.18949890f,  41.53026581f,
    38.83160019f,  36.70827484f,  41.26368713f,  52.58258438f,  54.43003845f,
    68.39715576f,  82.05222321f,  68.04830933f,  60.02172089f,  37.43375778f,
    67.53905487f,  84.03999329f,  62.07997131f,  66.22523499f,  68.93660736f,
    65.38884735f,  59.50014877f,  54.52999878f,  48.62021637f,  46.25228882f,
    45.71772385f,  44.52745819f,  45.32447433f,  46.65079498f,  52.15478897f,
    76.12829590f,  69.90707397f,  60.88018417f,  59.67306519f,  69.79356384f,
    68.00685883f,  59.25265121f,  54.78600311f,  51.42123413f,  46.81361771f,
    44.72520065f,  43.54372406f,  43.40436554f,  44.30783463f,  44.60446167f,
    49.75890350f,  78.58826447f,  67.18058014f,  54.08536530f,  48.41952133f,
    50.25127411f,  51.25906372f,  51.50946045f,  51.11488342f,  53.01088333f,
    53.32189178f,  54.00339890f,  55.81242752f,  53.92714691f,  52.62067413f,
    51.96416473f,  56.06571198f,  24.74991989f,  29.11821938f,  91.61383057f,
    69.48088074f,  37.06432724f,  42.15169525f,  45.90179443f,  63.15735626f,
    61.88145828f,  51.93773270f,  49.75987625f,  47.64082336f,  50.82057571f,
    55.14278030f,  58.39253998f,  70.08444214f,  28.16965485f,  29.31967163f,
    32.71649933f,  57.83382034f,  69.27395630f,  53.38219833f,  59.67870331f,
    33.72189331f,  28.52124786f,  34.58098602f,  43.50675964f,  73.86998749f,
    109.15721130f, 74.96228027f,  50.93960190f,  58.17417145f,  29.14766312f,
    24.02442360f,  32.21295166f,  32.49707794f,  69.84065247f,  90.56945038f,
    48.73727036f,  44.94636917f,  43.75082397f,  59.32031631f,  68.06079865f,
    53.07934189f,  62.79975891f,  72.22282410f,  67.47800446f,  62.26689529f,
    24.22199821f,  24.30853844f,  57.83673859f,  97.65560150f,  58.07064056f,
    34.08103561f,  33.33621597f,  53.74912643f,  68.01794434f,  48.17714691f,
    49.81681824f,  63.22098541f,  70.75649261f,  72.17205048f,  65.89617157f,
    59.56274033f,  27.69730377f,  24.43465614f,  32.55577087f,  35.62110901f,
    83.35758209f,  75.03337860f,  44.08871078f,  43.26962280f,  38.11668015f,
    41.34130096f,  63.63392639f,  91.22867584f,  68.86619568f,  54.75460052f,
    58.76897430f,  66.21032715f,  37.35518646f,  31.99437332f,  42.38615799f,
    34.22846985f,  51.48179245f,  76.71948242f,  53.30300522f,  51.89649963f,
    47.13976669f,  40.48551559f,  46.38737106f,  76.64321136f,  103.93244171f,
    71.85894775f,  50.41750336f,  51.54095078f,  28.85683060f,  30.88228226f,
    53.69935608f,  37.09889221f,  31.00023842f,  34.82223511f,  74.04431915f,
    62.77407455f,  32.02605438f,  40.63477707f,  69.22469330f,  100.53865814f,
    73.51525879f,  57.67640305f,  49.90647125f,  54.14498520f,  29.61500931f,
    30.87433434f,  37.06995773f,  50.76168060f,  69.29536438f,  52.55547333f,
    53.13591003f,  36.13773727f,  29.73791695f,  41.21875000f,  79.24547577f,
    106.57115936f, 56.77584076f,  39.86819077f,  61.37645340f,  75.19174957f,
    28.30440140f,  38.89139938f,  66.74124908f,  37.46420670f,  42.79446411f,
    47.74041748f,  53.14031601f,  53.99964905f,  37.16692734f,  37.94214630f,
    55.01705933f,  98.37632751f,  82.15518951f,  60.47322845f,  59.07986069f,
    55.52326965f,  34.24888611f,  34.06593704f,  36.45554352f,  44.36808395f,
    73.18087769f,  51.21831131f,  58.24463654f,  53.04191208f,  34.35956573f,
    60.25250244f,  96.49848175f,  68.12080383f,  47.24505234f,  47.19258118f,
    49.34179688f,  62.62845230f,  30.19637871f,  32.96672440f,  44.05630493f,
    34.17293167f,  40.46246719f,  49.17797089f,  50.53604507f,  40.10102463f,
    50.14830780f,  95.34430695f,  84.24397278f,  60.41412735f,  55.20934677f,
    55.36225128f,  70.56622314f,  69.67316437f,  35.14830780f,  32.30957794f,
    55.72906876f,  42.05350494f,  35.95722961f,  45.69368744f,  55.22116470f,
    74.65226746f,  54.14055634f,  52.08957672f,  66.35743713f,  47.25928879f,
    47.88355637f,  74.31385803f,  81.42047882f,  70.09598541f,  30.62301254f,
    27.24707031f,  53.35401154f,  39.12836456f,  30.26208305f,  31.85187721f,
    40.98994827f,  91.76765442f,  74.72691345f,  50.20461273f,  68.43885803f,
    67.97496796f,  60.76320267f,  60.42381287f,  60.18946075f,  66.94487000f,
    22.73421860f,  27.39487839f,  52.47588348f,  49.92472458f,  60.75211334f,
    78.33421326f,  68.94541931f,  63.79943848f,  61.94213867f,  61.49895096f,
    59.60924149f,  59.09317398f,  58.65007019f,  57.68883133f,  56.06912613f,
    60.42691040f,  21.75316048f,  20.77889061f,  39.23469543f,  75.50487518f,
    76.20504761f,  60.15762329f,  63.76489639f,  64.21314240f,  61.56743622f,
    57.45051575f,  59.25061035f,  59.76544952f,  59.35617447f,  58.87415695f,
    57.96597290f,  60.81930161f,  22.21710587f,  25.30570602f,  57.19749069f,
    64.90682220f,  67.63256073f,  57.77220917f,  43.37454224f,  66.96671295f,
    65.91177368f,  51.56299591f,  70.96542358f,  85.82904053f,  64.62564087f,
    49.31163406f,  38.47437286f,  44.94469070f,  36.07413101f,  29.92312622f,
    40.66774368f,  36.15398788f,  44.95003510f,  101.12895966f, 86.96417999f,
    43.18052673f,  50.16093063f,  61.23469162f,  48.31414413f,  58.88009262f,
    62.18779755f,  47.51422501f,  47.66326904f,  62.00125504f,  32.11720276f,
    33.41061401f,  36.28831100f,  45.99550247f,  73.34411621f,  56.46103668f,
    61.42068863f,  54.61499405f,  54.93304443f,  62.93020630f,  55.84457397f,
    61.80632019f,  59.61034775f,  55.79121017f,  55.16328049f,  67.91851807f,
    27.20767021f,  37.00852966f,  57.18434143f,  43.52794647f,  63.39742279f,
    57.88319778f,  59.86457062f,  65.88842010f,  44.95322418f,  59.17788315f,
    67.63705444f,  59.36702347f,  53.74018478f,  49.94276047f,  52.20279312f,
    62.82994843f,  29.02539825f,  26.63498878f,  57.90202332f,  85.36663055f,
    42.73936081f,  43.63980484f,  66.81975555f,  42.92092514f,  48.27086639f,
    72.59160614f,  54.35919952f,  51.75491333f,  67.39468384f,  64.49733734f,
    56.79810715f,  58.08383560f,  28.58060646f,  22.74833488f,  54.07825089f,
    111.31721497f, 66.03354645f,  35.38137436f,  36.51008987f,  36.88007736f,
    45.99224472f,  67.57579041f,  56.96130371f,  46.03073883f,  55.14943314f,
    66.87574768f,  68.81295776f,  67.44326019f,  23.47033501f,  29.47317886f,
    102.57007599f, 68.41741180f,  30.67175674f,  34.38528824f,  41.43571091f,
    58.23853302f,  55.66437531f,  46.08085251f,  44.12660599f,  41.67513275f,
    56.00514603f,  74.56895447f,  68.68479156f,  67.67321014f,  24.88741493f,
    43.82337570f,  95.62670135f,  49.02528381f,  39.62008286f,  47.32071304f,
    49.80189514f,  43.83912659f,  37.29087448f,  45.93240738f,  59.59160995f,
    67.09440613f,  70.97201538f,  70.89601898f,  63.09349442f,  63.39022827f,
    102.22576904f, 75.45988464f,  53.77607727f,  47.50698471f,  40.41980743f,
    37.76411438f,  38.27172089f,  42.70124054f,  51.29972458f,  54.99493408f,
    54.58897018f,  54.10474396f,  52.00009537f,  51.14828873f,  51.67758179f,
    59.54081345f,  24.84206390f,  23.40861702f,  71.38685608f,  92.77749634f,
    41.97495270f,  33.94096756f,  37.41461563f,  51.38677979f,  55.38788223f,
    42.29495621f,  50.45867538f,  86.82837677f,  89.91969299f,  55.11670685f,
    47.34526443f,  51.68705368f,  24.91025543f,  37.88228226f,  66.81151581f,
    38.04747391f,  39.49282455f,  43.21199036f,  47.52063751f,  36.89085388f,
    34.37616348f,  79.67692566f,  81.96594238f,  56.52114105f,  53.27249146f,
    44.01078033f,  67.97731781f,  81.57801819f,  29.63401604f,  34.02974319f,
    45.98505020f,  59.92497253f,  65.54274750f,  45.05346298f,  48.13533401f,
    42.83655548f,  40.98011398f,  59.71934891f,  74.14730072f,  82.86124420f,
    81.31180573f,  63.14473724f,  50.12644196f,  52.50730133f,  35.76043701f,
    32.11127090f,  46.82095337f,  37.35770798f,  44.94866562f,  73.62842560f,
    58.67256165f,  61.36848831f,  58.88263321f,  52.95913315f,  58.93379211f,
    61.88537979f,  83.97660065f,  76.26807404f,  49.11487579f,  47.00580978f,
    26.98147011f,  36.55282974f,  69.19075012f,  62.18497467f,  64.29322052f,
    67.54309845f,  63.32001495f,  65.42429352f,  63.58644867f,  61.17696762f,
    57.99259949f,  58.00358200f,  53.90764236f,  49.32493973f,  46.58947754f,
    52.76522064f,  31.00034142f,  38.92043686f,  79.35646057f,  48.59160995f,
    47.72912598f,  58.66611862f,  55.26951981f,  55.72875595f,  41.78349304f,
    43.65134048f,  48.62068558f,  52.36624527f,  64.23863220f,  74.26587677f,
    64.54032898f,  62.47298813f,  43.43863678f,  48.34838867f,  61.46944809f,
    38.23884201f,  37.26012039f,  43.96838760f,  51.73004150f,  66.47560883f,
    59.89195633f,  63.15715408f,  73.52404022f,  68.43296814f,  57.99526596f,
    53.37960052f,  52.53592300f,  58.50771713f,  31.44836807f,  37.54881668f,
    50.96245575f,  35.10600662f,  36.63582611f,  54.37725830f,  63.53458786f,
    56.28988266f,  64.99540710f,  50.55338669f,  63.97557831f,  107.88322449f,
    68.96430206f,  46.70220947f,  42.79805756f,  49.48856735f,  24.39008331f,
    37.63390732f,  75.63178253f,  39.89515305f,  35.02666092f,  41.01152039f,
    48.38898087f,  38.79004669f,  31.43542290f,  41.38462830f,  66.17842102f,
    102.32599640f, 84.91678619f,  64.59684753f,  65.25298309f,  64.47338104f,
    29.48563957f,  27.78212166f,  73.72246552f,  67.35079956f,  33.26398849f,
    42.70332718f,  49.36284637f,  44.77936554f,  69.30042267f,  68.03928375f,
    41.34254074f,  41.16074371f,  65.35512543f,  78.48603821f,  62.71489716f,
    60.93986130f,  37.14540482f,  67.46842194f,  93.93869019f,  64.33036804f,
    52.85181046f,  46.39006042f,  44.03501511f,  44.49140930f,  48.88271713f,
    52.02955246f,  53.33543015f,  56.13254547f,  56.21807098f,  55.10010529f,
    55.17017746f,  60.21377182f,  76.23497009f,  69.92237091f,  62.97297287f,
    66.73405457f,  68.03582001f,  55.66715622f,  45.41874695f,  40.62066269f,
    38.72326279f,  40.44689560f,  46.92369461f,  52.79742432f,  53.86170578f,
    54.69544601f,  54.99558258f,  57.94821930f,  89.85523987f,  84.22457886f,
    69.22385406f,  59.71983719f,  51.88126373f,  42.39007568f,  37.81760406f,
    39.07238007f,  43.24521255f,  47.43628693f,  52.17528152f,  54.82188034f,
    52.81221771f,  50.87530518f,  50.12046432f,  55.67862320f,  96.67877197f,
    67.81649780f,  46.17552567f,  39.40610123f,  38.46431732f,  40.53482056f,
    43.52210999f,  48.92483902f,  55.39977264f,  57.51078415f,  55.75929260f,
    54.66993713f,  52.35992432f,  52.74879074f,  54.34913254f,  62.35863113f,
    68.98082733f,  63.03712082f,  53.79784393f,  51.12783432f,  54.01675797f,
    54.89172363f,  53.94263458f,  53.26175308f,  55.46403503f,  55.97488785f,
    56.30199432f,  56.04262543f,  54.17489624f,  53.18113708f,  52.33756256f,
    55.29016876f,  28.75065422f,  44.35783386f,  66.28974915f,  61.66216660f,
    66.98233795f,  62.13458252f,  59.73792648f,  54.33398056f,  53.89686966f,
    55.61928940f,  55.51991272f,  56.46464539f,  55.46454239f,  57.31410980f,
    57.58850098f,  61.00199509f,  27.25502205f,  24.55155945f,  66.80747223f,
    124.76464844f, 60.31520462f,  32.28490067f,  35.59736633f,  36.04310989f,
    47.63801193f,  72.28716278f,  54.79343033f,  47.74478912f,  55.85177612f,
    46.97123718f,  45.37574387f,  66.26371765f,  24.34076118f,  33.39995193f,
    91.47109985f,  87.90158081f,  68.10491943f,  60.05513000f,  50.07935333f,
    47.85038757f,  41.90112305f,  42.53277206f,  48.71320343f,  53.20432281f,
    55.66915894f,  58.04410172f,  58.44812393f,  63.16614914f,  22.15181923f,
    30.43225861f,  88.97502136f,  81.30101776f,  58.48758316f,  58.84383392f,
    45.22598267f,  38.66847992f,  43.58890152f,  51.26040268f,  59.37908936f,
    64.50835419f,  60.89634705f,  59.20288849f,  61.58885574f,  62.35607910f,
    30.21978951f,  25.56132126f,  53.77295685f,  61.58668900f,  41.43342590f,
    61.70607758f,  60.53200912f,  44.01621246f,  61.36420822f,  52.45355606f,
    41.65804291f,  60.24726486f,  64.97768402f,  61.98981094f,  73.40084076f,
    72.28564453f,

};