// l12 MPEG decoding tables // output of: // src/libmpg123/calctables l12 #if defined(RUNTIME_TABLES) #ifdef REAL_IS_FLOAT // aligned to 16 bytes for vector instructions, e.g. AltiVec static ALIGNED(16) real layer12_table[27][64]; #endif static unsigned char grp_3tab[96]; static unsigned char grp_5tab[384]; static unsigned char grp_9tab[3072]; #else #ifdef REAL_IS_FLOAT // aligned to 16 bytes for vector instructions, e.g. AltiVec static const ALIGNED(16) real layer12_table[27][64] = { { 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 , 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00 } , { -1.33333333e+00, -1.05826737e+00, -8.39947367e-01, -6.66666667e-01 , -5.29133684e-01, -4.19973683e-01, -3.33333333e-01, -2.64566842e-01 , -2.09986842e-01, -1.66666667e-01, -1.32283421e-01, -1.04993421e-01 , -8.33333333e-02, -6.61417105e-02, -5.24967104e-02, -4.16666667e-02 , -3.30708552e-02, -2.62483552e-02, -2.08333333e-02, -1.65354276e-02 , -1.31241776e-02, -1.04166667e-02, -8.26771381e-03, -6.56208880e-03 , -5.20833333e-03, -4.13385691e-03, -3.28104440e-03, -2.60416667e-03 , -2.06692845e-03, -1.64052220e-03, -1.30208333e-03, -1.03346423e-03 , -8.20261100e-04, -6.51041667e-04, -5.16732113e-04, -4.10130550e-04 , -3.25520833e-04, -2.58366057e-04, -2.05065275e-04, -1.62760417e-04 , -1.29183028e-04, -1.02532638e-04, -8.13802083e-05, -6.45915142e-05 , -5.12663188e-05, -4.06901042e-05, -3.22957571e-05, -2.56331594e-05 , -2.03450521e-05, -1.61478785e-05, -1.28165797e-05, -1.01725260e-05 , -8.07393927e-06, -6.40828985e-06, -5.08626302e-06, -4.03696963e-06 , -3.20414492e-06, -2.54313151e-06, -2.01848482e-06, -1.60207246e-06 , -1.27156576e-06, -1.00924241e-06, -8.01036231e-07, 0.00000000e+00 } , { 1.33333333e+00, 1.05826737e+00, 8.39947367e-01, 6.66666667e-01 , 5.29133684e-01, 4.19973683e-01, 3.33333333e-01, 2.64566842e-01 , 2.09986842e-01, 1.66666667e-01, 1.32283421e-01, 1.04993421e-01 , 8.33333333e-02, 6.61417105e-02, 5.24967104e-02, 4.16666667e-02 , 3.30708552e-02, 2.62483552e-02, 2.08333333e-02, 1.65354276e-02 , 1.31241776e-02, 1.04166667e-02, 8.26771381e-03, 6.56208880e-03 , 5.20833333e-03, 4.13385691e-03, 3.28104440e-03, 2.60416667e-03 , 2.06692845e-03, 1.64052220e-03, 1.30208333e-03, 1.03346423e-03 , 8.20261100e-04, 6.51041667e-04, 5.16732113e-04, 4.10130550e-04 , 3.25520833e-04, 2.58366057e-04, 2.05065275e-04, 1.62760417e-04 , 1.29183028e-04, 1.02532638e-04, 8.13802083e-05, 6.45915142e-05 , 5.12663188e-05, 4.06901042e-05, 3.22957571e-05, 2.56331594e-05 , 2.03450521e-05, 1.61478785e-05, 1.28165797e-05, 1.01725260e-05 , 8.07393927e-06, 6.40828985e-06, 5.08626302e-06, 4.03696963e-06 , 3.20414492e-06, 2.54313151e-06, 2.01848482e-06, 1.60207246e-06 , 1.27156576e-06, 1.00924241e-06, 8.01036231e-07, 0.00000000e+00 } , { 5.71428571e-01, 4.53543158e-01, 3.59977443e-01, 2.85714286e-01 , 2.26771579e-01, 1.79988721e-01, 1.42857143e-01, 1.13385789e-01 , 8.99943607e-02, 7.14285714e-02, 5.66928947e-02, 4.49971804e-02 , 3.57142857e-02, 2.83464474e-02, 2.24985902e-02, 1.78571429e-02 , 1.41732237e-02, 1.12492951e-02, 8.92857143e-03, 7.08661184e-03 , 5.62464754e-03, 4.46428571e-03, 3.54330592e-03, 2.81232377e-03 , 2.23214286e-03, 1.77165296e-03, 1.40616189e-03, 1.11607143e-03 , 8.85826480e-04, 7.03080943e-04, 5.58035714e-04, 4.42913240e-04 , 3.51540472e-04, 2.79017857e-04, 2.21456620e-04, 1.75770236e-04 , 1.39508929e-04, 1.10728310e-04, 8.78851179e-05, 6.97544643e-05 , 5.53641550e-05, 4.39425589e-05, 3.48772321e-05, 2.76820775e-05 , 2.19712795e-05, 1.74386161e-05, 1.38410387e-05, 1.09856397e-05 , 8.71930804e-06, 6.92051937e-06, 5.49281987e-06, 4.35965402e-06 , 3.46025969e-06, 2.74640993e-06, 2.17982701e-06, 1.73012984e-06 , 1.37320497e-06, 1.08991350e-06, 8.65064922e-07, 6.86602483e-07 , 5.44956752e-07, 4.32532461e-07, 3.43301242e-07, 0.00000000e+00 } , { 2.66666667e-01, 2.11653474e-01, 1.67989473e-01, 1.33333333e-01 , 1.05826737e-01, 8.39947367e-02, 6.66666667e-02, 5.29133684e-02 , 4.19973683e-02, 3.33333333e-02, 2.64566842e-02, 2.09986842e-02 , 1.66666667e-02, 1.32283421e-02, 1.04993421e-02, 8.33333333e-03 , 6.61417105e-03, 5.24967104e-03, 4.16666667e-03, 3.30708552e-03 , 2.62483552e-03, 2.08333333e-03, 1.65354276e-03, 1.31241776e-03 , 1.04166667e-03, 8.26771381e-04, 6.56208880e-04, 5.20833333e-04 , 4.13385691e-04, 3.28104440e-04, 2.60416667e-04, 2.06692845e-04 , 1.64052220e-04, 1.30208333e-04, 1.03346423e-04, 8.20261100e-05 , 6.51041667e-05, 5.16732113e-05, 4.10130550e-05, 3.25520833e-05 , 2.58366057e-05, 2.05065275e-05, 1.62760417e-05, 1.29183028e-05 , 1.02532638e-05, 8.13802083e-06, 6.45915142e-06, 5.12663188e-06 , 4.06901042e-06, 3.22957571e-06, 2.56331594e-06, 2.03450521e-06 , 1.61478785e-06, 1.28165797e-06, 1.01725260e-06, 8.07393927e-07 , 6.40828985e-07, 5.08626302e-07, 4.03696963e-07, 3.20414492e-07 , 2.54313151e-07, 2.01848482e-07, 1.60207246e-07, 0.00000000e+00 } , { 1.29032258e-01, 1.02412971e-01, 8.12852290e-02, 6.45161290e-02 , 5.12064855e-02, 4.06426145e-02, 3.22580645e-02, 2.56032428e-02 , 2.03213073e-02, 1.61290323e-02, 1.28016214e-02, 1.01606536e-02 , 8.06451613e-03, 6.40081069e-03, 5.08032681e-03, 4.03225806e-03 , 3.20040535e-03, 2.54016341e-03, 2.01612903e-03, 1.60020267e-03 , 1.27008170e-03, 1.00806452e-03, 8.00101337e-04, 6.35040852e-04 , 5.04032258e-04, 4.00050668e-04, 3.17520426e-04, 2.52016129e-04 , 2.00025334e-04, 1.58760213e-04, 1.26008065e-04, 1.00012667e-04 , 7.93801065e-05, 6.30040323e-05, 5.00063335e-05, 3.96900532e-05 , 3.15020161e-05, 2.50031668e-05, 1.98450266e-05, 1.57510081e-05 , 1.25015834e-05, 9.92251331e-06, 7.87550403e-06, 6.25079169e-06 , 4.96125665e-06, 3.93775202e-06, 3.12539585e-06, 2.48062833e-06 , 1.96887601e-06, 1.56269792e-06, 1.24031416e-06, 9.84438004e-07 , 7.81348962e-07, 6.20157082e-07, 4.92219002e-07, 3.90674481e-07 , 3.10078541e-07, 2.46109501e-07, 1.95337240e-07, 1.55039270e-07 , 1.23054751e-07, 9.76686202e-08, 7.75196352e-08, 0.00000000e+00 } , { 6.34920635e-02, 5.03936842e-02, 3.99974936e-02, 3.17460317e-02 , 2.51968421e-02, 1.99987468e-02, 1.58730159e-02, 1.25984210e-02 , 9.99937341e-03, 7.93650794e-03, 6.29921052e-03, 4.99968671e-03 , 3.96825397e-03, 3.14960526e-03, 2.49984335e-03, 1.98412698e-03 , 1.57480263e-03, 1.24992168e-03, 9.92063492e-04, 7.87401315e-04 , 6.24960838e-04, 4.96031746e-04, 3.93700658e-04, 3.12480419e-04 , 2.48015873e-04, 1.96850329e-04, 1.56240210e-04, 1.24007937e-04 , 9.84251644e-05, 7.81201048e-05, 6.20039683e-05, 4.92125822e-05 , 3.90600524e-05, 3.10019841e-05, 2.46062911e-05, 1.95300262e-05 , 1.55009921e-05, 1.23031456e-05, 9.76501310e-06, 7.75049603e-06 , 6.15157278e-06, 4.88250655e-06, 3.87524802e-06, 3.07578639e-06 , 2.44125327e-06, 1.93762401e-06, 1.53789319e-06, 1.22062664e-06 , 9.68812004e-07, 7.68946597e-07, 6.10313319e-07, 4.84406002e-07 , 3.84473299e-07, 3.05156659e-07, 2.42203001e-07, 1.92236649e-07 , 1.52578330e-07, 1.21101500e-07, 9.61183246e-08, 7.62891648e-08 , 6.05507502e-08, 4.80591623e-08, 3.81445824e-08, 0.00000000e+00 } , { 3.14960630e-02, 2.49984418e-02, 1.98412764e-02, 1.57480315e-02 , 1.24992209e-02, 9.92063819e-03, 7.87401575e-03, 6.24961044e-03 , 4.96031909e-03, 3.93700787e-03, 3.12480522e-03, 2.48015955e-03 , 1.96850394e-03, 1.56240261e-03, 1.24007977e-03, 9.84251969e-04 , 7.81201305e-04, 6.20039887e-04, 4.92125984e-04, 3.90600653e-04 , 3.10019943e-04, 2.46062992e-04, 1.95300326e-04, 1.55009972e-04 , 1.23031496e-04, 9.76501631e-05, 7.75049858e-05, 6.15157480e-05 , 4.88250816e-05, 3.87524929e-05, 3.07578740e-05, 2.44125408e-05 , 1.93762465e-05, 1.53789370e-05, 1.22062704e-05, 9.68812323e-06 , 7.68946850e-06, 6.10313520e-06, 4.84406162e-06, 3.84473425e-06 , 3.05156760e-06, 2.42203081e-06, 1.92236713e-06, 1.52578380e-06 , 1.21101540e-06, 9.61183563e-07, 7.62891900e-07, 6.05507702e-07 , 4.80591781e-07, 3.81445950e-07, 3.02753851e-07, 2.40295891e-07 , 1.90722975e-07, 1.51376925e-07, 1.20147945e-07, 9.53614874e-08 , 7.56884627e-08, 6.00739727e-08, 4.76807437e-08, 3.78442314e-08 , 3.00369863e-08, 2.38403719e-08, 1.89221157e-08, 0.00000000e+00 } , { 1.56862745e-02, 1.24502043e-02, 9.88173372e-03, 7.84313725e-03 , 6.22510216e-03, 4.94086686e-03, 3.92156863e-03, 3.11255108e-03 , 2.47043343e-03, 1.96078431e-03, 1.55627554e-03, 1.23521672e-03 , 9.80392157e-04, 7.78137771e-04, 6.17608358e-04, 4.90196078e-04 , 3.89068885e-04, 3.08804179e-04, 2.45098039e-04, 1.94534443e-04 , 1.54402089e-04, 1.22549020e-04, 9.72672213e-05, 7.72010447e-05 , 6.12745098e-05, 4.86336107e-05, 3.86005224e-05, 3.06372549e-05 , 2.43168053e-05, 1.93002612e-05, 1.53186275e-05, 1.21584027e-05 , 9.65013059e-06, 7.65931373e-06, 6.07920133e-06, 4.82506530e-06 , 3.82965686e-06, 3.03960067e-06, 2.41253265e-06, 1.91482843e-06 , 1.51980033e-06, 1.20626632e-06, 9.57414216e-07, 7.59900167e-07 , 6.03133162e-07, 4.78707108e-07, 3.79950083e-07, 3.01566581e-07 , 2.39353554e-07, 1.89975042e-07, 1.50783290e-07, 1.19676777e-07 , 9.49875208e-08, 7.53916452e-08, 5.98383885e-08, 4.74937604e-08 , 3.76958226e-08, 2.99191942e-08, 2.37468802e-08, 1.88479113e-08 , 1.49595971e-08, 1.18734401e-08, 9.42395565e-09, 0.00000000e+00 } , { 7.82778865e-03, 6.21291997e-03, 4.93119785e-03, 3.91389432e-03 , 3.10645998e-03, 2.46559892e-03, 1.95694716e-03, 1.55322999e-03 , 1.23279946e-03, 9.78473581e-04, 7.76614996e-04, 6.16399731e-04 , 4.89236791e-04, 3.88307498e-04, 3.08199865e-04, 2.44618395e-04 , 1.94153749e-04, 1.54099933e-04, 1.22309198e-04, 9.70768745e-05 , 7.70499664e-05, 6.11545988e-05, 4.85384373e-05, 3.85249832e-05 , 3.05772994e-05, 2.42692186e-05, 1.92624916e-05, 1.52886497e-05 , 1.21346093e-05, 9.63124579e-06, 7.64432485e-06, 6.06730466e-06 , 4.81562290e-06, 3.82216243e-06, 3.03365233e-06, 2.40781145e-06 , 1.91108121e-06, 1.51682616e-06, 1.20390572e-06, 9.55540607e-07 , 7.58413082e-07, 6.01952862e-07, 4.77770303e-07, 3.79206541e-07 , 3.00976431e-07, 2.38885152e-07, 1.89603271e-07, 1.50488216e-07 , 1.19442576e-07, 9.48016353e-08, 7.52441078e-08, 5.97212879e-08 , 4.74008176e-08, 3.76220539e-08, 2.98606440e-08, 2.37004088e-08 , 1.88110269e-08, 1.49303220e-08, 1.18502044e-08, 9.40551347e-09 , 7.46516099e-09, 5.92510220e-09, 4.70275674e-09, 0.00000000e+00 } , { 3.91006843e-03, 3.10342337e-03, 2.46318876e-03, 1.95503421e-03 , 1.55171168e-03, 1.23159438e-03, 9.77517107e-04, 7.75855842e-04 , 6.15797190e-04, 4.88758553e-04, 3.87927921e-04, 3.07898595e-04 , 2.44379277e-04, 1.93963960e-04, 1.53949297e-04, 1.22189638e-04 , 9.69819802e-05, 7.69746487e-05, 6.10948192e-05, 4.84909901e-05 , 3.84873243e-05, 3.05474096e-05, 2.42454951e-05, 1.92436622e-05 , 1.52737048e-05, 1.21227475e-05, 9.62183109e-06, 7.63685239e-06 , 6.06137376e-06, 4.81091554e-06, 3.81842620e-06, 3.03068688e-06 , 2.40545777e-06, 1.90921310e-06, 1.51534344e-06, 1.20272889e-06 , 9.54606549e-07, 7.57671720e-07, 6.01364443e-07, 4.77303275e-07 , 3.78835860e-07, 3.00682221e-07, 2.38651637e-07, 1.89417930e-07 , 1.50341111e-07, 1.19325819e-07, 9.47089650e-08, 7.51705554e-08 , 5.96629093e-08, 4.73544825e-08, 3.75852777e-08, 2.98314547e-08 , 2.36772413e-08, 1.87926388e-08, 1.49157273e-08, 1.18386206e-08 , 9.39631942e-09, 7.45786367e-09, 5.91931032e-09, 4.69815971e-09 , 3.72893183e-09, 2.95965516e-09, 2.34907986e-09, 0.00000000e+00 } , { 1.95407914e-03, 1.55095364e-03, 1.23099272e-03, 9.77039570e-04 , 7.75476821e-04, 6.15496360e-04, 4.88519785e-04, 3.87738410e-04 , 3.07748180e-04, 2.44259893e-04, 1.93869205e-04, 1.53874090e-04 , 1.22129946e-04, 9.69346026e-05, 7.69370451e-05, 6.10649731e-05 , 4.84673013e-05, 3.84685225e-05, 3.05324866e-05, 2.42336506e-05 , 1.92342613e-05, 1.52662433e-05, 1.21168253e-05, 9.61713063e-06 , 7.63312164e-06, 6.05841266e-06, 4.80856532e-06, 3.81656082e-06 , 3.02920633e-06, 2.40428266e-06, 1.90828041e-06, 1.51460317e-06 , 1.20214133e-06, 9.54140205e-07, 7.57301583e-07, 6.01070665e-07 , 4.77070103e-07, 3.78650791e-07, 3.00535332e-07, 2.38535051e-07 , 1.89325396e-07, 1.50267666e-07, 1.19267526e-07, 9.46626978e-08 , 7.51338331e-08, 5.96337628e-08, 4.73313489e-08, 3.75669165e-08 , 2.98168814e-08, 2.36656745e-08, 1.87834583e-08, 1.49084407e-08 , 1.18328372e-08, 9.39172913e-09, 7.45422035e-09, 5.91641861e-09 , 4.69586457e-09, 3.72711018e-09, 2.95820931e-09, 2.34793228e-09 , 1.86355509e-09, 1.47910465e-09, 1.17396614e-09, 0.00000000e+00 } , { 9.76800977e-04, 7.75287449e-04, 6.15346056e-04, 4.88400488e-04 , 3.87643725e-04, 3.07673028e-04, 2.44200244e-04, 1.93821862e-04 , 1.53836514e-04, 1.22100122e-04, 9.69109311e-05, 7.69182570e-05 , 6.10500611e-05, 4.84554656e-05, 3.84591285e-05, 3.05250305e-05 , 2.42277328e-05, 1.92295643e-05, 1.52625153e-05, 1.21138664e-05 , 9.61478213e-06, 7.63125763e-06, 6.05693320e-06, 4.80739106e-06 , 3.81562882e-06, 3.02846660e-06, 2.40369553e-06, 1.90781441e-06 , 1.51423330e-06, 1.20184777e-06, 9.53907204e-07, 7.57116649e-07 , 6.00923883e-07, 4.76953602e-07, 3.78558325e-07, 3.00461941e-07 , 2.38476801e-07, 1.89279162e-07, 1.50230971e-07, 1.19238400e-07 , 9.46395812e-08, 7.51154854e-08, 5.96192002e-08, 4.73197906e-08 , 3.75577427e-08, 2.98096001e-08, 2.36598953e-08, 1.87788713e-08 , 1.49048001e-08, 1.18299476e-08, 9.38943567e-09, 7.45240003e-09 , 5.91497382e-09, 4.69471784e-09, 3.72620002e-09, 2.95748691e-09 , 2.34735892e-09, 1.86310001e-09, 1.47874346e-09, 1.17367946e-09 , 9.31550004e-10, 7.39371728e-10, 5.86839729e-10, 0.00000000e+00 } , { 4.88340862e-04, 3.87596399e-04, 3.07635466e-04, 2.44170431e-04 , 1.93798199e-04, 1.53817733e-04, 1.22085215e-04, 9.68990997e-05 , 7.69088664e-05, 6.10426077e-05, 4.84495499e-05, 3.84544332e-05 , 3.05213039e-05, 2.42247749e-05, 1.92272166e-05, 1.52606519e-05 , 1.21123875e-05, 9.61360830e-06, 7.63032597e-06, 6.05619373e-06 , 4.80680415e-06, 3.81516298e-06, 3.02809687e-06, 2.40340208e-06 , 1.90758149e-06, 1.51404843e-06, 1.20170104e-06, 9.53790746e-07 , 7.57024217e-07, 6.00850519e-07, 4.76895373e-07, 3.78512108e-07 , 3.00425260e-07, 2.38447686e-07, 1.89256054e-07, 1.50212630e-07 , 1.19223843e-07, 9.46280271e-08, 7.51063149e-08, 5.96119216e-08 , 4.73140135e-08, 3.75531574e-08, 2.98059608e-08, 2.36570068e-08 , 1.87765787e-08, 1.49029804e-08, 1.18285034e-08, 9.38828936e-09 , 7.45149020e-09, 5.91425169e-09, 4.69414468e-09, 3.72574510e-09 , 2.95712585e-09, 2.34707234e-09, 1.86287255e-09, 1.47856292e-09 , 1.17353617e-09, 9.31436275e-10, 7.39281462e-10, 5.86768085e-10 , 4.65718138e-10, 3.69640731e-10, 2.93384042e-10, 0.00000000e+00 } , { 2.44155527e-04, 1.93786370e-04, 1.53808344e-04, 1.22077764e-04 , 9.68931851e-05, 7.69041720e-05, 6.10388818e-05, 4.84465926e-05 , 3.84520860e-05, 3.05194409e-05, 2.42232963e-05, 1.92260430e-05 , 1.52597204e-05, 1.21116481e-05, 9.61302150e-06, 7.62986022e-06 , 6.05582407e-06, 4.80651075e-06, 3.81493011e-06, 3.02791204e-06 , 2.40325538e-06, 1.90746506e-06, 1.51395602e-06, 1.20162769e-06 , 9.53732528e-07, 7.56978009e-07, 6.00813844e-07, 4.76866264e-07 , 3.78489004e-07, 3.00406922e-07, 2.38433132e-07, 1.89244502e-07 , 1.50203461e-07, 1.19216566e-07, 9.46222511e-08, 7.51017305e-08 , 5.96082830e-08, 4.73111256e-08, 3.75508652e-08, 2.98041415e-08 , 2.36555628e-08, 1.87754326e-08, 1.49020707e-08, 1.18277814e-08 , 9.38771631e-09, 7.45103537e-09, 5.91389069e-09, 4.69385815e-09 , 3.72551769e-09, 2.95694535e-09, 2.34692908e-09, 1.86275884e-09 , 1.47847267e-09, 1.17346454e-09, 9.31379422e-10, 7.39236337e-10 , 5.86732269e-10, 4.65689711e-10, 3.69618168e-10, 2.93366135e-10 , 2.32844855e-10, 1.84809084e-10, 1.46683067e-10, 0.00000000e+00 } , { 1.22074038e-04, 9.68902281e-05, 7.69018250e-05, 6.10370190e-05 , 4.84451140e-05, 3.84509125e-05, 3.05185095e-05, 2.42225570e-05 , 1.92254563e-05, 1.52592547e-05, 1.21112785e-05, 9.61272813e-06 , 7.62962737e-06, 6.05563926e-06, 4.80636406e-06, 3.81481368e-06 , 3.02781963e-06, 2.40318203e-06, 1.90740684e-06, 1.51390981e-06 , 1.20159102e-06, 9.53703421e-07, 7.56954907e-07, 6.00795508e-07 , 4.76851711e-07, 3.78477453e-07, 3.00397754e-07, 2.38425855e-07 , 1.89238727e-07, 1.50198877e-07, 1.19212928e-07, 9.46193634e-08 , 7.50994385e-08, 5.96064638e-08, 4.73096817e-08, 3.75497192e-08 , 2.98032319e-08, 2.36548408e-08, 1.87748596e-08, 1.49016160e-08 , 1.18274204e-08, 9.38742981e-09, 7.45080798e-09, 5.91371021e-09 , 4.69371490e-09, 3.72540399e-09, 2.95685511e-09, 2.34685745e-09 , 1.86270199e-09, 1.47842755e-09, 1.17342873e-09, 9.31350997e-10 , 7.39213776e-10, 5.86714363e-10, 4.65675499e-10, 3.69606888e-10 , 2.93357182e-10, 2.32837749e-10, 1.84803444e-10, 1.46678591e-10 , 1.16418875e-10, 9.24017220e-11, 7.33392954e-11, 0.00000000e+00 } , { 6.10360876e-05, 4.84443748e-05, 3.84503258e-05, 3.05180438e-05 , 2.42221874e-05, 1.92251629e-05, 1.52590219e-05, 1.21110937e-05 , 9.61258144e-06, 7.62951095e-06, 6.05554685e-06, 4.80629072e-06 , 3.81475547e-06, 3.02777343e-06, 2.40314536e-06, 1.90737774e-06 , 1.51388671e-06, 1.20157268e-06, 9.53688869e-07, 7.56943357e-07 , 6.00786340e-07, 4.76844434e-07, 3.78471678e-07, 3.00393170e-07 , 2.38422217e-07, 1.89235839e-07, 1.50196585e-07, 1.19211109e-07 , 9.46179196e-08, 7.50982925e-08, 5.96055543e-08, 4.73089598e-08 , 3.75491463e-08, 2.98027771e-08, 2.36544799e-08, 1.87745731e-08 , 1.49013886e-08, 1.18272399e-08, 9.38728657e-09, 7.45069429e-09 , 5.91361997e-09, 4.69364328e-09, 3.72534714e-09, 2.95680999e-09 , 2.34682164e-09, 1.86267357e-09, 1.47840499e-09, 1.17341082e-09 , 9.31336786e-10, 7.39202497e-10, 5.86705410e-10, 4.65668393e-10 , 3.69601248e-10, 2.93352705e-10, 2.32834196e-10, 1.84800624e-10 , 1.46676353e-10, 1.16417098e-10, 9.24003121e-11, 7.33381763e-11 , 5.82085491e-11, 4.62001560e-11, 3.66690882e-11, 0.00000000e+00 } , { -1.60000000e+00, -1.26992084e+00, -1.00793684e+00, -8.00000000e-01 , -6.34960421e-01, -5.03968420e-01, -4.00000000e-01, -3.17480210e-01 , -2.51984210e-01, -2.00000000e-01, -1.58740105e-01, -1.25992105e-01 , -1.00000000e-01, -7.93700526e-02, -6.29960525e-02, -5.00000000e-02 , -3.96850263e-02, -3.14980262e-02, -2.50000000e-02, -1.98425131e-02 , -1.57490131e-02, -1.25000000e-02, -9.92125657e-03, -7.87450656e-03 , -6.25000000e-03, -4.96062829e-03, -3.93725328e-03, -3.12500000e-03 , -2.48031414e-03, -1.96862664e-03, -1.56250000e-03, -1.24015707e-03 , -9.84313320e-04, -7.81250000e-04, -6.20078536e-04, -4.92156660e-04 , -3.90625000e-04, -3.10039268e-04, -2.46078330e-04, -1.95312500e-04 , -1.55019634e-04, -1.23039165e-04, -9.76562500e-05, -7.75098170e-05 , -6.15195825e-05, -4.88281250e-05, -3.87549085e-05, -3.07597913e-05 , -2.44140625e-05, -1.93774542e-05, -1.53798956e-05, -1.22070313e-05 , -9.68872712e-06, -7.68994781e-06, -6.10351563e-06, -4.84436356e-06 , -3.84497391e-06, -3.05175781e-06, -2.42218178e-06, -1.92248695e-06 , -1.52587891e-06, -1.21109089e-06, -9.61243477e-07, 0.00000000e+00 } , { -8.00000000e-01, -6.34960421e-01, -5.03968420e-01, -4.00000000e-01 , -3.17480210e-01, -2.51984210e-01, -2.00000000e-01, -1.58740105e-01 , -1.25992105e-01, -1.00000000e-01, -7.93700526e-02, -6.29960525e-02 , -5.00000000e-02, -3.96850263e-02, -3.14980262e-02, -2.50000000e-02 , -1.98425131e-02, -1.57490131e-02, -1.25000000e-02, -9.92125657e-03 , -7.87450656e-03, -6.25000000e-03, -4.96062829e-03, -3.93725328e-03 , -3.12500000e-03, -2.48031414e-03, -1.96862664e-03, -1.56250000e-03 , -1.24015707e-03, -9.84313320e-04, -7.81250000e-04, -6.20078536e-04 , -4.92156660e-04, -3.90625000e-04, -3.10039268e-04, -2.46078330e-04 , -1.95312500e-04, -1.55019634e-04, -1.23039165e-04, -9.76562500e-05 , -7.75098170e-05, -6.15195825e-05, -4.88281250e-05, -3.87549085e-05 , -3.07597913e-05, -2.44140625e-05, -1.93774542e-05, -1.53798956e-05 , -1.22070313e-05, -9.68872712e-06, -7.68994781e-06, -6.10351563e-06 , -4.84436356e-06, -3.84497391e-06, -3.05175781e-06, -2.42218178e-06 , -1.92248695e-06, -1.52587891e-06, -1.21109089e-06, -9.61243477e-07 , -7.62939453e-07, -6.05545445e-07, -4.80621738e-07, 0.00000000e+00 } , { 8.00000000e-01, 6.34960421e-01, 5.03968420e-01, 4.00000000e-01 , 3.17480210e-01, 2.51984210e-01, 2.00000000e-01, 1.58740105e-01 , 1.25992105e-01, 1.00000000e-01, 7.93700526e-02, 6.29960525e-02 , 5.00000000e-02, 3.96850263e-02, 3.14980262e-02, 2.50000000e-02 , 1.98425131e-02, 1.57490131e-02, 1.25000000e-02, 9.92125657e-03 , 7.87450656e-03, 6.25000000e-03, 4.96062829e-03, 3.93725328e-03 , 3.12500000e-03, 2.48031414e-03, 1.96862664e-03, 1.56250000e-03 , 1.24015707e-03, 9.84313320e-04, 7.81250000e-04, 6.20078536e-04 , 4.92156660e-04, 3.90625000e-04, 3.10039268e-04, 2.46078330e-04 , 1.95312500e-04, 1.55019634e-04, 1.23039165e-04, 9.76562500e-05 , 7.75098170e-05, 6.15195825e-05, 4.88281250e-05, 3.87549085e-05 , 3.07597913e-05, 2.44140625e-05, 1.93774542e-05, 1.53798956e-05 , 1.22070313e-05, 9.68872712e-06, 7.68994781e-06, 6.10351563e-06 , 4.84436356e-06, 3.84497391e-06, 3.05175781e-06, 2.42218178e-06 , 1.92248695e-06, 1.52587891e-06, 1.21109089e-06, 9.61243477e-07 , 7.62939453e-07, 6.05545445e-07, 4.80621738e-07, 0.00000000e+00 } , { 1.60000000e+00, 1.26992084e+00, 1.00793684e+00, 8.00000000e-01 , 6.34960421e-01, 5.03968420e-01, 4.00000000e-01, 3.17480210e-01 , 2.51984210e-01, 2.00000000e-01, 1.58740105e-01, 1.25992105e-01 , 1.00000000e-01, 7.93700526e-02, 6.29960525e-02, 5.00000000e-02 , 3.96850263e-02, 3.14980262e-02, 2.50000000e-02, 1.98425131e-02 , 1.57490131e-02, 1.25000000e-02, 9.92125657e-03, 7.87450656e-03 , 6.25000000e-03, 4.96062829e-03, 3.93725328e-03, 3.12500000e-03 , 2.48031414e-03, 1.96862664e-03, 1.56250000e-03, 1.24015707e-03 , 9.84313320e-04, 7.81250000e-04, 6.20078536e-04, 4.92156660e-04 , 3.90625000e-04, 3.10039268e-04, 2.46078330e-04, 1.95312500e-04 , 1.55019634e-04, 1.23039165e-04, 9.76562500e-05, 7.75098170e-05 , 6.15195825e-05, 4.88281250e-05, 3.87549085e-05, 3.07597913e-05 , 2.44140625e-05, 1.93774542e-05, 1.53798956e-05, 1.22070313e-05 , 9.68872712e-06, 7.68994781e-06, 6.10351563e-06, 4.84436356e-06 , 3.84497391e-06, 3.05175781e-06, 2.42218178e-06, 1.92248695e-06 , 1.52587891e-06, 1.21109089e-06, 9.61243477e-07, 0.00000000e+00 } , { -1.77777778e+00, -1.41102316e+00, -1.11992982e+00, -8.88888889e-01 , -7.05511579e-01, -5.59964911e-01, -4.44444444e-01, -3.52755789e-01 , -2.79982456e-01, -2.22222222e-01, -1.76377895e-01, -1.39991228e-01 , -1.11111111e-01, -8.81889473e-02, -6.99956139e-02, -5.55555556e-02 , -4.40944737e-02, -3.49978069e-02, -2.77777778e-02, -2.20472368e-02 , -1.74989035e-02, -1.38888889e-02, -1.10236184e-02, -8.74945174e-03 , -6.94444444e-03, -5.51180921e-03, -4.37472587e-03, -3.47222222e-03 , -2.75590460e-03, -2.18736293e-03, -1.73611111e-03, -1.37795230e-03 , -1.09368147e-03, -8.68055556e-04, -6.88976151e-04, -5.46840733e-04 , -4.34027778e-04, -3.44488076e-04, -2.73420367e-04, -2.17013889e-04 , -1.72244038e-04, -1.36710183e-04, -1.08506944e-04, -8.61220189e-05 , -6.83550917e-05, -5.42534722e-05, -4.30610094e-05, -3.41775458e-05 , -2.71267361e-05, -2.15305047e-05, -1.70887729e-05, -1.35633681e-05 , -1.07652524e-05, -8.54438646e-06, -6.78168403e-06, -5.38262618e-06 , -4.27219323e-06, -3.39084201e-06, -2.69131309e-06, -2.13609662e-06 , -1.69542101e-06, -1.34565654e-06, -1.06804831e-06, 0.00000000e+00 } , { -8.88888889e-01, -7.05511579e-01, -5.59964911e-01, -4.44444444e-01 , -3.52755789e-01, -2.79982456e-01, -2.22222222e-01, -1.76377895e-01 , -1.39991228e-01, -1.11111111e-01, -8.81889473e-02, -6.99956139e-02 , -5.55555556e-02, -4.40944737e-02, -3.49978069e-02, -2.77777778e-02 , -2.20472368e-02, -1.74989035e-02, -1.38888889e-02, -1.10236184e-02 , -8.74945174e-03, -6.94444444e-03, -5.51180921e-03, -4.37472587e-03 , -3.47222222e-03, -2.75590460e-03, -2.18736293e-03, -1.73611111e-03 , -1.37795230e-03, -1.09368147e-03, -8.68055556e-04, -6.88976151e-04 , -5.46840733e-04, -4.34027778e-04, -3.44488076e-04, -2.73420367e-04 , -2.17013889e-04, -1.72244038e-04, -1.36710183e-04, -1.08506944e-04 , -8.61220189e-05, -6.83550917e-05, -5.42534722e-05, -4.30610094e-05 , -3.41775458e-05, -2.71267361e-05, -2.15305047e-05, -1.70887729e-05 , -1.35633681e-05, -1.07652524e-05, -8.54438646e-06, -6.78168403e-06 , -5.38262618e-06, -4.27219323e-06, -3.39084201e-06, -2.69131309e-06 , -2.13609662e-06, -1.69542101e-06, -1.34565654e-06, -1.06804831e-06 , -8.47710503e-07, -6.72828272e-07, -5.34024154e-07, 0.00000000e+00 } , { -4.44444444e-01, -3.52755789e-01, -2.79982456e-01, -2.22222222e-01 , -1.76377895e-01, -1.39991228e-01, -1.11111111e-01, -8.81889473e-02 , -6.99956139e-02, -5.55555556e-02, -4.40944737e-02, -3.49978069e-02 , -2.77777778e-02, -2.20472368e-02, -1.74989035e-02, -1.38888889e-02 , -1.10236184e-02, -8.74945174e-03, -6.94444444e-03, -5.51180921e-03 , -4.37472587e-03, -3.47222222e-03, -2.75590460e-03, -2.18736293e-03 , -1.73611111e-03, -1.37795230e-03, -1.09368147e-03, -8.68055556e-04 , -6.88976151e-04, -5.46840733e-04, -4.34027778e-04, -3.44488076e-04 , -2.73420367e-04, -2.17013889e-04, -1.72244038e-04, -1.36710183e-04 , -1.08506944e-04, -8.61220189e-05, -6.83550917e-05, -5.42534722e-05 , -4.30610094e-05, -3.41775458e-05, -2.71267361e-05, -2.15305047e-05 , -1.70887729e-05, -1.35633681e-05, -1.07652524e-05, -8.54438646e-06 , -6.78168403e-06, -5.38262618e-06, -4.27219323e-06, -3.39084201e-06 , -2.69131309e-06, -2.13609662e-06, -1.69542101e-06, -1.34565654e-06 , -1.06804831e-06, -8.47710503e-07, -6.72828272e-07, -5.34024154e-07 , -4.23855252e-07, -3.36414136e-07, -2.67012077e-07, 0.00000000e+00 } , { 4.44444444e-01, 3.52755789e-01, 2.79982456e-01, 2.22222222e-01 , 1.76377895e-01, 1.39991228e-01, 1.11111111e-01, 8.81889473e-02 , 6.99956139e-02, 5.55555556e-02, 4.40944737e-02, 3.49978069e-02 , 2.77777778e-02, 2.20472368e-02, 1.74989035e-02, 1.38888889e-02 , 1.10236184e-02, 8.74945174e-03, 6.94444444e-03, 5.51180921e-03 , 4.37472587e-03, 3.47222222e-03, 2.75590460e-03, 2.18736293e-03 , 1.73611111e-03, 1.37795230e-03, 1.09368147e-03, 8.68055556e-04 , 6.88976151e-04, 5.46840733e-04, 4.34027778e-04, 3.44488076e-04 , 2.73420367e-04, 2.17013889e-04, 1.72244038e-04, 1.36710183e-04 , 1.08506944e-04, 8.61220189e-05, 6.83550917e-05, 5.42534722e-05 , 4.30610094e-05, 3.41775458e-05, 2.71267361e-05, 2.15305047e-05 , 1.70887729e-05, 1.35633681e-05, 1.07652524e-05, 8.54438646e-06 , 6.78168403e-06, 5.38262618e-06, 4.27219323e-06, 3.39084201e-06 , 2.69131309e-06, 2.13609662e-06, 1.69542101e-06, 1.34565654e-06 , 1.06804831e-06, 8.47710503e-07, 6.72828272e-07, 5.34024154e-07 , 4.23855252e-07, 3.36414136e-07, 2.67012077e-07, 0.00000000e+00 } , { 8.88888889e-01, 7.05511579e-01, 5.59964911e-01, 4.44444444e-01 , 3.52755789e-01, 2.79982456e-01, 2.22222222e-01, 1.76377895e-01 , 1.39991228e-01, 1.11111111e-01, 8.81889473e-02, 6.99956139e-02 , 5.55555556e-02, 4.40944737e-02, 3.49978069e-02, 2.77777778e-02 , 2.20472368e-02, 1.74989035e-02, 1.38888889e-02, 1.10236184e-02 , 8.74945174e-03, 6.94444444e-03, 5.51180921e-03, 4.37472587e-03 , 3.47222222e-03, 2.75590460e-03, 2.18736293e-03, 1.73611111e-03 , 1.37795230e-03, 1.09368147e-03, 8.68055556e-04, 6.88976151e-04 , 5.46840733e-04, 4.34027778e-04, 3.44488076e-04, 2.73420367e-04 , 2.17013889e-04, 1.72244038e-04, 1.36710183e-04, 1.08506944e-04 , 8.61220189e-05, 6.83550917e-05, 5.42534722e-05, 4.30610094e-05 , 3.41775458e-05, 2.71267361e-05, 2.15305047e-05, 1.70887729e-05 , 1.35633681e-05, 1.07652524e-05, 8.54438646e-06, 6.78168403e-06 , 5.38262618e-06, 4.27219323e-06, 3.39084201e-06, 2.69131309e-06 , 2.13609662e-06, 1.69542101e-06, 1.34565654e-06, 1.06804831e-06 , 8.47710503e-07, 6.72828272e-07, 5.34024154e-07, 0.00000000e+00 } , { 1.77777778e+00, 1.41102316e+00, 1.11992982e+00, 8.88888889e-01 , 7.05511579e-01, 5.59964911e-01, 4.44444444e-01, 3.52755789e-01 , 2.79982456e-01, 2.22222222e-01, 1.76377895e-01, 1.39991228e-01 , 1.11111111e-01, 8.81889473e-02, 6.99956139e-02, 5.55555556e-02 , 4.40944737e-02, 3.49978069e-02, 2.77777778e-02, 2.20472368e-02 , 1.74989035e-02, 1.38888889e-02, 1.10236184e-02, 8.74945174e-03 , 6.94444444e-03, 5.51180921e-03, 4.37472587e-03, 3.47222222e-03 , 2.75590460e-03, 2.18736293e-03, 1.73611111e-03, 1.37795230e-03 , 1.09368147e-03, 8.68055556e-04, 6.88976151e-04, 5.46840733e-04 , 4.34027778e-04, 3.44488076e-04, 2.73420367e-04, 2.17013889e-04 , 1.72244038e-04, 1.36710183e-04, 1.08506944e-04, 8.61220189e-05 , 6.83550917e-05, 5.42534722e-05, 4.30610094e-05, 3.41775458e-05 , 2.71267361e-05, 2.15305047e-05, 1.70887729e-05, 1.35633681e-05 , 1.07652524e-05, 8.54438646e-06, 6.78168403e-06, 5.38262618e-06 , 4.27219323e-06, 3.39084201e-06, 2.69131309e-06, 2.13609662e-06 , 1.69542101e-06, 1.34565654e-06, 1.06804831e-06, 0.00000000e+00 } }; #endif #ifdef REAL_IS_FIXED static const real layer12_table[27][64] = { { 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 } , { -1431655765, -1136305934, -901886617, -715827883 , -568152967, -450943309, -357913941, -284076483 , -225471654, -178956971, -142038242, -112735827 , -89478485, -71019121, -56367914, -44739243 , -35509560, -28183957, -22369621, -17754780 , -14091978, -11184811, -8877390, -7045989 , -5592405, -4438695, -3522995, -2796203 , -2219348, -1761497, -1398101, -1109674 , -880749, -699051, -554837, -440374 , -349525, -277418, -220187, -174763 , -138709, -110094, -87381, -69355 , -55047, -43691, -34677, -27523 , -21845, -17339, -13762, -10923 , -8669, -6881, -5461, -4335 , -3440, -2731, -2167, -1720 , -1365, -1084, -860, 0 } , { 1431655765, 1136305934, 901886617, 715827883 , 568152967, 450943309, 357913941, 284076483 , 225471654, 178956971, 142038242, 112735827 , 89478485, 71019121, 56367914, 44739243 , 35509560, 28183957, 22369621, 17754780 , 14091978, 11184811, 8877390, 7045989 , 5592405, 4438695, 3522995, 2796203 , 2219348, 1761497, 1398101, 1109674 , 880749, 699051, 554837, 440374 , 349525, 277418, 220187, 174763 , 138709, 110094, 87381, 69355 , 55047, 43691, 34677, 27523 , 21845, 17339, 13762, 10923 , 8669, 6881, 5461, 4335 , 3440, 2731, 2167, 1720 , 1365, 1084, 860, 0 } , { 613566757, 486988257, 386522836, 306783378 , 243494129, 193261418, 153391689, 121747064 , 96630709, 76695845, 60873532, 48315355 , 38347922, 30436766, 24157677, 19173961 , 15218383, 12078839, 9586981, 7609192 , 6039419, 4793490, 3804596, 3019710 , 2396745, 1902298, 1509855, 1198373 , 951149, 754927, 599186, 475574 , 377464, 299593, 237787, 188732 , 149797, 118894, 94366, 74898 , 59447, 47183, 37449, 29723 , 23591, 18725, 14862, 11796 , 9362, 7431, 5898, 4681 , 3715, 2949, 2341, 1858 , 1474, 1170, 929, 737 , 585, 464, 369, 0 } , { 286331153, 227261187, 180377323, 143165577 , 113630593, 90188662, 71582788, 56815297 , 45094331, 35791394, 28407648, 22547165 , 17895697, 14203824, 11273583, 8947849 , 7101912, 5636791, 4473924, 3550956 , 2818396, 2236962, 1775478, 1409198 , 1118481, 887739, 704599, 559241 , 443870, 352299, 279620, 221935 , 176150, 139810, 110967, 88075 , 69905, 55484, 44037, 34953 , 27742, 22019, 17476, 13871 , 11009, 8738, 6935, 5505 , 4369, 3468, 2752, 2185 , 1734, 1376, 1092, 867 , 688, 546, 433, 344 , 273, 217, 172, 0 } , { 138547332, 109965090, 87279350, 69273666 , 54982545, 43639675, 34636833, 27491273 , 21819838, 17318417, 13745636, 10909919 , 8659208, 6872818, 5454959, 4329604 , 3436409, 2727480, 2164802, 1718205 , 1363740, 1082401, 859102, 681870 , 541201, 429551, 340935, 270600 , 214776, 170467, 135300, 107388 , 85234, 67650, 53694, 42617 , 33825, 26847, 21308, 16913 , 13423, 10654, 8456, 6712 , 5327, 4228, 3356, 2664 , 2114, 1678, 1332, 1057 , 839, 666, 529, 419 , 333, 264, 210, 166 , 132, 105, 83, 0 } , { 68174084, 54109806, 42946982, 34087042 , 27054903, 21473491, 17043521, 13527452 , 10736745, 8521761, 6763726, 5368373 , 4260880, 3381863, 2684186, 2130440 , 1690931, 1342093, 1065220, 845466 , 671047, 532610, 422733, 335523 , 266305, 211366, 167762, 133153 , 105683, 83881, 66576, 52842 , 41940, 33288, 26421, 20970 , 16644, 13210, 10485, 8322 , 6605, 5243, 4161, 3303 , 2621, 2081, 1651, 1311 , 1040, 826, 655, 520 , 413, 328, 260, 206 , 164, 130, 103, 82 , 65, 52, 41, 0 } , { 33818640, 26841872, 21304408, 16909320 , 13420936, 10652204, 8454660, 6710468 , 5326102, 4227330, 3355234, 2663051 , 2113665, 1677617, 1331526, 1056833 , 838809, 665763, 528416, 419404 , 332881, 264208, 209702, 166441 , 132104, 104851, 83220, 66052 , 52426, 41610, 33026, 26213 , 20805, 16513, 13106, 10403 , 8257, 6553, 5201, 4128 , 3277, 2601, 2064, 1638 , 1300, 1032, 819, 650 , 516, 410, 325, 258 , 205, 163, 129, 102 , 81, 65, 51, 41 , 32, 26, 20, 0 } , { 16843009, 13368305, 10610431, 8421505 , 6684153, 5305215, 4210752, 3342076 , 2652608, 2105376, 1671038, 1326304 , 1052688, 835519, 663152, 526344 , 417760, 331576, 263172, 208880 , 165788, 131586, 104440, 82894 , 65793, 52220, 41447, 32897 , 26110, 20723, 16448, 13055 , 10362, 8224, 6527, 5181 , 4112, 3264, 2590, 2056 , 1632, 1295, 1028, 816 , 648, 514, 408, 324 , 257, 204, 162, 129 , 102, 81, 64, 51 , 40, 32, 25, 20 , 16, 13, 10, 0 } , { 8405024, 6671072, 5294833, 4202512 , 3335536, 2647417, 2101256, 1667768 , 1323708, 1050628, 833884, 661854 , 525314, 416942, 330927, 262657 , 208471, 165464, 131329, 104236 , 82732, 65664, 52118, 41366 , 32832, 26059, 20683, 16416 , 13029, 10341, 8208, 6515 , 5171, 4104, 3257, 2585 , 2052, 1629, 1293, 1026 , 814, 646, 513, 407 , 323, 257, 204, 162 , 128, 102, 81, 64 , 51, 40, 32, 25 , 20, 16, 13, 10 , 8, 6, 5, 0 } , { 4198404, 3332275, 2644829, 2099202 , 1666138, 1322414, 1049601, 833069 , 661207, 524801, 416534, 330604 , 262400, 208267, 165302, 131200 , 104134, 82651, 65600, 52067 , 41325, 32800, 26033, 20663 , 16400, 13017, 10331, 8200 , 6508, 5166, 4100, 3254 , 2583, 2050, 1627, 1291 , 1025, 814, 646, 513 , 407, 323, 256, 203 , 161, 128, 102, 81 , 64, 51, 40, 32 , 25, 20, 16, 13 , 10, 8, 6, 5 , 4, 3, 3, 0 } , { 2098177, 1665324, 1321768, 1049088 , 832662, 660884, 524544, 416331 , 330442, 262272, 208165, 165221 , 131136, 104083, 82611, 65568 , 52041, 41305, 32784, 26021 , 20653, 16392, 13010, 10326 , 8196, 6505, 5163, 4098 , 3253, 2582, 2049, 1626 , 1291, 1025, 813, 645 , 512, 407, 323, 256 , 203, 161, 128, 102 , 81, 64, 51, 40 , 32, 25, 20, 16 , 13, 10, 8, 6 , 5, 4, 3, 3 , 2, 2, 1, 0 } , { 1048832, 832459, 660723, 524416 , 416229, 330361, 262208, 208115 , 165181, 131104, 104057, 82590 , 65552, 52029, 41295, 32776 , 26014, 20648, 16388, 13007 , 10324, 8194, 6504, 5162 , 4097, 3252, 2581, 2049 , 1626, 1290, 1024, 813 , 645, 512, 406, 323 , 256, 203, 161, 128 , 102, 81, 64, 51 , 40, 32, 25, 20 , 16, 13, 10, 8 , 6, 5, 4, 3 , 3, 2, 2, 1 , 1, 1, 1, 0 } , { 524352, 416178, 330321, 262176 , 208089, 165161, 131088, 104045 , 82580, 65544, 52022, 41290 , 32772, 26011, 20645, 16386 , 13006, 10323, 8193, 6503 , 5161, 4097, 3251, 2581 , 2048, 1626, 1290, 1024 , 813, 645, 512, 406 , 323, 256, 203, 161 , 128, 102, 81, 64 , 51, 40, 32, 25 , 20, 16, 13, 10 , 8, 6, 5, 4 , 3, 3, 2, 2 , 1, 1, 1, 1 , 1, 0, 0, 0 } , { 262160, 208077, 165150, 131080 , 104038, 82575, 65540, 52019 , 41288, 32770, 26010, 20644 , 16385, 13005, 10322, 8193 , 6502, 5161, 4096, 3251 , 2580, 2048, 1626, 1290 , 1024, 813, 645, 512 , 406, 323, 256, 203 , 161, 128, 102, 81 , 64, 51, 40, 32 , 25, 20, 16, 13 , 10, 8, 6, 5 , 4, 3, 3, 2 , 2, 1, 1, 1 , 1, 1, 0, 0 , 0, 0, 0, 0 } , { 131076, 104035, 82573, 65538 , 52018, 41286, 32769, 26009 , 20643, 16385, 13004, 10322 , 8192, 6502, 5161, 4096 , 3251, 2580, 2048, 1626 , 1290, 1024, 813, 645 , 512, 406, 323, 256 , 203, 161, 128, 102 , 81, 64, 51, 40 , 32, 25, 20, 16 , 13, 10, 8, 6 , 5, 4, 3, 3 , 2, 2, 1, 1 , 1, 1, 1, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 } , { 65537, 52017, 41286, 32769 , 26008, 20643, 16384, 13004 , 10321, 8192, 6502, 5161 , 4096, 3251, 2580, 2048 , 1626, 1290, 1024, 813 , 645, 512, 406, 323 , 256, 203, 161, 128 , 102, 81, 64, 51 , 40, 32, 25, 20 , 16, 13, 10, 8 , 6, 5, 4, 3 , 3, 2, 2, 1 , 1, 1, 1, 1 , 0, 0, 0, 0 , 0, 0, 0, 0 , 0, 0, 0, 0 } , { -1717986918, -1363567121, -1082263941, -858993459 , -681783560, -541131970, -429496730, -340891780 , -270565985, -214748365, -170445890, -135282993 , -107374182, -85222945, -67641496, -53687091 , -42611473, -33820748, -26843546, -21305736 , -16910374, -13421773, -10652868, -8455187 , -6710886, -5326434, -4227594, -3355443 , -2663217, -2113797, -1677722, -1331609 , -1056898, -838861, -665804, -528449 , -419430, -332902, -264225, -209715 , -166451, -132112, -104858, -83226 , -66056, -52429, -41613, -33028 , -26214, -20806, -16514, -13107 , -10403, -8257, -6554, -5202 , -4129, -3277, -2601, -2064 , -1638, -1300, -1032, 0 } , { -858993459, -681783560, -541131970, -429496730 , -340891780, -270565985, -214748365, -170445890 , -135282993, -107374182, -85222945, -67641496 , -53687091, -42611473, -33820748, -26843546 , -21305736, -16910374, -13421773, -10652868 , -8455187, -6710886, -5326434, -4227594 , -3355443, -2663217, -2113797, -1677722 , -1331609, -1056898, -838861, -665804 , -528449, -419430, -332902, -264225 , -209715, -166451, -132112, -104858 , -83226, -66056, -52429, -41613 , -33028, -26214, -20806, -16514 , -13107, -10403, -8257, -6554 , -5202, -4129, -3277, -2601 , -2064, -1638, -1300, -1032 , -819, -650, -516, 0 } , { 858993459, 681783560, 541131970, 429496730 , 340891780, 270565985, 214748365, 170445890 , 135282993, 107374182, 85222945, 67641496 , 53687091, 42611473, 33820748, 26843546 , 21305736, 16910374, 13421773, 10652868 , 8455187, 6710886, 5326434, 4227594 , 3355443, 2663217, 2113797, 1677722 , 1331609, 1056898, 838861, 665804 , 528449, 419430, 332902, 264225 , 209715, 166451, 132112, 104858 , 83226, 66056, 52429, 41613 , 33028, 26214, 20806, 16514 , 13107, 10403, 8257, 6554 , 5202, 4129, 3277, 2601 , 2064, 1638, 1300, 1032 , 819, 650, 516, 0 } , { 1717986918, 1363567121, 1082263941, 858993459 , 681783560, 541131970, 429496730, 340891780 , 270565985, 214748365, 170445890, 135282993 , 107374182, 85222945, 67641496, 53687091 , 42611473, 33820748, 26843546, 21305736 , 16910374, 13421773, 10652868, 8455187 , 6710886, 5326434, 4227594, 3355443 , 2663217, 2113797, 1677722, 1331609 , 1056898, 838861, 665804, 528449 , 419430, 332902, 264225, 209715 , 166451, 132112, 104858, 83226 , 66056, 52429, 41613, 33028 , 26214, 20806, 16514, 13107 , 10403, 8257, 6554, 5202 , 4129, 3277, 2601, 2064 , 1638, 1300, 1032, 0 } , { -1908874354, -1515074579, -1202515490, -954437177 , -757537289, -601257745, -477218588, -378768645 , -300628872, -238609294, -189384322, -150314436 , -119304647, -94692161, -75157218, -59652324 , -47346081, -37578609, -29826162, -23673040 , -18789305, -14913081, -11836520, -9394652 , -7456540, -5918260, -4697326, -3728270 , -2959130, -2348663, -1864135, -1479565 , -1174332, -932068, -739783, -587166 , -466034, -369891, -293583, -233017 , -184946, -146791, -116508, -92473 , -73396, -58254, -46236, -36698 , -29127, -23118, -18349, -14564 , -11559, -9174, -7282, -5780 , -4587, -3641, -2890, -2294 , -1820, -1445, -1147, 0 } , { -954437177, -757537289, -601257745, -477218588 , -378768645, -300628872, -238609294, -189384322 , -150314436, -119304647, -94692161, -75157218 , -59652324, -47346081, -37578609, -29826162 , -23673040, -18789305, -14913081, -11836520 , -9394652, -7456540, -5918260, -4697326 , -3728270, -2959130, -2348663, -1864135 , -1479565, -1174332, -932068, -739783 , -587166, -466034, -369891, -293583 , -233017, -184946, -146791, -116508 , -92473, -73396, -58254, -46236 , -36698, -29127, -23118, -18349 , -14564, -11559, -9174, -7282 , -5780, -4587, -3641, -2890 , -2294, -1820, -1445, -1147 , -910, -722, -573, 0 } , { -477218588, -378768645, -300628872, -238609294 , -189384322, -150314436, -119304647, -94692161 , -75157218, -59652324, -47346081, -37578609 , -29826162, -23673040, -18789305, -14913081 , -11836520, -9394652, -7456540, -5918260 , -4697326, -3728270, -2959130, -2348663 , -1864135, -1479565, -1174332, -932068 , -739783, -587166, -466034, -369891 , -293583, -233017, -184946, -146791 , -116508, -92473, -73396, -58254 , -46236, -36698, -29127, -23118 , -18349, -14564, -11559, -9174 , -7282, -5780, -4587, -3641 , -2890, -2294, -1820, -1445 , -1147, -910, -722, -573 , -455, -361, -287, 0 } , { 477218588, 378768645, 300628872, 238609294 , 189384322, 150314436, 119304647, 94692161 , 75157218, 59652324, 47346081, 37578609 , 29826162, 23673040, 18789305, 14913081 , 11836520, 9394652, 7456540, 5918260 , 4697326, 3728270, 2959130, 2348663 , 1864135, 1479565, 1174332, 932068 , 739783, 587166, 466034, 369891 , 293583, 233017, 184946, 146791 , 116508, 92473, 73396, 58254 , 46236, 36698, 29127, 23118 , 18349, 14564, 11559, 9174 , 7282, 5780, 4587, 3641 , 2890, 2294, 1820, 1445 , 1147, 910, 722, 573 , 455, 361, 287, 0 } , { 954437177, 757537289, 601257745, 477218588 , 378768645, 300628872, 238609294, 189384322 , 150314436, 119304647, 94692161, 75157218 , 59652324, 47346081, 37578609, 29826162 , 23673040, 18789305, 14913081, 11836520 , 9394652, 7456540, 5918260, 4697326 , 3728270, 2959130, 2348663, 1864135 , 1479565, 1174332, 932068, 739783 , 587166, 466034, 369891, 293583 , 233017, 184946, 146791, 116508 , 92473, 73396, 58254, 46236 , 36698, 29127, 23118, 18349 , 14564, 11559, 9174, 7282 , 5780, 4587, 3641, 2890 , 2294, 1820, 1445, 1147 , 910, 722, 573, 0 } , { 1908874354, 1515074579, 1202515490, 954437177 , 757537289, 601257745, 477218588, 378768645 , 300628872, 238609294, 189384322, 150314436 , 119304647, 94692161, 75157218, 59652324 , 47346081, 37578609, 29826162, 23673040 , 18789305, 14913081, 11836520, 9394652 , 7456540, 5918260, 4697326, 3728270 , 2959130, 2348663, 1864135, 1479565 , 1174332, 932068, 739783, 587166 , 466034, 369891, 293583, 233017 , 184946, 146791, 116508, 92473 , 73396, 58254, 46236, 36698 , 29127, 23118, 18349, 14564 , 11559, 9174, 7282, 5780 , 4587, 3641, 2890, 2294 , 1820, 1445, 1147, 0 } }; #endif static const unsigned char grp_3tab[96] = { 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 0, 1, 0, 0, 1, 2, 0, 1 , 1, 2, 1, 0, 2, 1, 2, 2, 1, 1, 1, 0, 0, 1, 0, 2, 1, 0 , 1, 0, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0, 2, 0, 2, 2, 0 , 1, 1, 2, 0, 1, 2, 2, 1, 2, 1, 0, 2, 0, 0, 2, 2, 0, 2 , 1, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0 }; static const unsigned char grp_5tab[384] = { 17, 17, 17, 18, 17, 17, 0, 17, 17, 19, 17, 17, 20, 17, 17, 17, 18, 17 , 18, 18, 17, 0, 18, 17, 19, 18, 17, 20, 18, 17, 17, 0, 17, 18, 0, 17 , 0, 0, 17, 19, 0, 17, 20, 0, 17, 17, 19, 17, 18, 19, 17, 0, 19, 17 , 19, 19, 17, 20, 19, 17, 17, 20, 17, 18, 20, 17, 0, 20, 17, 19, 20, 17 , 20, 20, 17, 17, 17, 18, 18, 17, 18, 0, 17, 18, 19, 17, 18, 20, 17, 18 , 17, 18, 18, 18, 18, 18, 0, 18, 18, 19, 18, 18, 20, 18, 18, 17, 0, 18 , 18, 0, 18, 0, 0, 18, 19, 0, 18, 20, 0, 18, 17, 19, 18, 18, 19, 18 , 0, 19, 18, 19, 19, 18, 20, 19, 18, 17, 20, 18, 18, 20, 18, 0, 20, 18 , 19, 20, 18, 20, 20, 18, 17, 17, 0, 18, 17, 0, 0, 17, 0, 19, 17, 0 , 20, 17, 0, 17, 18, 0, 18, 18, 0, 0, 18, 0, 19, 18, 0, 20, 18, 0 , 17, 0, 0, 18, 0, 0, 0, 0, 0, 19, 0, 0, 20, 0, 0, 17, 19, 0 , 18, 19, 0, 0, 19, 0, 19, 19, 0, 20, 19, 0, 17, 20, 0, 18, 20, 0 , 0, 20, 0, 19, 20, 0, 20, 20, 0, 17, 17, 19, 18, 17, 19, 0, 17, 19 , 19, 17, 19, 20, 17, 19, 17, 18, 19, 18, 18, 19, 0, 18, 19, 19, 18, 19 , 20, 18, 19, 17, 0, 19, 18, 0, 19, 0, 0, 19, 19, 0, 19, 20, 0, 19 , 17, 19, 19, 18, 19, 19, 0, 19, 19, 19, 19, 19, 20, 19, 19, 17, 20, 19 , 18, 20, 19, 0, 20, 19, 19, 20, 19, 20, 20, 19, 17, 17, 20, 18, 17, 20 , 0, 17, 20, 19, 17, 20, 20, 17, 20, 17, 18, 20, 18, 18, 20, 0, 18, 20 , 19, 18, 20, 20, 18, 20, 17, 0, 20, 18, 0, 20, 0, 0, 20, 19, 0, 20 , 20, 0, 20, 17, 19, 20, 18, 19, 20, 0, 19, 20, 19, 19, 20, 20, 19, 20 , 17, 20, 20, 18, 20, 20, 0, 20, 20, 19, 20, 20, 20, 20, 20, 0, 0, 0 , 0, 0, 0, 0, 0, 0 }; static const unsigned char grp_9tab[3072] = { 21, 21, 21, 1, 21, 21, 22, 21, 21, 23, 21, 21, 0, 21, 21, 24, 21, 21 , 25, 21, 21, 2, 21, 21, 26, 21, 21, 21, 1, 21, 1, 1, 21, 22, 1, 21 , 23, 1, 21, 0, 1, 21, 24, 1, 21, 25, 1, 21, 2, 1, 21, 26, 1, 21 , 21, 22, 21, 1, 22, 21, 22, 22, 21, 23, 22, 21, 0, 22, 21, 24, 22, 21 , 25, 22, 21, 2, 22, 21, 26, 22, 21, 21, 23, 21, 1, 23, 21, 22, 23, 21 , 23, 23, 21, 0, 23, 21, 24, 23, 21, 25, 23, 21, 2, 23, 21, 26, 23, 21 , 21, 0, 21, 1, 0, 21, 22, 0, 21, 23, 0, 21, 0, 0, 21, 24, 0, 21 , 25, 0, 21, 2, 0, 21, 26, 0, 21, 21, 24, 21, 1, 24, 21, 22, 24, 21 , 23, 24, 21, 0, 24, 21, 24, 24, 21, 25, 24, 21, 2, 24, 21, 26, 24, 21 , 21, 25, 21, 1, 25, 21, 22, 25, 21, 23, 25, 21, 0, 25, 21, 24, 25, 21 , 25, 25, 21, 2, 25, 21, 26, 25, 21, 21, 2, 21, 1, 2, 21, 22, 2, 21 , 23, 2, 21, 0, 2, 21, 24, 2, 21, 25, 2, 21, 2, 2, 21, 26, 2, 21 , 21, 26, 21, 1, 26, 21, 22, 26, 21, 23, 26, 21, 0, 26, 21, 24, 26, 21 , 25, 26, 21, 2, 26, 21, 26, 26, 21, 21, 21, 1, 1, 21, 1, 22, 21, 1 , 23, 21, 1, 0, 21, 1, 24, 21, 1, 25, 21, 1, 2, 21, 1, 26, 21, 1 , 21, 1, 1, 1, 1, 1, 22, 1, 1, 23, 1, 1, 0, 1, 1, 24, 1, 1 , 25, 1, 1, 2, 1, 1, 26, 1, 1, 21, 22, 1, 1, 22, 1, 22, 22, 1 , 23, 22, 1, 0, 22, 1, 24, 22, 1, 25, 22, 1, 2, 22, 1, 26, 22, 1 , 21, 23, 1, 1, 23, 1, 22, 23, 1, 23, 23, 1, 0, 23, 1, 24, 23, 1 , 25, 23, 1, 2, 23, 1, 26, 23, 1, 21, 0, 1, 1, 0, 1, 22, 0, 1 , 23, 0, 1, 0, 0, 1, 24, 0, 1, 25, 0, 1, 2, 0, 1, 26, 0, 1 , 21, 24, 1, 1, 24, 1, 22, 24, 1, 23, 24, 1, 0, 24, 1, 24, 24, 1 , 25, 24, 1, 2, 24, 1, 26, 24, 1, 21, 25, 1, 1, 25, 1, 22, 25, 1 , 23, 25, 1, 0, 25, 1, 24, 25, 1, 25, 25, 1, 2, 25, 1, 26, 25, 1 , 21, 2, 1, 1, 2, 1, 22, 2, 1, 23, 2, 1, 0, 2, 1, 24, 2, 1 , 25, 2, 1, 2, 2, 1, 26, 2, 1, 21, 26, 1, 1, 26, 1, 22, 26, 1 , 23, 26, 1, 0, 26, 1, 24, 26, 1, 25, 26, 1, 2, 26, 1, 26, 26, 1 , 21, 21, 22, 1, 21, 22, 22, 21, 22, 23, 21, 22, 0, 21, 22, 24, 21, 22 , 25, 21, 22, 2, 21, 22, 26, 21, 22, 21, 1, 22, 1, 1, 22, 22, 1, 22 , 23, 1, 22, 0, 1, 22, 24, 1, 22, 25, 1, 22, 2, 1, 22, 26, 1, 22 , 21, 22, 22, 1, 22, 22, 22, 22, 22, 23, 22, 22, 0, 22, 22, 24, 22, 22 , 25, 22, 22, 2, 22, 22, 26, 22, 22, 21, 23, 22, 1, 23, 22, 22, 23, 22 , 23, 23, 22, 0, 23, 22, 24, 23, 22, 25, 23, 22, 2, 23, 22, 26, 23, 22 , 21, 0, 22, 1, 0, 22, 22, 0, 22, 23, 0, 22, 0, 0, 22, 24, 0, 22 , 25, 0, 22, 2, 0, 22, 26, 0, 22, 21, 24, 22, 1, 24, 22, 22, 24, 22 , 23, 24, 22, 0, 24, 22, 24, 24, 22, 25, 24, 22, 2, 24, 22, 26, 24, 22 , 21, 25, 22, 1, 25, 22, 22, 25, 22, 23, 25, 22, 0, 25, 22, 24, 25, 22 , 25, 25, 22, 2, 25, 22, 26, 25, 22, 21, 2, 22, 1, 2, 22, 22, 2, 22 , 23, 2, 22, 0, 2, 22, 24, 2, 22, 25, 2, 22, 2, 2, 22, 26, 2, 22 , 21, 26, 22, 1, 26, 22, 22, 26, 22, 23, 26, 22, 0, 26, 22, 24, 26, 22 , 25, 26, 22, 2, 26, 22, 26, 26, 22, 21, 21, 23, 1, 21, 23, 22, 21, 23 , 23, 21, 23, 0, 21, 23, 24, 21, 23, 25, 21, 23, 2, 21, 23, 26, 21, 23 , 21, 1, 23, 1, 1, 23, 22, 1, 23, 23, 1, 23, 0, 1, 23, 24, 1, 23 , 25, 1, 23, 2, 1, 23, 26, 1, 23, 21, 22, 23, 1, 22, 23, 22, 22, 23 , 23, 22, 23, 0, 22, 23, 24, 22, 23, 25, 22, 23, 2, 22, 23, 26, 22, 23 , 21, 23, 23, 1, 23, 23, 22, 23, 23, 23, 23, 23, 0, 23, 23, 24, 23, 23 , 25, 23, 23, 2, 23, 23, 26, 23, 23, 21, 0, 23, 1, 0, 23, 22, 0, 23 , 23, 0, 23, 0, 0, 23, 24, 0, 23, 25, 0, 23, 2, 0, 23, 26, 0, 23 , 21, 24, 23, 1, 24, 23, 22, 24, 23, 23, 24, 23, 0, 24, 23, 24, 24, 23 , 25, 24, 23, 2, 24, 23, 26, 24, 23, 21, 25, 23, 1, 25, 23, 22, 25, 23 , 23, 25, 23, 0, 25, 23, 24, 25, 23, 25, 25, 23, 2, 25, 23, 26, 25, 23 , 21, 2, 23, 1, 2, 23, 22, 2, 23, 23, 2, 23, 0, 2, 23, 24, 2, 23 , 25, 2, 23, 2, 2, 23, 26, 2, 23, 21, 26, 23, 1, 26, 23, 22, 26, 23 , 23, 26, 23, 0, 26, 23, 24, 26, 23, 25, 26, 23, 2, 26, 23, 26, 26, 23 , 21, 21, 0, 1, 21, 0, 22, 21, 0, 23, 21, 0, 0, 21, 0, 24, 21, 0 , 25, 21, 0, 2, 21, 0, 26, 21, 0, 21, 1, 0, 1, 1, 0, 22, 1, 0 , 23, 1, 0, 0, 1, 0, 24, 1, 0, 25, 1, 0, 2, 1, 0, 26, 1, 0 , 21, 22, 0, 1, 22, 0, 22, 22, 0, 23, 22, 0, 0, 22, 0, 24, 22, 0 , 25, 22, 0, 2, 22, 0, 26, 22, 0, 21, 23, 0, 1, 23, 0, 22, 23, 0 , 23, 23, 0, 0, 23, 0, 24, 23, 0, 25, 23, 0, 2, 23, 0, 26, 23, 0 , 21, 0, 0, 1, 0, 0, 22, 0, 0, 23, 0, 0, 0, 0, 0, 24, 0, 0 , 25, 0, 0, 2, 0, 0, 26, 0, 0, 21, 24, 0, 1, 24, 0, 22, 24, 0 , 23, 24, 0, 0, 24, 0, 24, 24, 0, 25, 24, 0, 2, 24, 0, 26, 24, 0 , 21, 25, 0, 1, 25, 0, 22, 25, 0, 23, 25, 0, 0, 25, 0, 24, 25, 0 , 25, 25, 0, 2, 25, 0, 26, 25, 0, 21, 2, 0, 1, 2, 0, 22, 2, 0 , 23, 2, 0, 0, 2, 0, 24, 2, 0, 25, 2, 0, 2, 2, 0, 26, 2, 0 , 21, 26, 0, 1, 26, 0, 22, 26, 0, 23, 26, 0, 0, 26, 0, 24, 26, 0 , 25, 26, 0, 2, 26, 0, 26, 26, 0, 21, 21, 24, 1, 21, 24, 22, 21, 24 , 23, 21, 24, 0, 21, 24, 24, 21, 24, 25, 21, 24, 2, 21, 24, 26, 21, 24 , 21, 1, 24, 1, 1, 24, 22, 1, 24, 23, 1, 24, 0, 1, 24, 24, 1, 24 , 25, 1, 24, 2, 1, 24, 26, 1, 24, 21, 22, 24, 1, 22, 24, 22, 22, 24 , 23, 22, 24, 0, 22, 24, 24, 22, 24, 25, 22, 24, 2, 22, 24, 26, 22, 24 , 21, 23, 24, 1, 23, 24, 22, 23, 24, 23, 23, 24, 0, 23, 24, 24, 23, 24 , 25, 23, 24, 2, 23, 24, 26, 23, 24, 21, 0, 24, 1, 0, 24, 22, 0, 24 , 23, 0, 24, 0, 0, 24, 24, 0, 24, 25, 0, 24, 2, 0, 24, 26, 0, 24 , 21, 24, 24, 1, 24, 24, 22, 24, 24, 23, 24, 24, 0, 24, 24, 24, 24, 24 , 25, 24, 24, 2, 24, 24, 26, 24, 24, 21, 25, 24, 1, 25, 24, 22, 25, 24 , 23, 25, 24, 0, 25, 24, 24, 25, 24, 25, 25, 24, 2, 25, 24, 26, 25, 24 , 21, 2, 24, 1, 2, 24, 22, 2, 24, 23, 2, 24, 0, 2, 24, 24, 2, 24 , 25, 2, 24, 2, 2, 24, 26, 2, 24, 21, 26, 24, 1, 26, 24, 22, 26, 24 , 23, 26, 24, 0, 26, 24, 24, 26, 24, 25, 26, 24, 2, 26, 24, 26, 26, 24 , 21, 21, 25, 1, 21, 25, 22, 21, 25, 23, 21, 25, 0, 21, 25, 24, 21, 25 , 25, 21, 25, 2, 21, 25, 26, 21, 25, 21, 1, 25, 1, 1, 25, 22, 1, 25 , 23, 1, 25, 0, 1, 25, 24, 1, 25, 25, 1, 25, 2, 1, 25, 26, 1, 25 , 21, 22, 25, 1, 22, 25, 22, 22, 25, 23, 22, 25, 0, 22, 25, 24, 22, 25 , 25, 22, 25, 2, 22, 25, 26, 22, 25, 21, 23, 25, 1, 23, 25, 22, 23, 25 , 23, 23, 25, 0, 23, 25, 24, 23, 25, 25, 23, 25, 2, 23, 25, 26, 23, 25 , 21, 0, 25, 1, 0, 25, 22, 0, 25, 23, 0, 25, 0, 0, 25, 24, 0, 25 , 25, 0, 25, 2, 0, 25, 26, 0, 25, 21, 24, 25, 1, 24, 25, 22, 24, 25 , 23, 24, 25, 0, 24, 25, 24, 24, 25, 25, 24, 25, 2, 24, 25, 26, 24, 25 , 21, 25, 25, 1, 25, 25, 22, 25, 25, 23, 25, 25, 0, 25, 25, 24, 25, 25 , 25, 25, 25, 2, 25, 25, 26, 25, 25, 21, 2, 25, 1, 2, 25, 22, 2, 25 , 23, 2, 25, 0, 2, 25, 24, 2, 25, 25, 2, 25, 2, 2, 25, 26, 2, 25 , 21, 26, 25, 1, 26, 25, 22, 26, 25, 23, 26, 25, 0, 26, 25, 24, 26, 25 , 25, 26, 25, 2, 26, 25, 26, 26, 25, 21, 21, 2, 1, 21, 2, 22, 21, 2 , 23, 21, 2, 0, 21, 2, 24, 21, 2, 25, 21, 2, 2, 21, 2, 26, 21, 2 , 21, 1, 2, 1, 1, 2, 22, 1, 2, 23, 1, 2, 0, 1, 2, 24, 1, 2 , 25, 1, 2, 2, 1, 2, 26, 1, 2, 21, 22, 2, 1, 22, 2, 22, 22, 2 , 23, 22, 2, 0, 22, 2, 24, 22, 2, 25, 22, 2, 2, 22, 2, 26, 22, 2 , 21, 23, 2, 1, 23, 2, 22, 23, 2, 23, 23, 2, 0, 23, 2, 24, 23, 2 , 25, 23, 2, 2, 23, 2, 26, 23, 2, 21, 0, 2, 1, 0, 2, 22, 0, 2 , 23, 0, 2, 0, 0, 2, 24, 0, 2, 25, 0, 2, 2, 0, 2, 26, 0, 2 , 21, 24, 2, 1, 24, 2, 22, 24, 2, 23, 24, 2, 0, 24, 2, 24, 24, 2 , 25, 24, 2, 2, 24, 2, 26, 24, 2, 21, 25, 2, 1, 25, 2, 22, 25, 2 , 23, 25, 2, 0, 25, 2, 24, 25, 2, 25, 25, 2, 2, 25, 2, 26, 25, 2 , 21, 2, 2, 1, 2, 2, 22, 2, 2, 23, 2, 2, 0, 2, 2, 24, 2, 2 , 25, 2, 2, 2, 2, 2, 26, 2, 2, 21, 26, 2, 1, 26, 2, 22, 26, 2 , 23, 26, 2, 0, 26, 2, 24, 26, 2, 25, 26, 2, 2, 26, 2, 26, 26, 2 , 21, 21, 26, 1, 21, 26, 22, 21, 26, 23, 21, 26, 0, 21, 26, 24, 21, 26 , 25, 21, 26, 2, 21, 26, 26, 21, 26, 21, 1, 26, 1, 1, 26, 22, 1, 26 , 23, 1, 26, 0, 1, 26, 24, 1, 26, 25, 1, 26, 2, 1, 26, 26, 1, 26 , 21, 22, 26, 1, 22, 26, 22, 22, 26, 23, 22, 26, 0, 22, 26, 24, 22, 26 , 25, 22, 26, 2, 22, 26, 26, 22, 26, 21, 23, 26, 1, 23, 26, 22, 23, 26 , 23, 23, 26, 0, 23, 26, 24, 23, 26, 25, 23, 26, 2, 23, 26, 26, 23, 26 , 21, 0, 26, 1, 0, 26, 22, 0, 26, 23, 0, 26, 0, 0, 26, 24, 0, 26 , 25, 0, 26, 2, 0, 26, 26, 0, 26, 21, 24, 26, 1, 24, 26, 22, 24, 26 , 23, 24, 26, 0, 24, 26, 24, 24, 26, 25, 24, 26, 2, 24, 26, 26, 24, 26 , 21, 25, 26, 1, 25, 26, 22, 25, 26, 23, 25, 26, 0, 25, 26, 24, 25, 26 , 25, 25, 26, 2, 25, 26, 26, 25, 26, 21, 2, 26, 1, 2, 26, 22, 2, 26 , 23, 2, 26, 0, 2, 26, 24, 2, 26, 25, 2, 26, 2, 2, 26, 26, 2, 26 , 21, 26, 26, 1, 26, 26, 22, 26, 26, 23, 26, 26, 0, 26, 26, 24, 26, 26 , 25, 26, 26, 2, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #endif