diff --git a/lib/openpdm/pdm_filter.c b/lib/openpdm/pdm_filter.c
new file mode 100644
index 0000000000000..a3218aad83cf2
--- /dev/null
+++ b/lib/openpdm/pdm_filter.c
@@ -0,0 +1,306 @@
+/**
+ *******************************************************************************
+ * @file OpenPDMFilter.c
+ * @author CL
+ * @version V1.0.0
+ * @date 9-September-2015
+ * @brief Open PDM audio software decoding Library.
+ * This Library is used to decode and reconstruct the audio signal
+ * produced by ST MEMS microphone (MP45Dxxx, MP34Dxxx).
+ *******************************************************************************
+ * @attention
+ *
+ *
© COPYRIGHT 2018 STMicroelectronics
+ *
+ * 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.
+ *******************************************************************************
+ */
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "pdm_filter.h"
+
+
+/* Variables -----------------------------------------------------------------*/
+
+uint32_t div_const = 0;
+int64_t sub_const = 0;
+uint32_t sinc[DECIMATION_MAX * SINCN];
+uint32_t sinc1[DECIMATION_MAX];
+uint32_t sinc2[DECIMATION_MAX * 2];
+uint32_t coef[SINCN][DECIMATION_MAX];
+#ifdef USE_LUT
+#include "pdm_filter_lut.c"
+#endif
+
+
+/* Functions -----------------------------------------------------------------*/
+
+#ifdef USE_LUT
+int32_t filter_table_mono_64(uint8_t *data, uint8_t sincn) {
+ return (int32_t)
+ pdm_lut64[data[0]][0][sincn] +
+ pdm_lut64[data[1]][1][sincn] +
+ pdm_lut64[data[2]][2][sincn] +
+ pdm_lut64[data[3]][3][sincn] +
+ pdm_lut64[data[4]][4][sincn] +
+ pdm_lut64[data[5]][5][sincn] +
+ pdm_lut64[data[6]][6][sincn] +
+ pdm_lut64[data[7]][7][sincn];
+}
+int32_t filter_table_stereo_64(uint8_t *data, uint8_t sincn) {
+ return (int32_t)
+ pdm_lut64[data[0]][0][sincn] +
+ pdm_lut64[data[2]][1][sincn] +
+ pdm_lut64[data[4]][2][sincn] +
+ pdm_lut64[data[6]][3][sincn] +
+ pdm_lut64[data[8]][4][sincn] +
+ pdm_lut64[data[10]][5][sincn] +
+ pdm_lut64[data[12]][6][sincn] +
+ pdm_lut64[data[14]][7][sincn];
+}
+int32_t filter_table_mono_128(uint8_t *data, uint8_t sincn) {
+ return (int32_t)
+ pdm_lut128[data[0]][0][sincn] +
+ pdm_lut128[data[1]][1][sincn] +
+ pdm_lut128[data[2]][2][sincn] +
+ pdm_lut128[data[3]][3][sincn] +
+ pdm_lut128[data[4]][4][sincn] +
+ pdm_lut128[data[5]][5][sincn] +
+ pdm_lut128[data[6]][6][sincn] +
+ pdm_lut128[data[7]][7][sincn] +
+ pdm_lut128[data[8]][8][sincn] +
+ pdm_lut128[data[9]][9][sincn] +
+ pdm_lut128[data[10]][10][sincn] +
+ pdm_lut128[data[11]][11][sincn] +
+ pdm_lut128[data[12]][12][sincn] +
+ pdm_lut128[data[13]][13][sincn] +
+ pdm_lut128[data[14]][14][sincn] +
+ pdm_lut128[data[15]][15][sincn];
+}
+int32_t filter_table_stereo_128(uint8_t *data, uint8_t sincn) {
+ return (int32_t)
+ pdm_lut128[data[0]][0][sincn] +
+ pdm_lut128[data[2]][1][sincn] +
+ pdm_lut128[data[4]][2][sincn] +
+ pdm_lut128[data[6]][3][sincn] +
+ pdm_lut128[data[8]][4][sincn] +
+ pdm_lut128[data[10]][5][sincn] +
+ pdm_lut128[data[12]][6][sincn] +
+ pdm_lut128[data[14]][7][sincn] +
+ pdm_lut128[data[16]][8][sincn] +
+ pdm_lut128[data[18]][9][sincn] +
+ pdm_lut128[data[20]][10][sincn] +
+ pdm_lut128[data[22]][11][sincn] +
+ pdm_lut128[data[24]][12][sincn] +
+ pdm_lut128[data[26]][13][sincn] +
+ pdm_lut128[data[28]][14][sincn] +
+ pdm_lut128[data[30]][15][sincn];
+}
+int32_t (*filter_tables_64[2])(uint8_t *data, uint8_t sincn) = {filter_table_mono_64, filter_table_stereo_64};
+int32_t (*filter_tables_128[2])(uint8_t *data, uint8_t sincn) = {filter_table_mono_128, filter_table_stereo_128};
+#else
+int32_t filter_table(uint8_t *data, uint8_t sincn, TPDMFilter_InitStruct *param) {
+ uint8_t c, i;
+ uint16_t data_index = 0;
+ uint32_t *coef_p = &coef[sincn][0];
+ int32_t F = 0;
+ uint8_t decimation = param->Decimation;
+ uint8_t channels = param->In_MicChannels;
+
+ for (i = 0; i < decimation; i += 8) {
+ c = data[data_index];
+ F += ((c >> 7)) * coef_p[i ] +
+ ((c >> 6) & 0x01) * coef_p[i + 1] +
+ ((c >> 5) & 0x01) * coef_p[i + 2] +
+ ((c >> 4) & 0x01) * coef_p[i + 3] +
+ ((c >> 3) & 0x01) * coef_p[i + 4] +
+ ((c >> 2) & 0x01) * coef_p[i + 5] +
+ ((c >> 1) & 0x01) * coef_p[i + 6] +
+ ((c) & 0x01) * coef_p[i + 7];
+ data_index += channels;
+ }
+ return F;
+}
+#endif
+
+void convolve(uint32_t Signal[] /* SignalLen */, unsigned short SignalLen,
+ uint32_t Kernel[] /* KernelLen */, unsigned short KernelLen,
+ uint32_t Result[] /* SignalLen + KernelLen - 1 */) {
+ uint16_t n;
+
+ for (n = 0; n < SignalLen + KernelLen - 1; n++)
+ {
+ unsigned short kmin, kmax, k;
+
+ Result[n] = 0;
+
+ kmin = (n >= KernelLen - 1) ? n - (KernelLen - 1) : 0;
+ kmax = (n < SignalLen - 1) ? n : SignalLen - 1;
+
+ for (k = kmin; k <= kmax; k++) {
+ Result[n] += Signal[k] * Kernel[n - k];
+ }
+ }
+}
+
+void Open_PDM_Filter_Init(TPDMFilter_InitStruct *Param) {
+ uint16_t i, j;
+ int64_t sum = 0;
+
+ uint8_t decimation = Param->Decimation;
+
+ for (i = 0; i < SINCN; i++) {
+ Param->Coef[i] = 0;
+ Param->bit[i] = 0;
+ }
+ for (i = 0; i < decimation; i++) {
+ sinc1[i] = 1;
+ }
+
+ Param->OldOut = Param->OldIn = Param->OldZ = 0;
+ Param->LP_ALFA = (Param->LP_HZ != 0 ? (uint16_t)(Param->LP_HZ * 256 / (Param->LP_HZ + Param->Fs / (2 * 3.14159))) : 0);
+ Param->HP_ALFA = (Param->HP_HZ != 0 ? (uint16_t)(Param->Fs * 256 / (2 * 3.14159 * Param->HP_HZ + Param->Fs)) : 0);
+
+ Param->FilterLen = decimation * SINCN;
+ sinc[0] = 0;
+ sinc[decimation * SINCN - 1] = 0;
+ convolve(sinc1, decimation, sinc1, decimation, sinc2);
+ convolve(sinc2, decimation * 2 - 1, sinc1, decimation, &sinc[1]);
+ for (j = 0; j < SINCN; j++) {
+ for (i = 0; i < decimation; i++) {
+ coef[j][i] = sinc[j * decimation + i];
+ sum += sinc[j * decimation + i];
+ }
+ }
+
+ sub_const = sum >> 1;
+ div_const = sub_const * Param->MaxVolume / 32768 / Param->filterGain;
+ div_const = (div_const == 0 ? 1 : div_const);
+
+ #if 0 // USE_LUT
+ /* Look-Up Table. */
+ uint16_t c, d, s;
+ for (s = 0; s < SINCN; s++)
+ {
+ uint32_t *coef_p = &coef[s][0];
+ for (c = 0; c < 256; c++) {
+ for (d = 0; d < decimation / 8; d++) {
+ lut[c][d][s] = ((c >> 7)) * coef_p[d * 8 ] +
+ ((c >> 6) & 0x01) * coef_p[d * 8 + 1] +
+ ((c >> 5) & 0x01) * coef_p[d * 8 + 2] +
+ ((c >> 4) & 0x01) * coef_p[d * 8 + 3] +
+ ((c >> 3) & 0x01) * coef_p[d * 8 + 4] +
+ ((c >> 2) & 0x01) * coef_p[d * 8 + 5] +
+ ((c >> 1) & 0x01) * coef_p[d * 8 + 6] +
+ ((c) & 0x01) * coef_p[d * 8 + 7];
+ }
+ }
+ }
+ #endif
+}
+
+void Open_PDM_Filter_64(uint8_t *data, int16_t *dataOut, uint16_t volume, TPDMFilter_InitStruct *Param) {
+ uint8_t i, data_out_index;
+ uint8_t channels = Param->In_MicChannels;
+ uint8_t data_inc = ((DECIMATION_MAX >> 4) * channels);
+ int64_t Z, Z0, Z1, Z2;
+ int64_t OldOut, OldIn, OldZ;
+
+ OldOut = Param->OldOut;
+ OldIn = Param->OldIn;
+ OldZ = Param->OldZ;
+
+ #ifdef USE_LUT
+ uint8_t j = channels - 1;
+ #endif
+
+ for (i = 0, data_out_index = 0; i < Param->nSamples; i++, data_out_index += channels) {
+ #ifdef USE_LUT
+ Z0 = filter_tables_64[j](data, 0);
+ Z1 = filter_tables_64[j](data, 1);
+ Z2 = filter_tables_64[j](data, 2);
+ #else
+ Z0 = filter_table(data, 0, Param);
+ Z1 = filter_table(data, 1, Param);
+ Z2 = filter_table(data, 2, Param);
+ #endif
+
+ Z = Param->Coef[1] + Z2 - sub_const;
+ Param->Coef[1] = Param->Coef[0] + Z1;
+ Param->Coef[0] = Z0;
+
+ OldOut = (Param->HP_ALFA * (OldOut + Z - OldIn)) >> 8;
+ OldIn = Z;
+ OldZ = ((256 - Param->LP_ALFA) * OldZ + Param->LP_ALFA * OldOut) >> 8;
+
+ Z = OldZ * volume;
+ Z = RoundDiv(Z, div_const);
+ Z = SaturaLH(Z, -32700, 32700);
+
+ dataOut[data_out_index] = Z;
+ data += data_inc;
+ }
+
+ Param->OldOut = OldOut;
+ Param->OldIn = OldIn;
+ Param->OldZ = OldZ;
+}
+
+void Open_PDM_Filter_128(uint8_t *data, int16_t *dataOut, uint16_t volume, TPDMFilter_InitStruct *Param) {
+ uint8_t i, data_out_index;
+ uint8_t channels = Param->In_MicChannels;
+ uint8_t data_inc = ((DECIMATION_MAX >> 3) * channels);
+ int64_t Z, Z0, Z1, Z2;
+ int64_t OldOut, OldIn, OldZ;
+
+ OldOut = Param->OldOut;
+ OldIn = Param->OldIn;
+ OldZ = Param->OldZ;
+
+ #ifdef USE_LUT
+ uint8_t j = channels - 1;
+ #endif
+
+ for (i = 0, data_out_index = 0; i < Param->nSamples; i++, data_out_index += channels) {
+ #ifdef USE_LUT
+ Z0 = filter_tables_128[j](data, 0);
+ Z1 = filter_tables_128[j](data, 1);
+ Z2 = filter_tables_128[j](data, 2);
+ #else
+ Z0 = filter_table(data, 0, Param);
+ Z1 = filter_table(data, 1, Param);
+ Z2 = filter_table(data, 2, Param);
+ #endif
+
+ Z = Param->Coef[1] + Z2 - sub_const;
+ Param->Coef[1] = Param->Coef[0] + Z1;
+ Param->Coef[0] = Z0;
+
+ OldOut = (Param->HP_ALFA * (OldOut + Z - OldIn)) >> 8;
+ OldIn = Z;
+ OldZ = ((256 - Param->LP_ALFA) * OldZ + Param->LP_ALFA * OldOut) >> 8;
+
+ Z = OldZ * volume;
+ Z = RoundDiv(Z, div_const);
+ Z = SaturaLH(Z, -32700, 32700);
+
+ dataOut[data_out_index] = Z;
+ data += data_inc;
+ }
+
+ Param->OldOut = OldOut;
+ Param->OldIn = OldIn;
+ Param->OldZ = OldZ;
+}
diff --git a/lib/openpdm/pdm_filter.h b/lib/openpdm/pdm_filter.h
new file mode 100644
index 0000000000000..427fcd6461173
--- /dev/null
+++ b/lib/openpdm/pdm_filter.h
@@ -0,0 +1,99 @@
+/**
+ *******************************************************************************
+ * @file OpenPDMFilter.h
+ * @author CL
+ * @version V1.0.0
+ * @date 9-September-2015
+ * @brief Header file for Open PDM audio software decoding Library.
+ * This Library is used to decode and reconstruct the audio signal
+ * produced by ST MEMS microphone (MP45Dxxx, MP34Dxxx).
+ *******************************************************************************
+ * @attention
+ *
+ * © COPYRIGHT 2018 STMicroelectronics
+ *
+ * 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.
+ *******************************************************************************
+ */
+
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+
+#ifndef __OPENPDMFILTER_H
+#define __OPENPDMFILTER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Includes ------------------------------------------------------------------*/
+
+#include
+
+
+/* Definitions ---------------------------------------------------------------*/
+
+/*
+ * Enable to use a Look-Up Table to improve performances while using more FLASH
+ * and RAM memory.
+ * Note: Without Look-Up Table up to stereo@16KHz configuration is supported.
+ */
+// #define USE_LUT
+
+#define SINCN 3
+#define DECIMATION_MAX 128
+
+#define HTONS(A) ((((uint16_t)(A) & 0xff00) >> 8) | \
+ (((uint16_t)(A) & 0x00ff) << 8))
+#define RoundDiv(a, b) (((a) > 0)?(((a) + (b) / 2) / (b)):(((a) - (b) / 2) / (b)))
+#define SaturaLH(N, L, H) (((N) < (L))?(L):(((N) > (H))?(H):(N)))
+
+
+/* Types ---------------------------------------------------------------------*/
+
+typedef struct {
+ /* Public */
+ float LP_HZ;
+ float HP_HZ;
+ uint16_t Fs;
+ unsigned int nSamples;
+ uint8_t In_MicChannels;
+ uint8_t Out_MicChannels;
+ uint8_t Decimation;
+ uint8_t MaxVolume;
+ /* Private */
+ uint32_t Coef[SINCN];
+ uint16_t FilterLen;
+ int64_t OldOut, OldIn, OldZ;
+ uint16_t LP_ALFA;
+ uint16_t HP_ALFA;
+ uint16_t bit[5];
+ uint16_t byte;
+ uint16_t filterGain;
+} TPDMFilter_InitStruct;
+
+
+/* Exported functions ------------------------------------------------------- */
+
+void Open_PDM_Filter_Init(TPDMFilter_InitStruct *init_struct);
+void Open_PDM_Filter_64(uint8_t *data, int16_t *data_out, uint16_t mic_gain, TPDMFilter_InitStruct *init_struct);
+void Open_PDM_Filter_128(uint8_t *data, int16_t *data_out, uint16_t mic_gain, TPDMFilter_InitStruct *init_struct);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __OPENPDMFILTER_H
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/lib/openpdm/pdm_filter_lut.c b/lib/openpdm/pdm_filter_lut.c
new file mode 100644
index 0000000000000..535f3ff84da2e
--- /dev/null
+++ b/lib/openpdm/pdm_filter_lut.c
@@ -0,0 +1,520 @@
+#ifdef USE_LUT
+#include
+const int32_t pdm_lut64[256][DECIMATION_MAX / 8][SINCN] = {
+ {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 2472, 1596}, {120, 2800, 1176}, {276, 3000, 820}, {496, 3072, 528}, {780, 3016, 300}, {1128, 2832, 136}, {1540, 2520, 36}, {2016, 2080, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{21, 2422, 1653}, {105, 2766, 1225}, {253, 2982, 861}, {465, 3070, 561}, {741, 3030, 325}, {1081, 2862, 153}, {1485, 2566, 45}, {1953, 2142, 1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 4894, 3249}, {225, 5566, 2401}, {529, 5982, 1681}, {961, 6142, 1089}, {1521, 6046, 625}, {2209, 5694, 289}, {3025, 5086, 81}, {3969, 4222, 1}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{15, 2370, 1711}, {91, 2730, 1275}, {231, 2962, 903}, {435, 3066, 595}, {703, 3042, 351}, {1035, 2890, 171}, {1431, 2610, 55}, {1891, 2202, 3}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{43, 4842, 3307}, {211, 5530, 2451}, {507, 5962, 1723}, {931, 6138, 1123}, {1483, 6058, 651}, {2163, 5722, 307}, {2971, 5130, 91}, {3907, 4282, 3}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{36, 4792, 3364}, {196, 5496, 2500}, {484, 5944, 1764}, {900, 6136, 1156}, {1444, 6072, 676}, {2116, 5752, 324}, {2916, 5176, 100}, {3844, 4344, 4}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{64, 7264, 4960}, {316, 8296, 3676}, {760, 8944, 2584}, {1396, 9208, 1684}, {2224, 9088, 976}, {3244, 8584, 460}, {4456, 7696, 136}, {5860, 6424, 4}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{10, 2316, 1770}, {78, 2692, 1326}, {210, 2940, 946}, {406, 3060, 630}, {666, 3052, 378}, {990, 2916, 190}, {1378, 2652, 66}, {1830, 2260, 6}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 4788, 3366}, {198, 5492, 2502}, {486, 5940, 1766}, {902, 6132, 1158}, {1446, 6068, 678}, {2118, 5748, 326}, {2918, 5172, 102}, {3846, 4340, 6}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 4738, 3423}, {183, 5458, 2551}, {463, 5922, 1807}, {871, 6130, 1191}, {1407, 6082, 703}, {2071, 5778, 343}, {2863, 5218, 111}, {3783, 4402, 7}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 7210, 5019}, {303, 8258, 3727}, {739, 8922, 2627}, {1367, 9202, 1719}, {2187, 9098, 1003}, {3199, 8610, 479}, {4403, 7738, 147}, {5799, 6482, 7}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{25, 4686, 3481}, {169, 5422, 2601}, {441, 5902, 1849}, {841, 6126, 1225}, {1369, 6094, 729}, {2025, 5806, 361}, {2809, 5262, 121}, {3721, 4462, 9}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 7158, 5077}, {289, 8222, 3777}, {717, 8902, 2669}, {1337, 9198, 1753}, {2149, 9110, 1029}, {3153, 8638, 497}, {4349, 7782, 157}, {5737, 6542, 9}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 7108, 5134}, {274, 8188, 3826}, {694, 8884, 2710}, {1306, 9196, 1786}, {2110, 9124, 1054}, {3106, 8668, 514}, {4294, 7828, 166}, {5674, 6604, 10}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{74, 9580, 6730}, {394, 10988, 5002}, {970, 11884, 3530}, {1802, 12268, 2314}, {2890, 12140, 1354}, {4234, 11500, 650}, {5834, 10348, 202}, {7690, 8684, 10}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{6, 2260, 1830}, {66, 2652, 1378}, {190, 2916, 990}, {378, 3052, 666}, {630, 3060, 406}, {946, 2940, 210}, {1326, 2692, 78}, {1770, 2316, 10}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 4732, 3426}, {186, 5452, 2554}, {466, 5916, 1810}, {874, 6124, 1194}, {1410, 6076, 706}, {2074, 5772, 346}, {2866, 5212, 114}, {3786, 4396, 10}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{27, 4682, 3483}, {171, 5418, 2603}, {443, 5898, 1851}, {843, 6122, 1227}, {1371, 6090, 731}, {2027, 5802, 363}, {2811, 5258, 123}, {3723, 4458, 11}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{55, 7154, 5079}, {291, 8218, 3779}, {719, 8898, 2671}, {1339, 9194, 1755}, {2151, 9106, 1031}, {3155, 8634, 499}, {4351, 7778, 159}, {5739, 6538, 11}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{21, 4630, 3541}, {157, 5382, 2653}, {421, 5878, 1893}, {813, 6118, 1261}, {1333, 6102, 757}, {1981, 5830, 381}, {2757, 5302, 133}, {3661, 4518, 13}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 7102, 5137}, {277, 8182, 3829}, {697, 8878, 2713}, {1309, 9190, 1789}, {2113, 9118, 1057}, {3109, 8662, 517}, {4297, 7822, 169}, {5677, 6598, 13}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{42, 7052, 5194}, {262, 8148, 3878}, {674, 8860, 2754}, {1278, 9188, 1822}, {2074, 9132, 1082}, {3062, 8692, 534}, {4242, 7868, 178}, {5614, 6660, 14}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{70, 9524, 6790}, {382, 10948, 5054}, {950, 11860, 3574}, {1774, 12260, 2350}, {2854, 12148, 1382}, {4190, 11524, 670}, {5782, 10388, 214}, {7630, 8740, 14}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{16, 4576, 3600}, {144, 5344, 2704}, {400, 5856, 1936}, {784, 6112, 1296}, {1296, 6112, 784}, {1936, 5856, 400}, {2704, 5344, 144}, {3600, 4576, 16}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{44, 7048, 5196}, {264, 8144, 3880}, {676, 8856, 2756}, {1280, 9184, 1824}, {2076, 9128, 1084}, {3064, 8688, 536}, {4244, 7864, 180}, {5616, 6656, 16}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 6998, 5253}, {249, 8110, 3929}, {653, 8838, 2797}, {1249, 9182, 1857}, {2037, 9142, 1109}, {3017, 8718, 553}, {4189, 7910, 189}, {5553, 6718, 17}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{65, 9470, 6849}, {369, 10910, 5105}, {929, 11838, 3617}, {1745, 12254, 2385}, {2817, 12158, 1409}, {4145, 11550, 689}, {5729, 10430, 225}, {7569, 8798, 17}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 6946, 5311}, {235, 8074, 3979}, {631, 8818, 2839}, {1219, 9178, 1891}, {1999, 9154, 1135}, {2971, 8746, 571}, {4135, 7954, 199}, {5491, 6778, 19}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 9418, 6907}, {355, 10874, 5155}, {907, 11818, 3659}, {1715, 12250, 2419}, {2779, 12170, 1435}, {4099, 11578, 707}, {5675, 10474, 235}, {7507, 8858, 19}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 9368, 6964}, {340, 10840, 5204}, {884, 11800, 3700}, {1684, 12248, 2452}, {2740, 12184, 1460}, {4052, 11608, 724}, {5620, 10520, 244}, {7444, 8920, 20}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{80, 11840, 8560}, {460, 13640, 6380}, {1160, 14800, 4520}, {2180, 15320, 2980}, {3520, 15200, 1760}, {5180, 14440, 860}, {7160, 13040, 280}, {9460, 11000, 20}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{3, 2202, 1891}, {55, 2610, 1431}, {171, 2890, 1035}, {351, 3042, 703}, {595, 3066, 435}, {903, 2962, 231}, {1275, 2730, 91}, {1711, 2370, 15}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 4674, 3487}, {175, 5410, 2607}, {447, 5890, 1855}, {847, 6114, 1231}, {1375, 6082, 735}, {2031, 5794, 367}, {2815, 5250, 127}, {3727, 4450, 15}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{24, 4624, 3544}, {160, 5376, 2656}, {424, 5872, 1896}, {816, 6112, 1264}, {1336, 6096, 760}, {1984, 5824, 384}, {2760, 5296, 136}, {3664, 4512, 16}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 7096, 5140}, {280, 8176, 3832}, {700, 8872, 2716}, {1312, 9184, 1792}, {2116, 9112, 1060}, {3112, 8656, 520}, {4300, 7816, 172}, {5680, 6592, 16}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{18, 4572, 3602}, {146, 5340, 2706}, {402, 5852, 1938}, {786, 6108, 1298}, {1298, 6108, 786}, {1938, 5852, 402}, {2706, 5340, 146}, {3602, 4572, 18}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 7044, 5198}, {266, 8140, 3882}, {678, 8852, 2758}, {1282, 9180, 1826}, {2078, 9124, 1086}, {3066, 8684, 538}, {4246, 7860, 182}, {5618, 6652, 18}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{39, 6994, 5255}, {251, 8106, 3931}, {655, 8834, 2799}, {1251, 9178, 1859}, {2039, 9138, 1111}, {3019, 8714, 555}, {4191, 7906, 191}, {5555, 6714, 19}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{67, 9466, 6851}, {371, 10906, 5107}, {931, 11834, 3619}, {1747, 12250, 2387}, {2819, 12154, 1411}, {4147, 11546, 691}, {5731, 10426, 227}, {7571, 8794, 19}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{13, 4518, 3661}, {133, 5302, 2757}, {381, 5830, 1981}, {757, 6102, 1333}, {1261, 6118, 813}, {1893, 5878, 421}, {2653, 5382, 157}, {3541, 4630, 21}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{41, 6990, 5257}, {253, 8102, 3933}, {657, 8830, 2801}, {1253, 9174, 1861}, {2041, 9134, 1113}, {3021, 8710, 557}, {4193, 7902, 193}, {5557, 6710, 21}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 6940, 5314}, {238, 8068, 3982}, {634, 8812, 2842}, {1222, 9172, 1894}, {2002, 9148, 1138}, {2974, 8740, 574}, {4138, 7948, 202}, {5494, 6772, 22}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{62, 9412, 6910}, {358, 10868, 5158}, {910, 11812, 3662}, {1718, 12244, 2422}, {2782, 12164, 1438}, {4102, 11572, 710}, {5678, 10468, 238}, {7510, 8852, 22}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 6888, 5372}, {224, 8032, 4032}, {612, 8792, 2884}, {1192, 9168, 1928}, {1964, 9160, 1164}, {2928, 8768, 592}, {4084, 7992, 212}, {5432, 6832, 24}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 9360, 6968}, {344, 10832, 5208}, {888, 11792, 3704}, {1688, 12240, 2456}, {2744, 12176, 1464}, {4056, 11600, 728}, {5624, 10512, 248}, {7448, 8912, 24}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 9310, 7025}, {329, 10798, 5257}, {865, 11774, 3745}, {1657, 12238, 2489}, {2705, 12190, 1489}, {4009, 11630, 745}, {5569, 10558, 257}, {7385, 8974, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{77, 11782, 8621}, {449, 13598, 6433}, {1141, 14774, 4565}, {2153, 15310, 3017}, {3485, 15206, 1789}, {5137, 14462, 881}, {7109, 13078, 293}, {9401, 11054, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{9, 4462, 3721}, {121, 5262, 2809}, {361, 5806, 2025}, {729, 6094, 1369}, {1225, 6126, 841}, {1849, 5902, 441}, {2601, 5422, 169}, {3481, 4686, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 6934, 5317}, {241, 8062, 3985}, {637, 8806, 2845}, {1225, 9166, 1897}, {2005, 9142, 1141}, {2977, 8734, 577}, {4141, 7942, 205}, {5497, 6766, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{30, 6884, 5374}, {226, 8028, 4034}, {614, 8788, 2886}, {1194, 9164, 1930}, {1966, 9156, 1166}, {2930, 8764, 594}, {4086, 7988, 214}, {5434, 6828, 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}},
+ {{58, 9356, 6970}, {346, 10828, 5210}, {890, 11788, 3706}, {1690, 12236, 2458}, {2746, 12172, 1466}, {4058, 11596, 730}, {5626, 10508, 250}, {7450, 8908, 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}},
+ {{24, 6832, 5432}, {212, 7992, 4084}, {592, 8768, 2928}, {1164, 9160, 1964}, {1928, 9168, 1192}, {2884, 8792, 612}, {4032, 8032, 224}, {5372, 6888, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 9304, 7028}, {332, 10792, 5260}, {868, 11768, 3748}, {1660, 12232, 2492}, {2708, 12184, 1492}, {4012, 11624, 748}, {5572, 10552, 260}, {7388, 8968, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{45, 9254, 7085}, {317, 10758, 5309}, {845, 11750, 3789}, {1629, 12230, 2525}, {2669, 12198, 1517}, {3965, 11654, 765}, {5517, 10598, 269}, {7325, 9030, 29}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{73, 11726, 8681}, {437, 13558, 6485}, {1121, 14750, 4609}, {2125, 15302, 3053}, {3449, 15214, 1817}, {5093, 14486, 901}, {7057, 13118, 305}, {9341, 11110, 29}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{19, 6778, 5491}, {199, 7954, 4135}, {571, 8746, 2971}, {1135, 9154, 1999}, {1891, 9178, 1219}, {2839, 8818, 631}, {3979, 8074, 235}, {5311, 6946, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 9250, 7087}, {319, 10754, 5311}, {847, 11746, 3791}, {1631, 12226, 2527}, {2671, 12194, 1519}, {3967, 11650, 767}, {5519, 10594, 271}, {7327, 9026, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{40, 9200, 7144}, {304, 10720, 5360}, {824, 11728, 3832}, {1600, 12224, 2560}, {2632, 12208, 1544}, {3920, 11680, 784}, {5464, 10640, 280}, {7264, 9088, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{68, 11672, 8740}, {424, 13520, 6536}, {1100, 14728, 4652}, {2096, 15296, 3088}, {3412, 15224, 1844}, {5048, 14512, 920}, {7004, 13160, 316}, {9280, 11168, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 9148, 7202}, {290, 10684, 5410}, {802, 11708, 3874}, {1570, 12220, 2594}, {2594, 12220, 1570}, {3874, 11708, 802}, {5410, 10684, 290}, {7202, 9148, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{62, 11620, 8798}, {410, 13484, 6586}, {1078, 14708, 4694}, {2066, 15292, 3122}, {3374, 15236, 1870}, {5002, 14540, 938}, {6950, 13204, 326}, {9218, 11228, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{55, 11570, 8855}, {395, 13450, 6635}, {1055, 14690, 4735}, {2035, 15290, 3155}, {3335, 15250, 1895}, {4955, 14570, 955}, {6895, 13250, 335}, {9155, 11290, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{83, 14042, 10451}, {515, 16250, 7811}, {1331, 17690, 5555}, {2531, 18362, 3683}, {4115, 18266, 2195}, {6083, 17402, 1091}, {8435, 15770, 371}, {11171, 13370, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{1, 2142, 1953}, {45, 2566, 1485}, {153, 2862, 1081}, {325, 3030, 741}, {561, 3070, 465}, {861, 2982, 253}, {1225, 2766, 105}, {1653, 2422, 21}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{29, 4614, 3549}, {165, 5366, 2661}, {429, 5862, 1901}, {821, 6102, 1269}, {1341, 6086, 765}, {1989, 5814, 389}, {2765, 5286, 141}, {3669, 4502, 21}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{22, 4564, 3606}, {150, 5332, 2710}, {406, 5844, 1942}, {790, 6100, 1302}, {1302, 6100, 790}, {1942, 5844, 406}, {2710, 5332, 150}, {3606, 4564, 22}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 7036, 5202}, {270, 8132, 3886}, {682, 8844, 2762}, {1286, 9172, 1830}, {2082, 9116, 1090}, {3070, 8676, 542}, {4250, 7852, 186}, {5622, 6644, 22}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{16, 4512, 3664}, {136, 5296, 2760}, {384, 5824, 1984}, {760, 6096, 1336}, {1264, 6112, 816}, {1896, 5872, 424}, {2656, 5376, 160}, {3544, 4624, 24}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{44, 6984, 5260}, {256, 8096, 3936}, {660, 8824, 2804}, {1256, 9168, 1864}, {2044, 9128, 1116}, {3024, 8704, 560}, {4196, 7896, 196}, {5560, 6704, 24}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 6934, 5317}, {241, 8062, 3985}, {637, 8806, 2845}, {1225, 9166, 1897}, {2005, 9142, 1141}, {2977, 8734, 577}, {4141, 7942, 205}, {5497, 6766, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{65, 9406, 6913}, {361, 10862, 5161}, {913, 11806, 3665}, {1721, 12238, 2425}, {2785, 12158, 1441}, {4105, 11566, 713}, {5681, 10462, 241}, {7513, 8846, 25}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{11, 4458, 3723}, {123, 5258, 2811}, {363, 5802, 2027}, {731, 6090, 1371}, {1227, 6122, 843}, {1851, 5898, 443}, {2603, 5418, 171}, {3483, 4682, 27}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{39, 6930, 5319}, {243, 8058, 3987}, {639, 8802, 2847}, {1227, 9162, 1899}, {2007, 9138, 1143}, {2979, 8730, 579}, {4143, 7938, 207}, {5499, 6762, 27}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{32, 6880, 5376}, {228, 8024, 4036}, {616, 8784, 2888}, {1196, 9160, 1932}, {1968, 9152, 1168}, {2932, 8760, 596}, {4088, 7984, 216}, {5436, 6824, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{60, 9352, 6972}, {348, 10824, 5212}, {892, 11784, 3708}, {1692, 12232, 2460}, {2748, 12168, 1468}, {4060, 11592, 732}, {5628, 10504, 252}, {7452, 8904, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{26, 6828, 5434}, {214, 7988, 4086}, {594, 8764, 2930}, {1166, 9156, 1966}, {1930, 9164, 1194}, {2886, 8788, 614}, {4034, 8028, 226}, {5374, 6884, 30}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{54, 9300, 7030}, {334, 10788, 5262}, {870, 11764, 3750}, {1662, 12228, 2494}, {2710, 12180, 1494}, {4014, 11620, 750}, {5574, 10548, 262}, {7390, 8964, 30}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 9250, 7087}, {319, 10754, 5311}, {847, 11746, 3791}, {1631, 12226, 2527}, {2671, 12194, 1519}, {3967, 11650, 767}, {5519, 10594, 271}, {7327, 9026, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{75, 11722, 8683}, {439, 13554, 6487}, {1123, 14746, 4611}, {2127, 15298, 3055}, {3451, 15210, 1819}, {5095, 14482, 903}, {7059, 13114, 307}, {9343, 11106, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{7, 4402, 3783}, {111, 5218, 2863}, {343, 5778, 2071}, {703, 6082, 1407}, {1191, 6130, 871}, {1807, 5922, 463}, {2551, 5458, 183}, {3423, 4738, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 6874, 5379}, {231, 8018, 4039}, {619, 8778, 2891}, {1199, 9154, 1935}, {1971, 9146, 1171}, {2935, 8754, 599}, {4091, 7978, 219}, {5439, 6818, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 6824, 5436}, {216, 7984, 4088}, {596, 8760, 2932}, {1168, 9152, 1968}, {1932, 9160, 1196}, {2888, 8784, 616}, {4036, 8024, 228}, {5376, 6880, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 9296, 7032}, {336, 10784, 5264}, {872, 11760, 3752}, {1664, 12224, 2496}, {2712, 12176, 1496}, {4016, 11616, 752}, {5576, 10544, 264}, {7392, 8960, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{22, 6772, 5494}, {202, 7948, 4138}, {574, 8740, 2974}, {1138, 9148, 2002}, {1894, 9172, 1222}, {2842, 8812, 634}, {3982, 8068, 238}, {5314, 6940, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 9244, 7090}, {322, 10748, 5314}, {850, 11740, 3794}, {1634, 12220, 2530}, {2674, 12188, 1522}, {3970, 11644, 770}, {5522, 10588, 274}, {7330, 9020, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{43, 9194, 7147}, {307, 10714, 5363}, {827, 11722, 3835}, {1603, 12218, 2563}, {2635, 12202, 1547}, {3923, 11674, 787}, {5467, 10634, 283}, {7267, 9082, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{71, 11666, 8743}, {427, 13514, 6539}, {1103, 14722, 4655}, {2099, 15290, 3091}, {3415, 15218, 1847}, {5051, 14506, 923}, {7007, 13154, 319}, {9283, 11162, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{17, 6718, 5553}, {189, 7910, 4189}, {553, 8718, 3017}, {1109, 9142, 2037}, {1857, 9182, 1249}, {2797, 8838, 653}, {3929, 8110, 249}, {5253, 6998, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{45, 9190, 7149}, {309, 10710, 5365}, {829, 11718, 3837}, {1605, 12214, 2565}, {2637, 12198, 1549}, {3925, 11670, 789}, {5469, 10630, 285}, {7269, 9078, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 9140, 7206}, {294, 10676, 5414}, {806, 11700, 3878}, {1574, 12212, 2598}, {2598, 12212, 1574}, {3878, 11700, 806}, {5414, 10676, 294}, {7206, 9140, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{66, 11612, 8802}, {414, 13476, 6590}, {1082, 14700, 4698}, {2070, 15284, 3126}, {3378, 15228, 1874}, {5006, 14532, 942}, {6954, 13196, 330}, {9222, 11220, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{32, 9088, 7264}, {280, 10640, 5464}, {784, 11680, 3920}, {1544, 12208, 2632}, {2560, 12224, 1600}, {3832, 11728, 824}, {5360, 10720, 304}, {7144, 9200, 40}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{60, 11560, 8860}, {400, 13440, 6640}, {1060, 14680, 4740}, {2040, 15280, 3160}, {3340, 15240, 1900}, {4960, 14560, 960}, {6900, 13240, 340}, {9160, 11280, 40}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 11510, 8917}, {385, 13406, 6689}, {1037, 14662, 4781}, {2009, 15278, 3193}, {3301, 15254, 1925}, {4913, 14590, 977}, {6845, 13286, 349}, {9097, 11342, 41}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{81, 13982, 10513}, {505, 16206, 7865}, {1313, 17662, 5601}, {2505, 18350, 3721}, {4081, 18270, 2225}, {6041, 17422, 1113}, {8385, 15806, 385}, {11113, 13422, 41}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{4, 4344, 3844}, {100, 5176, 2916}, {324, 5752, 2116}, {676, 6072, 1444}, {1156, 6136, 900}, {1764, 5944, 484}, {2500, 5496, 196}, {3364, 4792, 36}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{32, 6816, 5440}, {220, 7976, 4092}, {600, 8752, 2936}, {1172, 9144, 1972}, {1936, 9152, 1200}, {2892, 8776, 620}, {4040, 8016, 232}, {5380, 6872, 36}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{25, 6766, 5497}, {205, 7942, 4141}, {577, 8734, 2977}, {1141, 9142, 2005}, {1897, 9166, 1225}, {2845, 8806, 637}, {3985, 8062, 241}, {5317, 6934, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 9238, 7093}, {325, 10742, 5317}, {853, 11734, 3797}, {1637, 12214, 2533}, {2677, 12182, 1525}, {3973, 11638, 773}, {5525, 10582, 277}, {7333, 9014, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{19, 6714, 5555}, {191, 7906, 4191}, {555, 8714, 3019}, {1111, 9138, 2039}, {1859, 9178, 1251}, {2799, 8834, 655}, {3931, 8106, 251}, {5255, 6994, 39}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 9186, 7151}, {311, 10706, 5367}, {831, 11714, 3839}, {1607, 12210, 2567}, {2639, 12194, 1551}, {3927, 11666, 791}, {5471, 10626, 287}, {7271, 9074, 39}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{40, 9136, 7208}, {296, 10672, 5416}, {808, 11696, 3880}, {1576, 12208, 2600}, {2600, 12208, 1576}, {3880, 11696, 808}, {5416, 10672, 296}, {7208, 9136, 40}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{68, 11608, 8804}, {416, 13472, 6592}, {1084, 14696, 4700}, {2072, 15280, 3128}, {3380, 15224, 1876}, {5008, 14528, 944}, {6956, 13192, 332}, {9224, 11216, 40}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{14, 6660, 5614}, {178, 7868, 4242}, {534, 8692, 3062}, {1082, 9132, 2074}, {1822, 9188, 1278}, {2754, 8860, 674}, {3878, 8148, 262}, {5194, 7052, 42}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{42, 9132, 7210}, {298, 10668, 5418}, {810, 11692, 3882}, {1578, 12204, 2602}, {2602, 12204, 1578}, {3882, 11692, 810}, {5418, 10668, 298}, {7210, 9132, 42}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 9082, 7267}, {283, 10634, 5467}, {787, 11674, 3923}, {1547, 12202, 2635}, {2563, 12218, 1603}, {3835, 11722, 827}, {5363, 10714, 307}, {7147, 9194, 43}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{63, 11554, 8863}, {403, 13434, 6643}, {1063, 14674, 4743}, {2043, 15274, 3163}, {3343, 15234, 1903}, {4963, 14554, 963}, {6903, 13234, 343}, {9163, 11274, 43}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{29, 9030, 7325}, {269, 10598, 5517}, {765, 11654, 3965}, {1517, 12198, 2669}, {2525, 12230, 1629}, {3789, 11750, 845}, {5309, 10758, 317}, {7085, 9254, 45}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{57, 11502, 8921}, {389, 13398, 6693}, {1041, 14654, 4785}, {2013, 15270, 3197}, {3305, 15246, 1929}, {4917, 14582, 981}, {6849, 13278, 353}, {9101, 11334, 45}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 11452, 8978}, {374, 13364, 6742}, {1018, 14636, 4826}, {1982, 15268, 3230}, {3266, 15260, 1954}, {4870, 14612, 998}, {6794, 13324, 362}, {9038, 11396, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{78, 13924, 10574}, {494, 16164, 7918}, {1294, 17636, 5646}, {2478, 18340, 3758}, {4046, 18276, 2254}, {5998, 17444, 1134}, {8334, 15844, 398}, {11054, 13476, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{10, 6604, 5674}, {166, 7828, 4294}, {514, 8668, 3106}, {1054, 9124, 2110}, {1786, 9196, 1306}, {2710, 8884, 694}, {3826, 8188, 274}, {5134, 7108, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 9076, 7270}, {286, 10628, 5470}, {790, 11668, 3926}, {1550, 12196, 2638}, {2566, 12212, 1606}, {3838, 11716, 830}, {5366, 10708, 310}, {7150, 9188, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 9026, 7327}, {271, 10594, 5519}, {767, 11650, 3967}, {1519, 12194, 2671}, {2527, 12226, 1631}, {3791, 11746, 847}, {5311, 10754, 319}, {7087, 9250, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 11498, 8923}, {391, 13394, 6695}, {1043, 14650, 4787}, {2015, 15266, 3199}, {3307, 15242, 1931}, {4919, 14578, 983}, {6851, 13274, 355}, {9103, 11330, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{25, 8974, 7385}, {257, 10558, 5569}, {745, 11630, 4009}, {1489, 12190, 2705}, {2489, 12238, 1657}, {3745, 11774, 865}, {5257, 10798, 329}, {7025, 9310, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 11446, 8981}, {377, 13358, 6745}, {1021, 14630, 4829}, {1985, 15262, 3233}, {3269, 15254, 1957}, {4873, 14606, 1001}, {6797, 13318, 365}, {9041, 11390, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 11396, 9038}, {362, 13324, 6794}, {998, 14612, 4870}, {1954, 15260, 3266}, {3230, 15268, 1982}, {4826, 14636, 1018}, {6742, 13364, 374}, {8978, 11452, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{74, 13868, 10634}, {482, 16124, 7970}, {1274, 17612, 5690}, {2450, 18332, 3794}, {4010, 18284, 2282}, {5954, 17468, 1154}, {8282, 15884, 410}, {10994, 13532, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{20, 8920, 7444}, {244, 10520, 5620}, {724, 11608, 4052}, {1460, 12184, 2740}, {2452, 12248, 1684}, {3700, 11800, 884}, {5204, 10840, 340}, {6964, 9368, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{48, 11392, 9040}, {364, 13320, 6796}, {1000, 14608, 4872}, {1956, 15256, 3268}, {3232, 15264, 1984}, {4828, 14632, 1020}, {6744, 13360, 376}, {8980, 11448, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{41, 11342, 9097}, {349, 13286, 6845}, {977, 14590, 4913}, {1925, 15254, 3301}, {3193, 15278, 2009}, {4781, 14662, 1037}, {6689, 13406, 385}, {8917, 11510, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{69, 13814, 10693}, {469, 16086, 8021}, {1253, 17590, 5733}, {2421, 18326, 3829}, {3973, 18294, 2309}, {5909, 17494, 1173}, {8229, 15926, 421}, {10933, 13590, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 11290, 9155}, {335, 13250, 6895}, {955, 14570, 4955}, {1895, 15250, 3335}, {3155, 15290, 2035}, {4735, 14690, 1055}, {6635, 13450, 395}, {8855, 11570, 55}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{63, 13762, 10751}, {455, 16050, 8071}, {1231, 17570, 5775}, {2391, 18322, 3863}, {3935, 18306, 2335}, {5863, 17522, 1191}, {8175, 15970, 431}, {10871, 13650, 55}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 13712, 10808}, {440, 16016, 8120}, {1208, 17552, 5816}, {2360, 18320, 3896}, {3896, 18320, 2360}, {5816, 17552, 1208}, {8120, 16016, 440}, {10808, 13712, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{84, 16184, 12404}, {560, 18816, 9296}, {1484, 20552, 6636}, {2856, 21392, 4424}, {4676, 21336, 2660}, {6944, 20384, 1344}, {9660, 18536, 476}, {12824, 15792, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{0, 2080, 2016}, {36, 2520, 1540}, {136, 2832, 1128}, {300, 3016, 780}, {528, 3072, 496}, {820, 3000, 276}, {1176, 2800, 120}, {1596, 2472, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 4552, 3612}, {156, 5320, 2716}, {412, 5832, 1948}, {796, 6088, 1308}, {1308, 6088, 796}, {1948, 5832, 412}, {2716, 5320, 156}, {3612, 4552, 28}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{21, 4502, 3669}, {141, 5286, 2765}, {389, 5814, 1989}, {765, 6086, 1341}, {1269, 6102, 821}, {1901, 5862, 429}, {2661, 5366, 165}, {3549, 4614, 29}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 6974, 5265}, {261, 8086, 3941}, {665, 8814, 2809}, {1261, 9158, 1869}, {2049, 9118, 1121}, {3029, 8694, 565}, {4201, 7886, 201}, {5565, 6694, 29}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{15, 4450, 3727}, {127, 5250, 2815}, {367, 5794, 2031}, {735, 6082, 1375}, {1231, 6114, 847}, {1855, 5890, 447}, {2607, 5410, 175}, {3487, 4674, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{43, 6922, 5323}, {247, 8050, 3991}, {643, 8794, 2851}, {1231, 9154, 1903}, {2011, 9130, 1147}, {2983, 8722, 583}, {4147, 7930, 211}, {5503, 6754, 31}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{36, 6872, 5380}, {232, 8016, 4040}, {620, 8776, 2892}, {1200, 9152, 1936}, {1972, 9144, 1172}, {2936, 8752, 600}, {4092, 7976, 220}, {5440, 6816, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{64, 9344, 6976}, {352, 10816, 5216}, {896, 11776, 3712}, {1696, 12224, 2464}, {2752, 12160, 1472}, {4064, 11584, 736}, {5632, 10496, 256}, {7456, 8896, 32}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{10, 4396, 3786}, {114, 5212, 2866}, {346, 5772, 2074}, {706, 6076, 1410}, {1194, 6124, 874}, {1810, 5916, 466}, {2554, 5452, 186}, {3426, 4732, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 6868, 5382}, {234, 8012, 4042}, {622, 8772, 2894}, {1202, 9148, 1938}, {1974, 9140, 1174}, {2938, 8748, 602}, {4094, 7972, 222}, {5442, 6812, 34}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 6818, 5439}, {219, 7978, 4091}, {599, 8754, 2935}, {1171, 9146, 1971}, {1935, 9154, 1199}, {2891, 8778, 619}, {4039, 8018, 231}, {5379, 6874, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 9290, 7035}, {339, 10778, 5267}, {875, 11754, 3755}, {1667, 12218, 2499}, {2715, 12170, 1499}, {4019, 11610, 755}, {5579, 10538, 267}, {7395, 8954, 35}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{25, 6766, 5497}, {205, 7942, 4141}, {577, 8734, 2977}, {1141, 9142, 2005}, {1897, 9166, 1225}, {2845, 8806, 637}, {3985, 8062, 241}, {5317, 6934, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 9238, 7093}, {325, 10742, 5317}, {853, 11734, 3797}, {1637, 12214, 2533}, {2677, 12182, 1525}, {3973, 11638, 773}, {5525, 10582, 277}, {7333, 9014, 37}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 9188, 7150}, {310, 10708, 5366}, {830, 11716, 3838}, {1606, 12212, 2566}, {2638, 12196, 1550}, {3926, 11668, 790}, {5470, 10628, 286}, {7270, 9076, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{74, 11660, 8746}, {430, 13508, 6542}, {1106, 14716, 4658}, {2102, 15284, 3094}, {3418, 15212, 1850}, {5054, 14500, 926}, {7010, 13148, 322}, {9286, 11156, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{6, 4340, 3846}, {102, 5172, 2918}, {326, 5748, 2118}, {678, 6068, 1446}, {1158, 6132, 902}, {1766, 5940, 486}, {2502, 5492, 198}, {3366, 4788, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 6812, 5442}, {222, 7972, 4094}, {602, 8748, 2938}, {1174, 9140, 1974}, {1938, 9148, 1202}, {2894, 8772, 622}, {4042, 8012, 234}, {5382, 6868, 38}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{27, 6762, 5499}, {207, 7938, 4143}, {579, 8730, 2979}, {1143, 9138, 2007}, {1899, 9162, 1227}, {2847, 8802, 639}, {3987, 8058, 243}, {5319, 6930, 39}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{55, 9234, 7095}, {327, 10738, 5319}, {855, 11730, 3799}, {1639, 12210, 2535}, {2679, 12178, 1527}, {3975, 11634, 775}, {5527, 10578, 279}, {7335, 9010, 39}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{21, 6710, 5557}, {193, 7902, 4193}, {557, 8710, 3021}, {1113, 9134, 2041}, {1861, 9174, 1253}, {2801, 8830, 657}, {3933, 8102, 253}, {5257, 6990, 41}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 9182, 7153}, {313, 10702, 5369}, {833, 11710, 3841}, {1609, 12206, 2569}, {2641, 12190, 1553}, {3929, 11662, 793}, {5473, 10622, 289}, {7273, 9070, 41}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{42, 9132, 7210}, {298, 10668, 5418}, {810, 11692, 3882}, {1578, 12204, 2602}, {2602, 12204, 1578}, {3882, 11692, 810}, {5418, 10668, 298}, {7210, 9132, 42}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{70, 11604, 8806}, {418, 13468, 6594}, {1086, 14692, 4702}, {2074, 15276, 3130}, {3382, 15220, 1878}, {5010, 14524, 946}, {6958, 13188, 334}, {9226, 11212, 42}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{16, 6656, 5616}, {180, 7864, 4244}, {536, 8688, 3064}, {1084, 9128, 2076}, {1824, 9184, 1280}, {2756, 8856, 676}, {3880, 8144, 264}, {5196, 7048, 44}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{44, 9128, 7212}, {300, 10664, 5420}, {812, 11688, 3884}, {1580, 12200, 2604}, {2604, 12200, 1580}, {3884, 11688, 812}, {5420, 10664, 300}, {7212, 9128, 44}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 9078, 7269}, {285, 10630, 5469}, {789, 11670, 3925}, {1549, 12198, 2637}, {2565, 12214, 1605}, {3837, 11718, 829}, {5365, 10710, 309}, {7149, 9190, 45}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{65, 11550, 8865}, {405, 13430, 6645}, {1065, 14670, 4745}, {2045, 15270, 3165}, {3345, 15230, 1905}, {4965, 14550, 965}, {6905, 13230, 345}, {9165, 11270, 45}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 9026, 7327}, {271, 10594, 5519}, {767, 11650, 3967}, {1519, 12194, 2671}, {2527, 12226, 1631}, {3791, 11746, 847}, {5311, 10754, 319}, {7087, 9250, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 11498, 8923}, {391, 13394, 6695}, {1043, 14650, 4787}, {2015, 15266, 3199}, {3307, 15242, 1931}, {4919, 14578, 983}, {6851, 13274, 355}, {9103, 11330, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 11448, 8980}, {376, 13360, 6744}, {1020, 14632, 4828}, {1984, 15264, 3232}, {3268, 15256, 1956}, {4872, 14608, 1000}, {6796, 13320, 364}, {9040, 11392, 48}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{80, 13920, 10576}, {496, 16160, 7920}, {1296, 17632, 5648}, {2480, 18336, 3760}, {4048, 18272, 2256}, {6000, 17440, 1136}, {8336, 15840, 400}, {11056, 13472, 48}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{3, 4282, 3907}, {91, 5130, 2971}, {307, 5722, 2163}, {651, 6058, 1483}, {1123, 6138, 931}, {1723, 5962, 507}, {2451, 5530, 211}, {3307, 4842, 43}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 6754, 5503}, {211, 7930, 4147}, {583, 8722, 2983}, {1147, 9130, 2011}, {1903, 9154, 1231}, {2851, 8794, 643}, {3991, 8050, 247}, {5323, 6922, 43}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{24, 6704, 5560}, {196, 7896, 4196}, {560, 8704, 3024}, {1116, 9128, 2044}, {1864, 9168, 1256}, {2804, 8824, 660}, {3936, 8096, 256}, {5260, 6984, 44}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 9176, 7156}, {316, 10696, 5372}, {836, 11704, 3844}, {1612, 12200, 2572}, {2644, 12184, 1556}, {3932, 11656, 796}, {5476, 10616, 292}, {7276, 9064, 44}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{18, 6652, 5618}, {182, 7860, 4246}, {538, 8684, 3066}, {1086, 9124, 2078}, {1826, 9180, 1282}, {2758, 8852, 678}, {3882, 8140, 266}, {5198, 7044, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 9124, 7214}, {302, 10660, 5422}, {814, 11684, 3886}, {1582, 12196, 2606}, {2606, 12196, 1582}, {3886, 11684, 814}, {5422, 10660, 302}, {7214, 9124, 46}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{39, 9074, 7271}, {287, 10626, 5471}, {791, 11666, 3927}, {1551, 12194, 2639}, {2567, 12210, 1607}, {3839, 11714, 831}, {5367, 10706, 311}, {7151, 9186, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{67, 11546, 8867}, {407, 13426, 6647}, {1067, 14666, 4747}, {2047, 15266, 3167}, {3347, 15226, 1907}, {4967, 14546, 967}, {6907, 13226, 347}, {9167, 11266, 47}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{13, 6598, 5677}, {169, 7822, 4297}, {517, 8662, 3109}, {1057, 9118, 2113}, {1789, 9190, 1309}, {2713, 8878, 697}, {3829, 8182, 277}, {5137, 7102, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{41, 9070, 7273}, {289, 10622, 5473}, {793, 11662, 3929}, {1553, 12190, 2641}, {2569, 12206, 1609}, {3841, 11710, 833}, {5369, 10702, 313}, {7153, 9182, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 9020, 7330}, {274, 10588, 5522}, {770, 11644, 3970}, {1522, 12188, 2674}, {2530, 12220, 1634}, {3794, 11740, 850}, {5314, 10748, 322}, {7090, 9244, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{62, 11492, 8926}, {394, 13388, 6698}, {1046, 14644, 4790}, {2018, 15260, 3202}, {3310, 15236, 1934}, {4922, 14572, 986}, {6854, 13268, 358}, {9106, 11324, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 8968, 7388}, {260, 10552, 5572}, {748, 11624, 4012}, {1492, 12184, 2708}, {2492, 12232, 1660}, {3748, 11768, 868}, {5260, 10792, 332}, {7028, 9304, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 11440, 8984}, {380, 13352, 6748}, {1024, 14624, 4832}, {1988, 15256, 3236}, {3272, 15248, 1960}, {4876, 14600, 1004}, {6800, 13312, 368}, {9044, 11384, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{49, 11390, 9041}, {365, 13318, 6797}, {1001, 14606, 4873}, {1957, 15254, 3269}, {3233, 15262, 1985}, {4829, 14630, 1021}, {6745, 13358, 377}, {8981, 11446, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{77, 13862, 10637}, {485, 16118, 7973}, {1277, 17606, 5693}, {2453, 18326, 3797}, {4013, 18278, 2285}, {5957, 17462, 1157}, {8285, 15878, 413}, {10997, 13526, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{9, 6542, 5737}, {157, 7782, 4349}, {497, 8638, 3153}, {1029, 9110, 2149}, {1753, 9198, 1337}, {2669, 8902, 717}, {3777, 8222, 289}, {5077, 7158, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 9014, 7333}, {277, 10582, 5525}, {773, 11638, 3973}, {1525, 12182, 2677}, {2533, 12214, 1637}, {3797, 11734, 853}, {5317, 10742, 325}, {7093, 9238, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{30, 8964, 7390}, {262, 10548, 5574}, {750, 11620, 4014}, {1494, 12180, 2710}, {2494, 12228, 1662}, {3750, 11764, 870}, {5262, 10788, 334}, {7030, 9300, 54}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{58, 11436, 8986}, {382, 13348, 6750}, {1026, 14620, 4834}, {1990, 15252, 3238}, {3274, 15244, 1962}, {4878, 14596, 1006}, {6802, 13308, 370}, {9046, 11380, 54}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{24, 8912, 7448}, {248, 10512, 5624}, {728, 11600, 4056}, {1464, 12176, 2744}, {2456, 12240, 1688}, {3704, 11792, 888}, {5208, 10832, 344}, {6968, 9360, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{52, 11384, 9044}, {368, 13312, 6800}, {1004, 14600, 4876}, {1960, 15248, 3272}, {3236, 15256, 1988}, {4832, 14624, 1024}, {6748, 13352, 380}, {8984, 11440, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{45, 11334, 9101}, {353, 13278, 6849}, {981, 14582, 4917}, {1929, 15246, 3305}, {3197, 15270, 2013}, {4785, 14654, 1041}, {6693, 13398, 389}, {8921, 11502, 57}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{73, 13806, 10697}, {473, 16078, 8025}, {1257, 17582, 5737}, {2425, 18318, 3833}, {3977, 18286, 2313}, {5913, 17486, 1177}, {8233, 15918, 425}, {10937, 13582, 57}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{19, 8858, 7507}, {235, 10474, 5675}, {707, 11578, 4099}, {1435, 12170, 2779}, {2419, 12250, 1715}, {3659, 11818, 907}, {5155, 10874, 355}, {6907, 9418, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 11330, 9103}, {355, 13274, 6851}, {983, 14578, 4919}, {1931, 15242, 3307}, {3199, 15266, 2015}, {4787, 14650, 1043}, {6695, 13394, 391}, {8923, 11498, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{40, 11280, 9160}, {340, 13240, 6900}, {960, 14560, 4960}, {1900, 15240, 3340}, {3160, 15280, 2040}, {4740, 14680, 1060}, {6640, 13440, 400}, {8860, 11560, 60}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{68, 13752, 10756}, {460, 16040, 8076}, {1236, 17560, 5780}, {2396, 18312, 3868}, {3940, 18296, 2340}, {5868, 17512, 1196}, {8180, 15960, 436}, {10876, 13640, 60}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{34, 11228, 9218}, {326, 13204, 6950}, {938, 14540, 5002}, {1870, 15236, 3374}, {3122, 15292, 2066}, {4694, 14708, 1078}, {6586, 13484, 410}, {8798, 11620, 62}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{62, 13700, 10814}, {446, 16004, 8126}, {1214, 17540, 5822}, {2366, 18308, 3902}, {3902, 18308, 2366}, {5822, 17540, 1214}, {8126, 16004, 446}, {10814, 13700, 62}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{55, 13650, 10871}, {431, 15970, 8175}, {1191, 17522, 5863}, {2335, 18306, 3935}, {3863, 18322, 2391}, {5775, 17570, 1231}, {8071, 16050, 455}, {10751, 13762, 63}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{83, 16122, 12467}, {551, 18770, 9351}, {1467, 20522, 6683}, {2831, 21378, 4463}, {4643, 21338, 2691}, {6903, 20402, 1367}, {9611, 18570, 491}, {12767, 15842, 63}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{1, 4222, 3969}, {81, 5086, 3025}, {289, 5694, 2209}, {625, 6046, 1521}, {1089, 6142, 961}, {1681, 5982, 529}, {2401, 5566, 225}, {3249, 4894, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{29, 6694, 5565}, {201, 7886, 4201}, {565, 8694, 3029}, {1121, 9118, 2049}, {1869, 9158, 1261}, {2809, 8814, 665}, {3941, 8086, 261}, {5265, 6974, 49}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{22, 6644, 5622}, {186, 7852, 4250}, {542, 8676, 3070}, {1090, 9116, 2082}, {1830, 9172, 1286}, {2762, 8844, 682}, {3886, 8132, 270}, {5202, 7036, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 9116, 7218}, {306, 10652, 5426}, {818, 11676, 3890}, {1586, 12188, 2610}, {2610, 12188, 1586}, {3890, 11676, 818}, {5426, 10652, 306}, {7218, 9116, 50}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{16, 6592, 5680}, {172, 7816, 4300}, {520, 8656, 3112}, {1060, 9112, 2116}, {1792, 9184, 1312}, {2716, 8872, 700}, {3832, 8176, 280}, {5140, 7096, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{44, 9064, 7276}, {292, 10616, 5476}, {796, 11656, 3932}, {1556, 12184, 2644}, {2572, 12200, 1612}, {3844, 11704, 836}, {5372, 10696, 316}, {7156, 9176, 52}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{37, 9014, 7333}, {277, 10582, 5525}, {773, 11638, 3973}, {1525, 12182, 2677}, {2533, 12214, 1637}, {3797, 11734, 853}, {5317, 10742, 325}, {7093, 9238, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{65, 11486, 8929}, {397, 13382, 6701}, {1049, 14638, 4793}, {2021, 15254, 3205}, {3313, 15230, 1937}, {4925, 14566, 989}, {6857, 13262, 361}, {9109, 11318, 53}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{11, 6538, 5739}, {159, 7778, 4351}, {499, 8634, 3155}, {1031, 9106, 2151}, {1755, 9194, 1339}, {2671, 8898, 719}, {3779, 8218, 291}, {5079, 7154, 55}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{39, 9010, 7335}, {279, 10578, 5527}, {775, 11634, 3975}, {1527, 12178, 2679}, {2535, 12210, 1639}, {3799, 11730, 855}, {5319, 10738, 327}, {7095, 9234, 55}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{32, 8960, 7392}, {264, 10544, 5576}, {752, 11616, 4016}, {1496, 12176, 2712}, {2496, 12224, 1664}, {3752, 11760, 872}, {5264, 10784, 336}, {7032, 9296, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{60, 11432, 8988}, {384, 13344, 6752}, {1028, 14616, 4836}, {1992, 15248, 3240}, {3276, 15240, 1964}, {4880, 14592, 1008}, {6804, 13304, 372}, {9048, 11376, 56}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{26, 8908, 7450}, {250, 10508, 5626}, {730, 11596, 4058}, {1466, 12172, 2746}, {2458, 12236, 1690}, {3706, 11788, 890}, {5210, 10828, 346}, {6970, 9356, 58}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{54, 11380, 9046}, {370, 13308, 6802}, {1006, 14596, 4878}, {1962, 15244, 3274}, {3238, 15252, 1990}, {4834, 14620, 1026}, {6750, 13348, 382}, {8986, 11436, 58}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 11330, 9103}, {355, 13274, 6851}, {983, 14578, 4919}, {1931, 15242, 3307}, {3199, 15266, 2015}, {4787, 14650, 1043}, {6695, 13394, 391}, {8923, 11498, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{75, 13802, 10699}, {475, 16074, 8027}, {1259, 17578, 5739}, {2427, 18314, 3835}, {3979, 18282, 2315}, {5915, 17482, 1179}, {8235, 15914, 427}, {10939, 13578, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{7, 6482, 5799}, {147, 7738, 4403}, {479, 8610, 3199}, {1003, 9098, 2187}, {1719, 9202, 1367}, {2627, 8922, 739}, {3727, 8258, 303}, {5019, 7210, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 8954, 7395}, {267, 10538, 5579}, {755, 11610, 4019}, {1499, 12170, 2715}, {2499, 12218, 1667}, {3755, 11754, 875}, {5267, 10778, 339}, {7035, 9290, 59}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 8904, 7452}, {252, 10504, 5628}, {732, 11592, 4060}, {1468, 12168, 2748}, {2460, 12232, 1692}, {3708, 11784, 892}, {5212, 10824, 348}, {6972, 9352, 60}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 11376, 9048}, {372, 13304, 6804}, {1008, 14592, 4880}, {1964, 15240, 3276}, {3240, 15248, 1992}, {4836, 14616, 1028}, {6752, 13344, 384}, {8988, 11432, 60}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{22, 8852, 7510}, {238, 10468, 5678}, {710, 11572, 4102}, {1438, 12164, 2782}, {2422, 12244, 1718}, {3662, 11812, 910}, {5158, 10868, 358}, {6910, 9412, 62}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 11324, 9106}, {358, 13268, 6854}, {986, 14572, 4922}, {1934, 15236, 3310}, {3202, 15260, 2018}, {4790, 14644, 1046}, {6698, 13388, 394}, {8926, 11492, 62}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{43, 11274, 9163}, {343, 13234, 6903}, {963, 14554, 4963}, {1903, 15234, 3343}, {3163, 15274, 2043}, {4743, 14674, 1063}, {6643, 13434, 403}, {8863, 11554, 63}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{71, 13746, 10759}, {463, 16034, 8079}, {1239, 17554, 5783}, {2399, 18306, 3871}, {3943, 18290, 2343}, {5871, 17506, 1199}, {8183, 15954, 439}, {10879, 13634, 63}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{17, 8798, 7569}, {225, 10430, 5729}, {689, 11550, 4145}, {1409, 12158, 2817}, {2385, 12254, 1745}, {3617, 11838, 929}, {5105, 10910, 369}, {6849, 9470, 65}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{45, 11270, 9165}, {345, 13230, 6905}, {965, 14550, 4965}, {1905, 15230, 3345}, {3165, 15270, 2045}, {4745, 14670, 1065}, {6645, 13430, 405}, {8865, 11550, 65}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 11220, 9222}, {330, 13196, 6954}, {942, 14532, 5006}, {1874, 15228, 3378}, {3126, 15284, 2070}, {4698, 14700, 1082}, {6590, 13476, 414}, {8802, 11612, 66}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{66, 13692, 10818}, {450, 15996, 8130}, {1218, 17532, 5826}, {2370, 18300, 3906}, {3906, 18300, 2370}, {5826, 17532, 1218}, {8130, 15996, 450}, {10818, 13692, 66}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{32, 11168, 9280}, {316, 13160, 7004}, {920, 14512, 5048}, {1844, 15224, 3412}, {3088, 15296, 2096}, {4652, 14728, 1100}, {6536, 13520, 424}, {8740, 11672, 68}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{60, 13640, 10876}, {436, 15960, 8180}, {1196, 17512, 5868}, {2340, 18296, 3940}, {3868, 18312, 2396}, {5780, 17560, 1236}, {8076, 16040, 460}, {10756, 13752, 68}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 13590, 10933}, {421, 15926, 8229}, {1173, 17494, 5909}, {2309, 18294, 3973}, {3829, 18326, 2421}, {5733, 17590, 1253}, {8021, 16086, 469}, {10693, 13814, 69}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{81, 16062, 12529}, {541, 18726, 9405}, {1449, 20494, 6729}, {2805, 21366, 4501}, {4609, 21342, 2721}, {6861, 20422, 1389}, {9561, 18606, 505}, {12709, 15894, 69}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{4, 6424, 5860}, {136, 7696, 4456}, {460, 8584, 3244}, {976, 9088, 2224}, {1684, 9208, 1396}, {2584, 8944, 760}, {3676, 8296, 316}, {4960, 7264, 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}},
+ {{32, 8896, 7456}, {256, 10496, 5632}, {736, 11584, 4064}, {1472, 12160, 2752}, {2464, 12224, 1696}, {3712, 11776, 896}, {5216, 10816, 352}, {6976, 9344, 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}},
+ {{25, 8846, 7513}, {241, 10462, 5681}, {713, 11566, 4105}, {1441, 12158, 2785}, {2425, 12238, 1721}, {3665, 11806, 913}, {5161, 10862, 361}, {6913, 9406, 65}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 11318, 9109}, {361, 13262, 6857}, {989, 14566, 4925}, {1937, 15230, 3313}, {3205, 15254, 2021}, {4793, 14638, 1049}, {6701, 13382, 397}, {8929, 11486, 65}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{19, 8794, 7571}, {227, 10426, 5731}, {691, 11546, 4147}, {1411, 12154, 2819}, {2387, 12250, 1747}, {3619, 11834, 931}, {5107, 10906, 371}, {6851, 9466, 67}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{47, 11266, 9167}, {347, 13226, 6907}, {967, 14546, 4967}, {1907, 15226, 3347}, {3167, 15266, 2047}, {4747, 14666, 1067}, {6647, 13426, 407}, {8867, 11546, 67}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{40, 11216, 9224}, {332, 13192, 6956}, {944, 14528, 5008}, {1876, 15224, 3380}, {3128, 15280, 2072}, {4700, 14696, 1084}, {6592, 13472, 416}, {8804, 11608, 68}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{68, 13688, 10820}, {452, 15992, 8132}, {1220, 17528, 5828}, {2372, 18296, 3908}, {3908, 18296, 2372}, {5828, 17528, 1220}, {8132, 15992, 452}, {10820, 13688, 68}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{14, 8740, 7630}, {214, 10388, 5782}, {670, 11524, 4190}, {1382, 12148, 2854}, {2350, 12260, 1774}, {3574, 11860, 950}, {5054, 10948, 382}, {6790, 9524, 70}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{42, 11212, 9226}, {334, 13188, 6958}, {946, 14524, 5010}, {1878, 15220, 3382}, {3130, 15276, 2074}, {4702, 14692, 1086}, {6594, 13468, 418}, {8806, 11604, 70}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 11162, 9283}, {319, 13154, 7007}, {923, 14506, 5051}, {1847, 15218, 3415}, {3091, 15290, 2099}, {4655, 14722, 1103}, {6539, 13514, 427}, {8743, 11666, 71}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{63, 13634, 10879}, {439, 15954, 8183}, {1199, 17506, 5871}, {2343, 18290, 3943}, {3871, 18306, 2399}, {5783, 17554, 1239}, {8079, 16034, 463}, {10759, 13746, 71}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{29, 11110, 9341}, {305, 13118, 7057}, {901, 14486, 5093}, {1817, 15214, 3449}, {3053, 15302, 2125}, {4609, 14750, 1121}, {6485, 13558, 437}, {8681, 11726, 73}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{57, 13582, 10937}, {425, 15918, 8233}, {1177, 17486, 5913}, {2313, 18286, 3977}, {3833, 18318, 2425}, {5737, 17582, 1257}, {8025, 16078, 473}, {10697, 13806, 73}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{50, 13532, 10994}, {410, 15884, 8282}, {1154, 17468, 5954}, {2282, 18284, 4010}, {3794, 18332, 2450}, {5690, 17612, 1274}, {7970, 16124, 482}, {10634, 13868, 74}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{78, 16004, 12590}, {530, 18684, 9458}, {1430, 20468, 6774}, {2778, 21356, 4538}, {4574, 21348, 2750}, {6818, 20444, 1410}, {9510, 18644, 518}, {12650, 15948, 74}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{10, 8684, 7690}, {202, 10348, 5834}, {650, 11500, 4234}, {1354, 12140, 2890}, {2314, 12268, 1802}, {3530, 11884, 970}, {5002, 10988, 394}, {6730, 9580, 74}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{38, 11156, 9286}, {322, 13148, 7010}, {926, 14500, 5054}, {1850, 15212, 3418}, {3094, 15284, 2102}, {4658, 14716, 1106}, {6542, 13508, 430}, {8746, 11660, 74}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{31, 11106, 9343}, {307, 13114, 7059}, {903, 14482, 5095}, {1819, 15210, 3451}, {3055, 15298, 2127}, {4611, 14746, 1123}, {6487, 13554, 439}, {8683, 11722, 75}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{59, 13578, 10939}, {427, 15914, 8235}, {1179, 17482, 5915}, {2315, 18282, 3979}, {3835, 18314, 2427}, {5739, 17578, 1259}, {8027, 16074, 475}, {10699, 13802, 75}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{25, 11054, 9401}, {293, 13078, 7109}, {881, 14462, 5137}, {1789, 15206, 3485}, {3017, 15310, 2153}, {4565, 14774, 1141}, {6433, 13598, 449}, {8621, 11782, 77}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{53, 13526, 10997}, {413, 15878, 8285}, {1157, 17462, 5957}, {2285, 18278, 4013}, {3797, 18326, 2453}, {5693, 17606, 1277}, {7973, 16118, 485}, {10637, 13862, 77}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{46, 13476, 11054}, {398, 15844, 8334}, {1134, 17444, 5998}, {2254, 18276, 4046}, {3758, 18340, 2478}, {5646, 17636, 1294}, {7918, 16164, 494}, {10574, 13924, 78}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{74, 15948, 12650}, {518, 18644, 9510}, {1410, 20444, 6818}, {2750, 21348, 4574}, {4538, 21356, 2778}, {6774, 20468, 1430}, {9458, 18684, 530}, {12590, 16004, 78}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{20, 11000, 9460}, {280, 13040, 7160}, {860, 14440, 5180}, {1760, 15200, 3520}, {2980, 15320, 2180}, {4520, 14800, 1160}, {6380, 13640, 460}, {8560, 11840, 80}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{48, 13472, 11056}, {400, 15840, 8336}, {1136, 17440, 6000}, {2256, 18272, 4048}, {3760, 18336, 2480}, {5648, 17632, 1296}, {7920, 16160, 496}, {10576, 13920, 80}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{41, 13422, 11113}, {385, 15806, 8385}, {1113, 17422, 6041}, {2225, 18270, 4081}, {3721, 18350, 2505}, {5601, 17662, 1313}, {7865, 16206, 505}, {10513, 13982, 81}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{69, 15894, 12709}, {505, 18606, 9561}, {1389, 20422, 6861}, {2721, 21342, 4609}, {4501, 21366, 2805}, {6729, 20494, 1449}, {9405, 18726, 541}, {12529, 16062, 81}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{35, 13370, 11171}, {371, 15770, 8435}, {1091, 17402, 6083}, {2195, 18266, 4115}, {3683, 18362, 2531}, {5555, 17690, 1331}, {7811, 16250, 515}, {10451, 14042, 83}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{63, 15842, 12767}, {491, 18570, 9611}, {1367, 20402, 6903}, {2691, 21338, 4643}, {4463, 21378, 2831}, {6683, 20522, 1467}, {9351, 18770, 551}, {12467, 16122, 83}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{56, 15792, 12824}, {476, 18536, 9660}, {1344, 20384, 6944}, {2660, 21336, 4676}, {4424, 21392, 2856}, {6636, 20552, 1484}, {9296, 18816, 560}, {12404, 16184, 84}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{84, 18264, 14420}, {596, 21336, 10836}, {1620, 23384, 7764}, {3156, 24408, 5204}, {5204, 24408, 3156}, {7764, 23384, 1620}, {10836, 21336, 596}, {14420, 18264, 84}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
+};
+
+const int32_t pdm_lut128[256][DECIMATION_MAX / 8][SINCN] = {
+ {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
+ {{28, 9096, 7260}, {120, 9936, 6328}, {276, 10648, 5460}, {496, 11232, 4656}, {780, 11688, 3916}, {1128, 12016, 3240}, {1540, 12216, 2628}, {2016, 12288, 2080}, {2556, 12232, 1596}, {3160, 12048, 1176}, {3828, 11736, 820}, {4560, 11296, 528}, {5356, 10728, 300}, {6216, 10032, 136}, {7140, 9208, 36}, {8128, 8256, 0}},
+ {{21, 8982, 7381}, {105, 9838, 6441}, {253, 10566, 5565}, {465, 11166, 4753}, {741, 11638, 4005}, {1081, 11982, 3321}, {1485, 12198, 2701}, {1953, 12286, 2145}, {2485, 12246, 1653}, {3081, 12078, 1225}, {3741, 11782, 861}, {4465, 11358, 561}, {5253, 10806, 325}, {6105, 10126, 153}, {7021, 9318, 45}, {8001, 8382, 1}},
+ {{49, 18078, 14641}, {225, 19774, 12769}, {529, 21214, 11025}, {961, 22398, 9409}, {1521, 23326, 7921}, {2209, 23998, 6561}, {3025, 24414, 5329}, {3969, 24574, 4225}, {5041, 24478, 3249}, {6241, 24126, 2401}, {7569, 23518, 1681}, {9025, 22654, 1089}, {10609, 21534, 625}, {12321, 20158, 289}, {14161, 18526, 81}, {16129, 16638, 1}},
+ {{15, 8866, 7503}, {91, 9738, 6555}, {231, 10482, 5671}, {435, 11098, 4851}, {703, 11586, 4095}, {1035, 11946, 3403}, {1431, 12178, 2775}, {1891, 12282, 2211}, {2415, 12258, 1711}, {3003, 12106, 1275}, {3655, 11826, 903}, {4371, 11418, 595}, {5151, 10882, 351}, {5995, 10218, 171}, {6903, 9426, 55}, {7875, 8506, 3}},
+ {{43, 17962, 14763}, {211, 19674, 12883}, {507, 21130, 11131}, {931, 22330, 9507}, {1483, 23274, 8011}, {2163, 23962, 6643}, {2971, 24394, 5403}, {3907, 24570, 4291}, {4971, 24490, 3307}, {6163, 24154, 2451}, {7483, 23562, 1723}, {8931, 22714, 1123}, {10507, 21610, 651}, {12211, 20250, 307}, {14043, 18634, 91}, {16003, 16762, 3}},
+ {{36, 17848, 14884}, {196, 19576, 12996}, {484, 21048, 11236}, {900, 22264, 9604}, {1444, 23224, 8100}, {2116, 23928, 6724}, {2916, 24376, 5476}, {3844, 24568, 4356}, {4900, 24504, 3364}, {6084, 24184, 2500}, {7396, 23608, 1764}, {8836, 22776, 1156}, {10404, 21688, 676}, {12100, 20344, 324}, {13924, 18744, 100}, {15876, 16888, 4}},
+ {{64, 26944, 22144}, {316, 29512, 19324}, {760, 31696, 16696}, {1396, 33496, 14260}, {2224, 34912, 12016}, {3244, 35944, 9964}, {4456, 36592, 8104}, {5860, 36856, 6436}, {7456, 36736, 4960}, {9244, 36232, 3676}, {11224, 35344, 2584}, {13396, 34072, 1684}, {15760, 32416, 976}, {18316, 30376, 460}, {21064, 27952, 136}, {24004, 25144, 4}},
+ {{10, 8748, 7626}, {78, 9636, 6670}, {210, 10396, 5778}, {406, 11028, 4950}, {666, 11532, 4186}, {990, 11908, 3486}, {1378, 12156, 2850}, {1830, 12276, 2278}, {2346, 12268, 1770}, {2926, 12132, 1326}, {3570, 11868, 946}, {4278, 11476, 630}, {5050, 10956, 378}, {5886, 10308, 190}, {6786, 9532, 66}, {7750, 8628, 6}},
+ {{38, 17844, 14886}, {198, 19572, 12998}, {486, 21044, 11238}, {902, 22260, 9606}, {1446, 23220, 8102}, {2118, 23924, 6726}, {2918, 24372, 5478}, {3846, 24564, 4358}, {4902, 24500, 3366}, {6086, 24180, 2502}, {7398, 23604, 1766}, {8838, 22772, 1158}, {10406, 21684, 678}, {12102, 20340, 326}, {13926, 18740, 102}, {15878, 16884, 6}},
+ {{31, 17730, 15007}, {183, 19474, 13111}, {463, 20962, 11343}, {871, 22194, 9703}, {1407, 23170, 8191}, {2071, 23890, 6807}, {2863, 24354, 5551}, {3783, 24562, 4423}, {4831, 24514, 3423}, {6007, 24210, 2551}, {7311, 23650, 1807}, {8743, 22834, 1191}, {10303, 21762, 703}, {11991, 20434, 343}, {13807, 18850, 111}, {15751, 17010, 7}},
+ {{59, 26826, 22267}, {303, 29410, 19439}, {739, 31610, 16803}, {1367, 33426, 14359}, {2187, 34858, 12107}, {3199, 35906, 10047}, {4403, 36570, 8179}, {5799, 36850, 6503}, {7387, 36746, 5019}, {9167, 36258, 3727}, {11139, 35386, 2627}, {13303, 34130, 1719}, {15659, 32490, 1003}, {18207, 30466, 479}, {20947, 28058, 147}, {23879, 25266, 7}},
+ {{25, 17614, 15129}, {169, 19374, 13225}, {441, 20878, 11449}, {841, 22126, 9801}, {1369, 23118, 8281}, {2025, 23854, 6889}, {2809, 24334, 5625}, {3721, 24558, 4489}, {4761, 24526, 3481}, {5929, 24238, 2601}, {7225, 23694, 1849}, {8649, 22894, 1225}, {10201, 21838, 729}, {11881, 20526, 361}, {13689, 18958, 121}, {15625, 17134, 9}},
+ {{53, 26710, 22389}, {289, 29310, 19553}, {717, 31526, 16909}, {1337, 33358, 14457}, {2149, 34806, 12197}, {3153, 35870, 10129}, {4349, 36550, 8253}, {5737, 36846, 6569}, {7317, 36758, 5077}, {9089, 36286, 3777}, {11053, 35430, 2669}, {13209, 34190, 1753}, {15557, 32566, 1029}, {18097, 30558, 497}, {20829, 28166, 157}, {23753, 25390, 9}},
+ {{46, 26596, 22510}, {274, 29212, 19666}, {694, 31444, 17014}, {1306, 33292, 14554}, {2110, 34756, 12286}, {3106, 35836, 10210}, {4294, 36532, 8326}, {5674, 36844, 6634}, {7246, 36772, 5134}, {9010, 36316, 3826}, {10966, 35476, 2710}, {13114, 34252, 1786}, {15454, 32644, 1054}, {17986, 30652, 514}, {20710, 28276, 166}, {23626, 25516, 10}},
+ {{74, 35692, 29770}, {394, 39148, 25994}, {970, 42092, 22474}, {1802, 44524, 19210}, {2890, 46444, 16202}, {4234, 47852, 13450}, {5834, 48748, 10954}, {7690, 49132, 8714}, {9802, 49004, 6730}, {12170, 48364, 5002}, {14794, 47212, 3530}, {17674, 45548, 2314}, {20810, 43372, 1354}, {24202, 40684, 650}, {27850, 37484, 202}, {31754, 33772, 10}},
+ {{6, 8628, 7750}, {66, 9532, 6786}, {190, 10308, 5886}, {378, 10956, 5050}, {630, 11476, 4278}, {946, 11868, 3570}, {1326, 12132, 2926}, {1770, 12268, 2346}, {2278, 12276, 1830}, {2850, 12156, 1378}, {3486, 11908, 990}, {4186, 11532, 666}, {4950, 11028, 406}, {5778, 10396, 210}, {6670, 9636, 78}, {7626, 8748, 10}},
+ {{34, 17724, 15010}, {186, 19468, 13114}, {466, 20956, 11346}, {874, 22188, 9706}, {1410, 23164, 8194}, {2074, 23884, 6810}, {2866, 24348, 5554}, {3786, 24556, 4426}, {4834, 24508, 3426}, {6010, 24204, 2554}, {7314, 23644, 1810}, {8746, 22828, 1194}, {10306, 21756, 706}, {11994, 20428, 346}, {13810, 18844, 114}, {15754, 17004, 10}},
+ {{27, 17610, 15131}, {171, 19370, 13227}, {443, 20874, 11451}, {843, 22122, 9803}, {1371, 23114, 8283}, {2027, 23850, 6891}, {2811, 24330, 5627}, {3723, 24554, 4491}, {4763, 24522, 3483}, {5931, 24234, 2603}, {7227, 23690, 1851}, {8651, 22890, 1227}, {10203, 21834, 731}, {11883, 20522, 363}, {13691, 18954, 123}, {15627, 17130, 11}},
+ {{55, 26706, 22391}, {291, 29306, 19555}, {719, 31522, 16911}, {1339, 33354, 14459}, {2151, 34802, 12199}, {3155, 35866, 10131}, {4351, 36546, 8255}, {5739, 36842, 6571}, {7319, 36754, 5079}, {9091, 36282, 3779}, {11055, 35426, 2671}, {13211, 34186, 1755}, {15559, 32562, 1031}, {18099, 30554, 499}, {20831, 28162, 159}, {23755, 25386, 11}},
+ {{21, 17494, 15253}, {157, 19270, 13341}, {421, 20790, 11557}, {813, 22054, 9901}, {1333, 23062, 8373}, {1981, 23814, 6973}, {2757, 24310, 5701}, {3661, 24550, 4557}, {4693, 24534, 3541}, {5853, 24262, 2653}, {7141, 23734, 1893}, {8557, 22950, 1261}, {10101, 21910, 757}, {11773, 20614, 381}, {13573, 19062, 133}, {15501, 17254, 13}},
+ {{49, 26590, 22513}, {277, 29206, 19669}, {697, 31438, 17017}, {1309, 33286, 14557}, {2113, 34750, 12289}, {3109, 35830, 10213}, {4297, 36526, 8329}, {5677, 36838, 6637}, {7249, 36766, 5137}, {9013, 36310, 3829}, {10969, 35470, 2713}, {13117, 34246, 1789}, {15457, 32638, 1057}, {17989, 30646, 517}, {20713, 28270, 169}, {23629, 25510, 13}},
+ {{42, 26476, 22634}, {262, 29108, 19782}, {674, 31356, 17122}, {1278, 33220, 14654}, {2074, 34700, 12378}, {3062, 35796, 10294}, {4242, 36508, 8402}, {5614, 36836, 6702}, {7178, 36780, 5194}, {8934, 36340, 3878}, {10882, 35516, 2754}, {13022, 34308, 1822}, {15354, 32716, 1082}, {17878, 30740, 534}, {20594, 28380, 178}, {23502, 25636, 14}},
+ {{70, 35572, 29894}, {382, 39044, 26110}, {950, 42004, 22582}, {1774, 44452, 19310}, {2854, 46388, 16294}, {4190, 47812, 13534}, {5782, 48724, 11030}, {7630, 49124, 8782}, {9734, 49012, 6790}, {12094, 48388, 5054}, {14710, 47252, 3574}, {17582, 45604, 2350}, {20710, 43444, 1382}, {24094, 40772, 670}, {27734, 37588, 214}, {31630, 33892, 14}},
+ {{16, 17376, 15376}, {144, 19168, 13456}, {400, 20704, 11664}, {784, 21984, 10000}, {1296, 23008, 8464}, {1936, 23776, 7056}, {2704, 24288, 5776}, {3600, 24544, 4624}, {4624, 24544, 3600}, {5776, 24288, 2704}, {7056, 23776, 1936}, {8464, 23008, 1296}, {10000, 21984, 784}, {11664, 20704, 400}, {13456, 19168, 144}, {15376, 17376, 16}},
+ {{44, 26472, 22636}, {264, 29104, 19784}, {676, 31352, 17124}, {1280, 33216, 14656}, {2076, 34696, 12380}, {3064, 35792, 10296}, {4244, 36504, 8404}, {5616, 36832, 6704}, {7180, 36776, 5196}, {8936, 36336, 3880}, {10884, 35512, 2756}, {13024, 34304, 1824}, {15356, 32712, 1084}, {17880, 30736, 536}, {20596, 28376, 180}, {23504, 25632, 16}},
+ {{37, 26358, 22757}, {249, 29006, 19897}, {653, 31270, 17229}, {1249, 33150, 14753}, {2037, 34646, 12469}, {3017, 35758, 10377}, {4189, 36486, 8477}, {5553, 36830, 6769}, {7109, 36790, 5253}, {8857, 36366, 3929}, {10797, 35558, 2797}, {12929, 34366, 1857}, {15253, 32790, 1109}, {17769, 30830, 553}, {20477, 28486, 189}, {23377, 25758, 17}},
+ {{65, 35454, 30017}, {369, 38942, 26225}, {929, 41918, 22689}, {1745, 44382, 19409}, {2817, 46334, 16385}, {4145, 47774, 13617}, {5729, 48702, 11105}, {7569, 49118, 8849}, {9665, 49022, 6849}, {12017, 48414, 5105}, {14625, 47294, 3617}, {17489, 45662, 2385}, {20609, 43518, 1409}, {23985, 40862, 689}, {27617, 37694, 225}, {31505, 34014, 17}},
+ {{31, 26242, 22879}, {235, 28906, 20011}, {631, 31186, 17335}, {1219, 33082, 14851}, {1999, 34594, 12559}, {2971, 35722, 10459}, {4135, 36466, 8551}, {5491, 36826, 6835}, {7039, 36802, 5311}, {8779, 36394, 3979}, {10711, 35602, 2839}, {12835, 34426, 1891}, {15151, 32866, 1135}, {17659, 30922, 571}, {20359, 28594, 199}, {23251, 25882, 19}},
+ {{59, 35338, 30139}, {355, 38842, 26339}, {907, 41834, 22795}, {1715, 44314, 19507}, {2779, 46282, 16475}, {4099, 47738, 13699}, {5675, 48682, 11179}, {7507, 49114, 8915}, {9595, 49034, 6907}, {11939, 48442, 5155}, {14539, 47338, 3659}, {17395, 45722, 2419}, {20507, 43594, 1435}, {23875, 40954, 707}, {27499, 37802, 235}, {31379, 34138, 19}},
+ {{52, 35224, 30260}, {340, 38744, 26452}, {884, 41752, 22900}, {1684, 44248, 19604}, {2740, 46232, 16564}, {4052, 47704, 13780}, {5620, 48664, 11252}, {7444, 49112, 8980}, {9524, 49048, 6964}, {11860, 48472, 5204}, {14452, 47384, 3700}, {17300, 45784, 2452}, {20404, 43672, 1460}, {23764, 41048, 724}, {27380, 37912, 244}, {31252, 34264, 20}},
+ {{80, 44320, 37520}, {460, 48680, 32780}, {1160, 52400, 28360}, {2180, 55480, 24260}, {3520, 57920, 20480}, {5180, 59720, 17020}, {7160, 60880, 13880}, {9460, 61400, 11060}, {12080, 61280, 8560}, {15020, 60520, 6380}, {18280, 59120, 4520}, {21860, 57080, 2980}, {25760, 54400, 1760}, {29980, 51080, 860}, {34520, 47120, 280}, {39380, 42520, 20}},
+ {{3, 8506, 7875}, {55, 9426, 6903}, {171, 10218, 5995}, {351, 10882, 5151}, {595, 11418, 4371}, {903, 11826, 3655}, {1275, 12106, 3003}, {1711, 12258, 2415}, {2211, 12282, 1891}, {2775, 12178, 1431}, {3403, 11946, 1035}, {4095, 11586, 703}, {4851, 11098, 435}, {5671, 10482, 231}, {6555, 9738, 91}, {7503, 8866, 15}},
+ {{31, 17602, 15135}, {175, 19362, 13231}, {447, 20866, 11455}, {847, 22114, 9807}, {1375, 23106, 8287}, {2031, 23842, 6895}, {2815, 24322, 5631}, {3727, 24546, 4495}, {4767, 24514, 3487}, {5935, 24226, 2607}, {7231, 23682, 1855}, {8655, 22882, 1231}, {10207, 21826, 735}, {11887, 20514, 367}, {13695, 18946, 127}, {15631, 17122, 15}},
+ {{24, 17488, 15256}, {160, 19264, 13344}, {424, 20784, 11560}, {816, 22048, 9904}, {1336, 23056, 8376}, {1984, 23808, 6976}, {2760, 24304, 5704}, {3664, 24544, 4560}, {4696, 24528, 3544}, {5856, 24256, 2656}, {7144, 23728, 1896}, {8560, 22944, 1264}, {10104, 21904, 760}, {11776, 20608, 384}, {13576, 19056, 136}, {15504, 17248, 16}},
+ {{52, 26584, 22516}, {280, 29200, 19672}, {700, 31432, 17020}, {1312, 33280, 14560}, {2116, 34744, 12292}, {3112, 35824, 10216}, {4300, 36520, 8332}, {5680, 36832, 6640}, {7252, 36760, 5140}, {9016, 36304, 3832}, {10972, 35464, 2716}, {13120, 34240, 1792}, {15460, 32632, 1060}, {17992, 30640, 520}, {20716, 28264, 172}, {23632, 25504, 16}},
+ {{18, 17372, 15378}, {146, 19164, 13458}, {402, 20700, 11666}, {786, 21980, 10002}, {1298, 23004, 8466}, {1938, 23772, 7058}, {2706, 24284, 5778}, {3602, 24540, 4626}, {4626, 24540, 3602}, {5778, 24284, 2706}, {7058, 23772, 1938}, {8466, 23004, 1298}, {10002, 21980, 786}, {11666, 20700, 402}, {13458, 19164, 146}, {15378, 17372, 18}},
+ {{46, 26468, 22638}, {266, 29100, 19786}, {678, 31348, 17126}, {1282, 33212, 14658}, {2078, 34692, 12382}, {3066, 35788, 10298}, {4246, 36500, 8406}, {5618, 36828, 6706}, {7182, 36772, 5198}, {8938, 36332, 3882}, {10886, 35508, 2758}, {13026, 34300, 1826}, {15358, 32708, 1086}, {17882, 30732, 538}, {20598, 28372, 182}, {23506, 25628, 18}},
+ {{39, 26354, 22759}, {251, 29002, 19899}, {655, 31266, 17231}, {1251, 33146, 14755}, {2039, 34642, 12471}, {3019, 35754, 10379}, {4191, 36482, 8479}, {5555, 36826, 6771}, {7111, 36786, 5255}, {8859, 36362, 3931}, {10799, 35554, 2799}, {12931, 34362, 1859}, {15255, 32786, 1111}, {17771, 30826, 555}, {20479, 28482, 191}, {23379, 25754, 19}},
+ {{67, 35450, 30019}, {371, 38938, 26227}, {931, 41914, 22691}, {1747, 44378, 19411}, {2819, 46330, 16387}, {4147, 47770, 13619}, {5731, 48698, 11107}, {7571, 49114, 8851}, {9667, 49018, 6851}, {12019, 48410, 5107}, {14627, 47290, 3619}, {17491, 45658, 2387}, {20611, 43514, 1411}, {23987, 40858, 691}, {27619, 37690, 227}, {31507, 34010, 19}},
+ {{13, 17254, 15501}, {133, 19062, 13573}, {381, 20614, 11773}, {757, 21910, 10101}, {1261, 22950, 8557}, {1893, 23734, 7141}, {2653, 24262, 5853}, {3541, 24534, 4693}, {4557, 24550, 3661}, {5701, 24310, 2757}, {6973, 23814, 1981}, {8373, 23062, 1333}, {9901, 22054, 813}, {11557, 20790, 421}, {13341, 19270, 157}, {15253, 17494, 21}},
+ {{41, 26350, 22761}, {253, 28998, 19901}, {657, 31262, 17233}, {1253, 33142, 14757}, {2041, 34638, 12473}, {3021, 35750, 10381}, {4193, 36478, 8481}, {5557, 36822, 6773}, {7113, 36782, 5257}, {8861, 36358, 3933}, {10801, 35550, 2801}, {12933, 34358, 1861}, {15257, 32782, 1113}, {17773, 30822, 557}, {20481, 28478, 193}, {23381, 25750, 21}},
+ {{34, 26236, 22882}, {238, 28900, 20014}, {634, 31180, 17338}, {1222, 33076, 14854}, {2002, 34588, 12562}, {2974, 35716, 10462}, {4138, 36460, 8554}, {5494, 36820, 6838}, {7042, 36796, 5314}, {8782, 36388, 3982}, {10714, 35596, 2842}, {12838, 34420, 1894}, {15154, 32860, 1138}, {17662, 30916, 574}, {20362, 28588, 202}, {23254, 25876, 22}},
+ {{62, 35332, 30142}, {358, 38836, 26342}, {910, 41828, 22798}, {1718, 44308, 19510}, {2782, 46276, 16478}, {4102, 47732, 13702}, {5678, 48676, 11182}, {7510, 49108, 8918}, {9598, 49028, 6910}, {11942, 48436, 5158}, {14542, 47332, 3662}, {17398, 45716, 2422}, {20510, 43588, 1438}, {23878, 40948, 710}, {27502, 37796, 238}, {31382, 34132, 22}},
+ {{28, 26120, 23004}, {224, 28800, 20128}, {612, 31096, 17444}, {1192, 33008, 14952}, {1964, 34536, 12652}, {2928, 35680, 10544}, {4084, 36440, 8628}, {5432, 36816, 6904}, {6972, 36808, 5372}, {8704, 36416, 4032}, {10628, 35640, 2884}, {12744, 34480, 1928}, {15052, 32936, 1164}, {17552, 31008, 592}, {20244, 28696, 212}, {23128, 26000, 24}},
+ {{56, 35216, 30264}, {344, 38736, 26456}, {888, 41744, 22904}, {1688, 44240, 19608}, {2744, 46224, 16568}, {4056, 47696, 13784}, {5624, 48656, 11256}, {7448, 49104, 8984}, {9528, 49040, 6968}, {11864, 48464, 5208}, {14456, 47376, 3704}, {17304, 45776, 2456}, {20408, 43664, 1464}, {23768, 41040, 728}, {27384, 37904, 248}, {31256, 34256, 24}},
+ {{49, 35102, 30385}, {329, 38638, 26569}, {865, 41662, 23009}, {1657, 44174, 19705}, {2705, 46174, 16657}, {4009, 47662, 13865}, {5569, 48638, 11329}, {7385, 49102, 9049}, {9457, 49054, 7025}, {11785, 48494, 5257}, {14369, 47422, 3745}, {17209, 45838, 2489}, {20305, 43742, 1489}, {23657, 41134, 745}, {27265, 38014, 257}, {31129, 34382, 25}},
+ {{77, 44198, 37645}, {449, 48574, 32897}, {1141, 52310, 28469}, {2153, 55406, 24361}, {3485, 57862, 20573}, {5137, 59678, 17105}, {7109, 60854, 13957}, {9401, 61390, 11129}, {12013, 61286, 8621}, {14945, 60542, 6433}, {18197, 59158, 4565}, {21769, 57134, 3017}, {25661, 54470, 1789}, {29873, 51166, 881}, {34405, 47222, 293}, {39257, 42638, 25}},
+ {{9, 17134, 15625}, {121, 18958, 13689}, {361, 20526, 11881}, {729, 21838, 10201}, {1225, 22894, 8649}, {1849, 23694, 7225}, {2601, 24238, 5929}, {3481, 24526, 4761}, {4489, 24558, 3721}, {5625, 24334, 2809}, {6889, 23854, 2025}, {8281, 23118, 1369}, {9801, 22126, 841}, {11449, 20878, 441}, {13225, 19374, 169}, {15129, 17614, 25}},
+ {{37, 26230, 22885}, {241, 28894, 20017}, {637, 31174, 17341}, {1225, 33070, 14857}, {2005, 34582, 12565}, {2977, 35710, 10465}, {4141, 36454, 8557}, {5497, 36814, 6841}, {7045, 36790, 5317}, {8785, 36382, 3985}, {10717, 35590, 2845}, {12841, 34414, 1897}, {15157, 32854, 1141}, {17665, 30910, 577}, {20365, 28582, 205}, {23257, 25870, 25}},
+ {{30, 26116, 23006}, {226, 28796, 20130}, {614, 31092, 17446}, {1194, 33004, 14954}, {1966, 34532, 12654}, {2930, 35676, 10546}, {4086, 36436, 8630}, {5434, 36812, 6906}, {6974, 36804, 5374}, {8706, 36412, 4034}, {10630, 35636, 2886}, {12746, 34476, 1930}, {15054, 32932, 1166}, {17554, 31004, 594}, {20246, 28692, 214}, {23130, 25996, 26}},
+ {{58, 35212, 30266}, {346, 38732, 26458}, {890, 41740, 22906}, {1690, 44236, 19610}, {2746, 46220, 16570}, {4058, 47692, 13786}, {5626, 48652, 11258}, {7450, 49100, 8986}, {9530, 49036, 6970}, {11866, 48460, 5210}, {14458, 47372, 3706}, {17306, 45772, 2458}, {20410, 43660, 1466}, {23770, 41036, 730}, {27386, 37900, 250}, {31258, 34252, 26}},
+ {{24, 26000, 23128}, {212, 28696, 20244}, {592, 31008, 17552}, {1164, 32936, 15052}, {1928, 34480, 12744}, {2884, 35640, 10628}, {4032, 36416, 8704}, {5372, 36808, 6972}, {6904, 36816, 5432}, {8628, 36440, 4084}, {10544, 35680, 2928}, {12652, 34536, 1964}, {14952, 33008, 1192}, {17444, 31096, 612}, {20128, 28800, 224}, {23004, 26120, 28}},
+ {{52, 35096, 30388}, {332, 38632, 26572}, {868, 41656, 23012}, {1660, 44168, 19708}, {2708, 46168, 16660}, {4012, 47656, 13868}, {5572, 48632, 11332}, {7388, 49096, 9052}, {9460, 49048, 7028}, {11788, 48488, 5260}, {14372, 47416, 3748}, {17212, 45832, 2492}, {20308, 43736, 1492}, {23660, 41128, 748}, {27268, 38008, 260}, {31132, 34376, 28}},
+ {{45, 34982, 30509}, {317, 38534, 26685}, {845, 41574, 23117}, {1629, 44102, 19805}, {2669, 46118, 16749}, {3965, 47622, 13949}, {5517, 48614, 11405}, {7325, 49094, 9117}, {9389, 49062, 7085}, {11709, 48518, 5309}, {14285, 47462, 3789}, {17117, 45894, 2525}, {20205, 43814, 1517}, {23549, 41222, 765}, {27149, 38118, 269}, {31005, 34502, 29}},
+ {{73, 44078, 37769}, {437, 48470, 33013}, {1121, 52222, 28577}, {2125, 55334, 24461}, {3449, 57806, 20665}, {5093, 59638, 17189}, {7057, 60830, 14033}, {9341, 61382, 11197}, {11945, 61294, 8681}, {14869, 60566, 6485}, {18113, 59198, 4609}, {21677, 57190, 3053}, {25561, 54542, 1817}, {29765, 51254, 901}, {34289, 47326, 305}, {39133, 42758, 29}},
+ {{19, 25882, 23251}, {199, 28594, 20359}, {571, 30922, 17659}, {1135, 32866, 15151}, {1891, 34426, 12835}, {2839, 35602, 10711}, {3979, 36394, 8779}, {5311, 36802, 7039}, {6835, 36826, 5491}, {8551, 36466, 4135}, {10459, 35722, 2971}, {12559, 34594, 1999}, {14851, 33082, 1219}, {17335, 31186, 631}, {20011, 28906, 235}, {22879, 26242, 31}},
+ {{47, 34978, 30511}, {319, 38530, 26687}, {847, 41570, 23119}, {1631, 44098, 19807}, {2671, 46114, 16751}, {3967, 47618, 13951}, {5519, 48610, 11407}, {7327, 49090, 9119}, {9391, 49058, 7087}, {11711, 48514, 5311}, {14287, 47458, 3791}, {17119, 45890, 2527}, {20207, 43810, 1519}, {23551, 41218, 767}, {27151, 38114, 271}, {31007, 34498, 31}},
+ {{40, 34864, 30632}, {304, 38432, 26800}, {824, 41488, 23224}, {1600, 44032, 19904}, {2632, 46064, 16840}, {3920, 47584, 14032}, {5464, 48592, 11480}, {7264, 49088, 9184}, {9320, 49072, 7144}, {11632, 48544, 5360}, {14200, 47504, 3832}, {17024, 45952, 2560}, {20104, 43888, 1544}, {23440, 41312, 784}, {27032, 38224, 280}, {30880, 34624, 32}},
+ {{68, 43960, 37892}, {424, 48368, 33128}, {1100, 52136, 28684}, {2096, 55264, 24560}, {3412, 57752, 20756}, {5048, 59600, 17272}, {7004, 60808, 14108}, {9280, 61376, 11264}, {11876, 61304, 8740}, {14792, 60592, 6536}, {18028, 59240, 4652}, {21584, 57248, 3088}, {25460, 54616, 1844}, {29656, 51344, 920}, {34172, 47432, 316}, {39008, 42880, 32}},
+ {{34, 34748, 30754}, {290, 38332, 26914}, {802, 41404, 23330}, {1570, 43964, 20002}, {2594, 46012, 16930}, {3874, 47548, 14114}, {5410, 48572, 11554}, {7202, 49084, 9250}, {9250, 49084, 7202}, {11554, 48572, 5410}, {14114, 47548, 3874}, {16930, 46012, 2594}, {20002, 43964, 1570}, {23330, 41404, 802}, {26914, 38332, 290}, {30754, 34748, 34}},
+ {{62, 43844, 38014}, {410, 48268, 33242}, {1078, 52052, 28790}, {2066, 55196, 24658}, {3374, 57700, 20846}, {5002, 59564, 17354}, {6950, 60788, 14182}, {9218, 61372, 11330}, {11806, 61316, 8798}, {14714, 60620, 6586}, {17942, 59284, 4694}, {21490, 57308, 3122}, {25358, 54692, 1870}, {29546, 51436, 938}, {34054, 47540, 326}, {38882, 43004, 34}},
+ {{55, 43730, 38135}, {395, 48170, 33355}, {1055, 51970, 28895}, {2035, 55130, 24755}, {3335, 57650, 20935}, {4955, 59530, 17435}, {6895, 60770, 14255}, {9155, 61370, 11395}, {11735, 61330, 8855}, {14635, 60650, 6635}, {17855, 59330, 4735}, {21395, 57370, 3155}, {25255, 54770, 1895}, {29435, 51530, 955}, {33935, 47650, 335}, {38755, 43130, 35}},
+ {{83, 52826, 45395}, {515, 58106, 39683}, {1331, 62618, 34355}, {2531, 66362, 29411}, {4115, 69338, 24851}, {6083, 71546, 20675}, {8435, 72986, 16883}, {11171, 73658, 13475}, {14291, 73562, 10451}, {17795, 72698, 7811}, {21683, 71066, 5555}, {25955, 68666, 3683}, {30611, 65498, 2195}, {35651, 61562, 1091}, {41075, 56858, 371}, {46883, 51386, 35}},
+ {{1, 8382, 8001}, {45, 9318, 7021}, {153, 10126, 6105}, {325, 10806, 5253}, {561, 11358, 4465}, {861, 11782, 3741}, {1225, 12078, 3081}, {1653, 12246, 2485}, {2145, 12286, 1953}, {2701, 12198, 1485}, {3321, 11982, 1081}, {4005, 11638, 741}, {4753, 11166, 465}, {5565, 10566, 253}, {6441, 9838, 105}, {7381, 8982, 21}},
+ {{29, 17478, 15261}, {165, 19254, 13349}, {429, 20774, 11565}, {821, 22038, 9909}, {1341, 23046, 8381}, {1989, 23798, 6981}, {2765, 24294, 5709}, {3669, 24534, 4565}, {4701, 24518, 3549}, {5861, 24246, 2661}, {7149, 23718, 1901}, {8565, 22934, 1269}, {10109, 21894, 765}, {11781, 20598, 389}, {13581, 19046, 141}, {15509, 17238, 21}},
+ {{22, 17364, 15382}, {150, 19156, 13462}, {406, 20692, 11670}, {790, 21972, 10006}, {1302, 22996, 8470}, {1942, 23764, 7062}, {2710, 24276, 5782}, {3606, 24532, 4630}, {4630, 24532, 3606}, {5782, 24276, 2710}, {7062, 23764, 1942}, {8470, 22996, 1302}, {10006, 21972, 790}, {11670, 20692, 406}, {13462, 19156, 150}, {15382, 17364, 22}},
+ {{50, 26460, 22642}, {270, 29092, 19790}, {682, 31340, 17130}, {1286, 33204, 14662}, {2082, 34684, 12386}, {3070, 35780, 10302}, {4250, 36492, 8410}, {5622, 36820, 6710}, {7186, 36764, 5202}, {8942, 36324, 3886}, {10890, 35500, 2762}, {13030, 34292, 1830}, {15362, 32700, 1090}, {17886, 30724, 542}, {20602, 28364, 186}, {23510, 25620, 22}},
+ {{16, 17248, 15504}, {136, 19056, 13576}, {384, 20608, 11776}, {760, 21904, 10104}, {1264, 22944, 8560}, {1896, 23728, 7144}, {2656, 24256, 5856}, {3544, 24528, 4696}, {4560, 24544, 3664}, {5704, 24304, 2760}, {6976, 23808, 1984}, {8376, 23056, 1336}, {9904, 22048, 816}, {11560, 20784, 424}, {13344, 19264, 160}, {15256, 17488, 24}},
+ {{44, 26344, 22764}, {256, 28992, 19904}, {660, 31256, 17236}, {1256, 33136, 14760}, {2044, 34632, 12476}, {3024, 35744, 10384}, {4196, 36472, 8484}, {5560, 36816, 6776}, {7116, 36776, 5260}, {8864, 36352, 3936}, {10804, 35544, 2804}, {12936, 34352, 1864}, {15260, 32776, 1116}, {17776, 30816, 560}, {20484, 28472, 196}, {23384, 25744, 24}},
+ {{37, 26230, 22885}, {241, 28894, 20017}, {637, 31174, 17341}, {1225, 33070, 14857}, {2005, 34582, 12565}, {2977, 35710, 10465}, {4141, 36454, 8557}, {5497, 36814, 6841}, {7045, 36790, 5317}, {8785, 36382, 3985}, {10717, 35590, 2845}, {12841, 34414, 1897}, {15157, 32854, 1141}, {17665, 30910, 577}, {20365, 28582, 205}, {23257, 25870, 25}},
+ {{65, 35326, 30145}, {361, 38830, 26345}, {913, 41822, 22801}, {1721, 44302, 19513}, {2785, 46270, 16481}, {4105, 47726, 13705}, {5681, 48670, 11185}, {7513, 49102, 8921}, {9601, 49022, 6913}, {11945, 48430, 5161}, {14545, 47326, 3665}, {17401, 45710, 2425}, {20513, 43582, 1441}, {23881, 40942, 713}, {27505, 37790, 241}, {31385, 34126, 25}},
+ {{11, 17130, 15627}, {123, 18954, 13691}, {363, 20522, 11883}, {731, 21834, 10203}, {1227, 22890, 8651}, {1851, 23690, 7227}, {2603, 24234, 5931}, {3483, 24522, 4763}, {4491, 24554, 3723}, {5627, 24330, 2811}, {6891, 23850, 2027}, {8283, 23114, 1371}, {9803, 22122, 843}, {11451, 20874, 443}, {13227, 19370, 171}, {15131, 17610, 27}},
+ {{39, 26226, 22887}, {243, 28890, 20019}, {639, 31170, 17343}, {1227, 33066, 14859}, {2007, 34578, 12567}, {2979, 35706, 10467}, {4143, 36450, 8559}, {5499, 36810, 6843}, {7047, 36786, 5319}, {8787, 36378, 3987}, {10719, 35586, 2847}, {12843, 34410, 1899}, {15159, 32850, 1143}, {17667, 30906, 579}, {20367, 28578, 207}, {23259, 25866, 27}},
+ {{32, 26112, 23008}, {228, 28792, 20132}, {616, 31088, 17448}, {1196, 33000, 14956}, {1968, 34528, 12656}, {2932, 35672, 10548}, {4088, 36432, 8632}, {5436, 36808, 6908}, {6976, 36800, 5376}, {8708, 36408, 4036}, {10632, 35632, 2888}, {12748, 34472, 1932}, {15056, 32928, 1168}, {17556, 31000, 596}, {20248, 28688, 216}, {23132, 25992, 28}},
+ {{60, 35208, 30268}, {348, 38728, 26460}, {892, 41736, 22908}, {1692, 44232, 19612}, {2748, 46216, 16572}, {4060, 47688, 13788}, {5628, 48648, 11260}, {7452, 49096, 8988}, {9532, 49032, 6972}, {11868, 48456, 5212}, {14460, 47368, 3708}, {17308, 45768, 2460}, {20412, 43656, 1468}, {23772, 41032, 732}, {27388, 37896, 252}, {31260, 34248, 28}},
+ {{26, 25996, 23130}, {214, 28692, 20246}, {594, 31004, 17554}, {1166, 32932, 15054}, {1930, 34476, 12746}, {2886, 35636, 10630}, {4034, 36412, 8706}, {5374, 36804, 6974}, {6906, 36812, 5434}, {8630, 36436, 4086}, {10546, 35676, 2930}, {12654, 34532, 1966}, {14954, 33004, 1194}, {17446, 31092, 614}, {20130, 28796, 226}, {23006, 26116, 30}},
+ {{54, 35092, 30390}, {334, 38628, 26574}, {870, 41652, 23014}, {1662, 44164, 19710}, {2710, 46164, 16662}, {4014, 47652, 13870}, {5574, 48628, 11334}, {7390, 49092, 9054}, {9462, 49044, 7030}, {11790, 48484, 5262}, {14374, 47412, 3750}, {17214, 45828, 2494}, {20310, 43732, 1494}, {23662, 41124, 750}, {27270, 38004, 262}, {31134, 34372, 30}},
+ {{47, 34978, 30511}, {319, 38530, 26687}, {847, 41570, 23119}, {1631, 44098, 19807}, {2671, 46114, 16751}, {3967, 47618, 13951}, {5519, 48610, 11407}, {7327, 49090, 9119}, {9391, 49058, 7087}, {11711, 48514, 5311}, {14287, 47458, 3791}, {17119, 45890, 2527}, {20207, 43810, 1519}, {23551, 41218, 767}, {27151, 38114, 271}, {31007, 34498, 31}},
+ {{75, 44074, 37771}, {439, 48466, 33015}, {1123, 52218, 28579}, {2127, 55330, 24463}, {3451, 57802, 20667}, {5095, 59634, 17191}, {7059, 60826, 14035}, {9343, 61378, 11199}, {11947, 61290, 8683}, {14871, 60562, 6487}, {18115, 59194, 4611}, {21679, 57186, 3055}, {25563, 54538, 1819}, {29767, 51250, 903}, {34291, 47322, 307}, {39135, 42754, 31}},
+ {{7, 17010, 15751}, {111, 18850, 13807}, {343, 20434, 11991}, {703, 21762, 10303}, {1191, 22834, 8743}, {1807, 23650, 7311}, {2551, 24210, 6007}, {3423, 24514, 4831}, {4423, 24562, 3783}, {5551, 24354, 2863}, {6807, 23890, 2071}, {8191, 23170, 1407}, {9703, 22194, 871}, {11343, 20962, 463}, {13111, 19474, 183}, {15007, 17730, 31}},
+ {{35, 26106, 23011}, {231, 28786, 20135}, {619, 31082, 17451}, {1199, 32994, 14959}, {1971, 34522, 12659}, {2935, 35666, 10551}, {4091, 36426, 8635}, {5439, 36802, 6911}, {6979, 36794, 5379}, {8711, 36402, 4039}, {10635, 35626, 2891}, {12751, 34466, 1935}, {15059, 32922, 1171}, {17559, 30994, 599}, {20251, 28682, 219}, {23135, 25986, 31}},
+ {{28, 25992, 23132}, {216, 28688, 20248}, {596, 31000, 17556}, {1168, 32928, 15056}, {1932, 34472, 12748}, {2888, 35632, 10632}, {4036, 36408, 8708}, {5376, 36800, 6976}, {6908, 36808, 5436}, {8632, 36432, 4088}, {10548, 35672, 2932}, {12656, 34528, 1968}, {14956, 33000, 1196}, {17448, 31088, 616}, {20132, 28792, 228}, {23008, 26112, 32}},
+ {{56, 35088, 30392}, {336, 38624, 26576}, {872, 41648, 23016}, {1664, 44160, 19712}, {2712, 46160, 16664}, {4016, 47648, 13872}, {5576, 48624, 11336}, {7392, 49088, 9056}, {9464, 49040, 7032}, {11792, 48480, 5264}, {14376, 47408, 3752}, {17216, 45824, 2496}, {20312, 43728, 1496}, {23664, 41120, 752}, {27272, 38000, 264}, {31136, 34368, 32}},
+ {{22, 25876, 23254}, {202, 28588, 20362}, {574, 30916, 17662}, {1138, 32860, 15154}, {1894, 34420, 12838}, {2842, 35596, 10714}, {3982, 36388, 8782}, {5314, 36796, 7042}, {6838, 36820, 5494}, {8554, 36460, 4138}, {10462, 35716, 2974}, {12562, 34588, 2002}, {14854, 33076, 1222}, {17338, 31180, 634}, {20014, 28900, 238}, {22882, 26236, 34}},
+ {{50, 34972, 30514}, {322, 38524, 26690}, {850, 41564, 23122}, {1634, 44092, 19810}, {2674, 46108, 16754}, {3970, 47612, 13954}, {5522, 48604, 11410}, {7330, 49084, 9122}, {9394, 49052, 7090}, {11714, 48508, 5314}, {14290, 47452, 3794}, {17122, 45884, 2530}, {20210, 43804, 1522}, {23554, 41212, 770}, {27154, 38108, 274}, {31010, 34492, 34}},
+ {{43, 34858, 30635}, {307, 38426, 26803}, {827, 41482, 23227}, {1603, 44026, 19907}, {2635, 46058, 16843}, {3923, 47578, 14035}, {5467, 48586, 11483}, {7267, 49082, 9187}, {9323, 49066, 7147}, {11635, 48538, 5363}, {14203, 47498, 3835}, {17027, 45946, 2563}, {20107, 43882, 1547}, {23443, 41306, 787}, {27035, 38218, 283}, {30883, 34618, 35}},
+ {{71, 43954, 37895}, {427, 48362, 33131}, {1103, 52130, 28687}, {2099, 55258, 24563}, {3415, 57746, 20759}, {5051, 59594, 17275}, {7007, 60802, 14111}, {9283, 61370, 11267}, {11879, 61298, 8743}, {14795, 60586, 6539}, {18031, 59234, 4655}, {21587, 57242, 3091}, {25463, 54610, 1847}, {29659, 51338, 923}, {34175, 47426, 319}, {39011, 42874, 35}},
+ {{17, 25758, 23377}, {189, 28486, 20477}, {553, 30830, 17769}, {1109, 32790, 15253}, {1857, 34366, 12929}, {2797, 35558, 10797}, {3929, 36366, 8857}, {5253, 36790, 7109}, {6769, 36830, 5553}, {8477, 36486, 4189}, {10377, 35758, 3017}, {12469, 34646, 2037}, {14753, 33150, 1249}, {17229, 31270, 653}, {19897, 29006, 249}, {22757, 26358, 37}},
+ {{45, 34854, 30637}, {309, 38422, 26805}, {829, 41478, 23229}, {1605, 44022, 19909}, {2637, 46054, 16845}, {3925, 47574, 14037}, {5469, 48582, 11485}, {7269, 49078, 9189}, {9325, 49062, 7149}, {11637, 48534, 5365}, {14205, 47494, 3837}, {17029, 45942, 2565}, {20109, 43878, 1549}, {23445, 41302, 789}, {27037, 38214, 285}, {30885, 34614, 37}},
+ {{38, 34740, 30758}, {294, 38324, 26918}, {806, 41396, 23334}, {1574, 43956, 20006}, {2598, 46004, 16934}, {3878, 47540, 14118}, {5414, 48564, 11558}, {7206, 49076, 9254}, {9254, 49076, 7206}, {11558, 48564, 5414}, {14118, 47540, 3878}, {16934, 46004, 2598}, {20006, 43956, 1574}, {23334, 41396, 806}, {26918, 38324, 294}, {30758, 34740, 38}},
+ {{66, 43836, 38018}, {414, 48260, 33246}, {1082, 52044, 28794}, {2070, 55188, 24662}, {3378, 57692, 20850}, {5006, 59556, 17358}, {6954, 60780, 14186}, {9222, 61364, 11334}, {11810, 61308, 8802}, {14718, 60612, 6590}, {17946, 59276, 4698}, {21494, 57300, 3126}, {25362, 54684, 1874}, {29550, 51428, 942}, {34058, 47532, 330}, {38886, 42996, 38}},
+ {{32, 34624, 30880}, {280, 38224, 27032}, {784, 41312, 23440}, {1544, 43888, 20104}, {2560, 45952, 17024}, {3832, 47504, 14200}, {5360, 48544, 11632}, {7144, 49072, 9320}, {9184, 49088, 7264}, {11480, 48592, 5464}, {14032, 47584, 3920}, {16840, 46064, 2632}, {19904, 44032, 1600}, {23224, 41488, 824}, {26800, 38432, 304}, {30632, 34864, 40}},
+ {{60, 43720, 38140}, {400, 48160, 33360}, {1060, 51960, 28900}, {2040, 55120, 24760}, {3340, 57640, 20940}, {4960, 59520, 17440}, {6900, 60760, 14260}, {9160, 61360, 11400}, {11740, 61320, 8860}, {14640, 60640, 6640}, {17860, 59320, 4740}, {21400, 57360, 3160}, {25260, 54760, 1900}, {29440, 51520, 960}, {33940, 47640, 340}, {38760, 43120, 40}},
+ {{53, 43606, 38261}, {385, 48062, 33473}, {1037, 51878, 29005}, {2009, 55054, 24857}, {3301, 57590, 21029}, {4913, 59486, 17521}, {6845, 60742, 14333}, {9097, 61358, 11465}, {11669, 61334, 8917}, {14561, 60670, 6689}, {17773, 59366, 4781}, {21305, 57422, 3193}, {25157, 54838, 1925}, {29329, 51614, 977}, {33821, 47750, 349}, {38633, 43246, 41}},
+ {{81, 52702, 45521}, {505, 57998, 39801}, {1313, 62526, 34465}, {2505, 66286, 29513}, {4081, 69278, 24945}, {6041, 71502, 20761}, {8385, 72958, 16961}, {11113, 73646, 13545}, {14225, 73566, 10513}, {17721, 72718, 7865}, {21601, 71102, 5601}, {25865, 68718, 3721}, {30513, 65566, 2225}, {35545, 61646, 1113}, {40961, 56958, 385}, {46761, 51502, 41}},
+ {{4, 16888, 15876}, {100, 18744, 13924}, {324, 20344, 12100}, {676, 21688, 10404}, {1156, 22776, 8836}, {1764, 23608, 7396}, {2500, 24184, 6084}, {3364, 24504, 4900}, {4356, 24568, 3844}, {5476, 24376, 2916}, {6724, 23928, 2116}, {8100, 23224, 1444}, {9604, 22264, 900}, {11236, 21048, 484}, {12996, 19576, 196}, {14884, 17848, 36}},
+ {{32, 25984, 23136}, {220, 28680, 20252}, {600, 30992, 17560}, {1172, 32920, 15060}, {1936, 34464, 12752}, {2892, 35624, 10636}, {4040, 36400, 8712}, {5380, 36792, 6980}, {6912, 36800, 5440}, {8636, 36424, 4092}, {10552, 35664, 2936}, {12660, 34520, 1972}, {14960, 32992, 1200}, {17452, 31080, 620}, {20136, 28784, 232}, {23012, 26104, 36}},
+ {{25, 25870, 23257}, {205, 28582, 20365}, {577, 30910, 17665}, {1141, 32854, 15157}, {1897, 34414, 12841}, {2845, 35590, 10717}, {3985, 36382, 8785}, {5317, 36790, 7045}, {6841, 36814, 5497}, {8557, 36454, 4141}, {10465, 35710, 2977}, {12565, 34582, 2005}, {14857, 33070, 1225}, {17341, 31174, 637}, {20017, 28894, 241}, {22885, 26230, 37}},
+ {{53, 34966, 30517}, {325, 38518, 26693}, {853, 41558, 23125}, {1637, 44086, 19813}, {2677, 46102, 16757}, {3973, 47606, 13957}, {5525, 48598, 11413}, {7333, 49078, 9125}, {9397, 49046, 7093}, {11717, 48502, 5317}, {14293, 47446, 3797}, {17125, 45878, 2533}, {20213, 43798, 1525}, {23557, 41206, 773}, {27157, 38102, 277}, {31013, 34486, 37}},
+ {{19, 25754, 23379}, {191, 28482, 20479}, {555, 30826, 17771}, {1111, 32786, 15255}, {1859, 34362, 12931}, {2799, 35554, 10799}, {3931, 36362, 8859}, {5255, 36786, 7111}, {6771, 36826, 5555}, {8479, 36482, 4191}, {10379, 35754, 3019}, {12471, 34642, 2039}, {14755, 33146, 1251}, {17231, 31266, 655}, {19899, 29002, 251}, {22759, 26354, 39}},
+ {{47, 34850, 30639}, {311, 38418, 26807}, {831, 41474, 23231}, {1607, 44018, 19911}, {2639, 46050, 16847}, {3927, 47570, 14039}, {5471, 48578, 11487}, {7271, 49074, 9191}, {9327, 49058, 7151}, {11639, 48530, 5367}, {14207, 47490, 3839}, {17031, 45938, 2567}, {20111, 43874, 1551}, {23447, 41298, 791}, {27039, 38210, 287}, {30887, 34610, 39}},
+ {{40, 34736, 30760}, {296, 38320, 26920}, {808, 41392, 23336}, {1576, 43952, 20008}, {2600, 46000, 16936}, {3880, 47536, 14120}, {5416, 48560, 11560}, {7208, 49072, 9256}, {9256, 49072, 7208}, {11560, 48560, 5416}, {14120, 47536, 3880}, {16936, 46000, 2600}, {20008, 43952, 1576}, {23336, 41392, 808}, {26920, 38320, 296}, {30760, 34736, 40}},
+ {{68, 43832, 38020}, {416, 48256, 33248}, {1084, 52040, 28796}, {2072, 55184, 24664}, {3380, 57688, 20852}, {5008, 59552, 17360}, {6956, 60776, 14188}, {9224, 61360, 11336}, {11812, 61304, 8804}, {14720, 60608, 6592}, {17948, 59272, 4700}, {21496, 57296, 3128}, {25364, 54680, 1876}, {29552, 51424, 944}, {34060, 47528, 332}, {38888, 42992, 40}},
+ {{14, 25636, 23502}, {178, 28380, 20594}, {534, 30740, 17878}, {1082, 32716, 15354}, {1822, 34308, 13022}, {2754, 35516, 10882}, {3878, 36340, 8934}, {5194, 36780, 7178}, {6702, 36836, 5614}, {8402, 36508, 4242}, {10294, 35796, 3062}, {12378, 34700, 2074}, {14654, 33220, 1278}, {17122, 31356, 674}, {19782, 29108, 262}, {22634, 26476, 42}},
+ {{42, 34732, 30762}, {298, 38316, 26922}, {810, 41388, 23338}, {1578, 43948, 20010}, {2602, 45996, 16938}, {3882, 47532, 14122}, {5418, 48556, 11562}, {7210, 49068, 9258}, {9258, 49068, 7210}, {11562, 48556, 5418}, {14122, 47532, 3882}, {16938, 45996, 2602}, {20010, 43948, 1578}, {23338, 41388, 810}, {26922, 38316, 298}, {30762, 34732, 42}},
+ {{35, 34618, 30883}, {283, 38218, 27035}, {787, 41306, 23443}, {1547, 43882, 20107}, {2563, 45946, 17027}, {3835, 47498, 14203}, {5363, 48538, 11635}, {7147, 49066, 9323}, {9187, 49082, 7267}, {11483, 48586, 5467}, {14035, 47578, 3923}, {16843, 46058, 2635}, {19907, 44026, 1603}, {23227, 41482, 827}, {26803, 38426, 307}, {30635, 34858, 43}},
+ {{63, 43714, 38143}, {403, 48154, 33363}, {1063, 51954, 28903}, {2043, 55114, 24763}, {3343, 57634, 20943}, {4963, 59514, 17443}, {6903, 60754, 14263}, {9163, 61354, 11403}, {11743, 61314, 8863}, {14643, 60634, 6643}, {17863, 59314, 4743}, {21403, 57354, 3163}, {25263, 54754, 1903}, {29443, 51514, 963}, {33943, 47634, 343}, {38763, 43114, 43}},
+ {{29, 34502, 31005}, {269, 38118, 27149}, {765, 41222, 23549}, {1517, 43814, 20205}, {2525, 45894, 17117}, {3789, 47462, 14285}, {5309, 48518, 11709}, {7085, 49062, 9389}, {9117, 49094, 7325}, {11405, 48614, 5517}, {13949, 47622, 3965}, {16749, 46118, 2669}, {19805, 44102, 1629}, {23117, 41574, 845}, {26685, 38534, 317}, {30509, 34982, 45}},
+ {{57, 43598, 38265}, {389, 48054, 33477}, {1041, 51870, 29009}, {2013, 55046, 24861}, {3305, 57582, 21033}, {4917, 59478, 17525}, {6849, 60734, 14337}, {9101, 61350, 11469}, {11673, 61326, 8921}, {14565, 60662, 6693}, {17777, 59358, 4785}, {21309, 57414, 3197}, {25161, 54830, 1929}, {29333, 51606, 981}, {33825, 47742, 353}, {38637, 43238, 45}},
+ {{50, 43484, 38386}, {374, 47956, 33590}, {1018, 51788, 29114}, {1982, 54980, 24958}, {3266, 57532, 21122}, {4870, 59444, 17606}, {6794, 60716, 14410}, {9038, 61348, 11534}, {11602, 61340, 8978}, {14486, 60692, 6742}, {17690, 59404, 4826}, {21214, 57476, 3230}, {25058, 54908, 1954}, {29222, 51700, 998}, {33706, 47852, 362}, {38510, 43364, 46}},
+ {{78, 52580, 45646}, {494, 57892, 39918}, {1294, 62436, 34574}, {2478, 66212, 29614}, {4046, 69220, 25038}, {5998, 71460, 20846}, {8334, 72932, 17038}, {11054, 73636, 13614}, {14158, 73572, 10574}, {17646, 72740, 7918}, {21518, 71140, 5646}, {25774, 68772, 3758}, {30414, 65636, 2254}, {35438, 61732, 1134}, {40846, 57060, 398}, {46638, 51620, 46}},
+ {{10, 25516, 23626}, {166, 28276, 20710}, {514, 30652, 17986}, {1054, 32644, 15454}, {1786, 34252, 13114}, {2710, 35476, 10966}, {3826, 36316, 9010}, {5134, 36772, 7246}, {6634, 36844, 5674}, {8326, 36532, 4294}, {10210, 35836, 3106}, {12286, 34756, 2110}, {14554, 33292, 1306}, {17014, 31444, 694}, {19666, 29212, 274}, {22510, 26596, 46}},
+ {{38, 34612, 30886}, {286, 38212, 27038}, {790, 41300, 23446}, {1550, 43876, 20110}, {2566, 45940, 17030}, {3838, 47492, 14206}, {5366, 48532, 11638}, {7150, 49060, 9326}, {9190, 49076, 7270}, {11486, 48580, 5470}, {14038, 47572, 3926}, {16846, 46052, 2638}, {19910, 44020, 1606}, {23230, 41476, 830}, {26806, 38420, 310}, {30638, 34852, 46}},
+ {{31, 34498, 31007}, {271, 38114, 27151}, {767, 41218, 23551}, {1519, 43810, 20207}, {2527, 45890, 17119}, {3791, 47458, 14287}, {5311, 48514, 11711}, {7087, 49058, 9391}, {9119, 49090, 7327}, {11407, 48610, 5519}, {13951, 47618, 3967}, {16751, 46114, 2671}, {19807, 44098, 1631}, {23119, 41570, 847}, {26687, 38530, 319}, {30511, 34978, 47}},
+ {{59, 43594, 38267}, {391, 48050, 33479}, {1043, 51866, 29011}, {2015, 55042, 24863}, {3307, 57578, 21035}, {4919, 59474, 17527}, {6851, 60730, 14339}, {9103, 61346, 11471}, {11675, 61322, 8923}, {14567, 60658, 6695}, {17779, 59354, 4787}, {21311, 57410, 3199}, {25163, 54826, 1931}, {29335, 51602, 983}, {33827, 47738, 355}, {38639, 43234, 47}},
+ {{25, 34382, 31129}, {257, 38014, 27265}, {745, 41134, 23657}, {1489, 43742, 20305}, {2489, 45838, 17209}, {3745, 47422, 14369}, {5257, 48494, 11785}, {7025, 49054, 9457}, {9049, 49102, 7385}, {11329, 48638, 5569}, {13865, 47662, 4009}, {16657, 46174, 2705}, {19705, 44174, 1657}, {23009, 41662, 865}, {26569, 38638, 329}, {30385, 35102, 49}},
+ {{53, 43478, 38389}, {377, 47950, 33593}, {1021, 51782, 29117}, {1985, 54974, 24961}, {3269, 57526, 21125}, {4873, 59438, 17609}, {6797, 60710, 14413}, {9041, 61342, 11537}, {11605, 61334, 8981}, {14489, 60686, 6745}, {17693, 59398, 4829}, {21217, 57470, 3233}, {25061, 54902, 1957}, {29225, 51694, 1001}, {33709, 47846, 365}, {38513, 43358, 49}},
+ {{46, 43364, 38510}, {362, 47852, 33706}, {998, 51700, 29222}, {1954, 54908, 25058}, {3230, 57476, 21214}, {4826, 59404, 17690}, {6742, 60692, 14486}, {8978, 61340, 11602}, {11534, 61348, 9038}, {14410, 60716, 6794}, {17606, 59444, 4870}, {21122, 57532, 3266}, {24958, 54980, 1982}, {29114, 51788, 1018}, {33590, 47956, 374}, {38386, 43484, 50}},
+ {{74, 52460, 45770}, {482, 57788, 40034}, {1274, 62348, 34682}, {2450, 66140, 29714}, {4010, 69164, 25130}, {5954, 71420, 20930}, {8282, 72908, 17114}, {10994, 73628, 13682}, {14090, 73580, 10634}, {17570, 72764, 7970}, {21434, 71180, 5690}, {25682, 68828, 3794}, {30314, 65708, 2282}, {35330, 61820, 1154}, {40730, 57164, 410}, {46514, 51740, 50}},
+ {{20, 34264, 31252}, {244, 37912, 27380}, {724, 41048, 23764}, {1460, 43672, 20404}, {2452, 45784, 17300}, {3700, 47384, 14452}, {5204, 48472, 11860}, {6964, 49048, 9524}, {8980, 49112, 7444}, {11252, 48664, 5620}, {13780, 47704, 4052}, {16564, 46232, 2740}, {19604, 44248, 1684}, {22900, 41752, 884}, {26452, 38744, 340}, {30260, 35224, 52}},
+ {{48, 43360, 38512}, {364, 47848, 33708}, {1000, 51696, 29224}, {1956, 54904, 25060}, {3232, 57472, 21216}, {4828, 59400, 17692}, {6744, 60688, 14488}, {8980, 61336, 11604}, {11536, 61344, 9040}, {14412, 60712, 6796}, {17608, 59440, 4872}, {21124, 57528, 3268}, {24960, 54976, 1984}, {29116, 51784, 1020}, {33592, 47952, 376}, {38388, 43480, 52}},
+ {{41, 43246, 38633}, {349, 47750, 33821}, {977, 51614, 29329}, {1925, 54838, 25157}, {3193, 57422, 21305}, {4781, 59366, 17773}, {6689, 60670, 14561}, {8917, 61334, 11669}, {11465, 61358, 9097}, {14333, 60742, 6845}, {17521, 59486, 4913}, {21029, 57590, 3301}, {24857, 55054, 2009}, {29005, 51878, 1037}, {33473, 48062, 385}, {38261, 43606, 53}},
+ {{69, 52342, 45893}, {469, 57686, 40149}, {1253, 62262, 34789}, {2421, 66070, 29813}, {3973, 69110, 25221}, {5909, 71382, 21013}, {8229, 72886, 17189}, {10933, 73622, 13749}, {14021, 73590, 10693}, {17493, 72790, 8021}, {21349, 71222, 5733}, {25589, 68886, 3829}, {30213, 65782, 2309}, {35221, 61910, 1173}, {40613, 57270, 421}, {46389, 51862, 53}},
+ {{35, 43130, 38755}, {335, 47650, 33935}, {955, 51530, 29435}, {1895, 54770, 25255}, {3155, 57370, 21395}, {4735, 59330, 17855}, {6635, 60650, 14635}, {8855, 61330, 11735}, {11395, 61370, 9155}, {14255, 60770, 6895}, {17435, 59530, 4955}, {20935, 57650, 3335}, {24755, 55130, 2035}, {28895, 51970, 1055}, {33355, 48170, 395}, {38135, 43730, 55}},
+ {{63, 52226, 46015}, {455, 57586, 40263}, {1231, 62178, 34895}, {2391, 66002, 29911}, {3935, 69058, 25311}, {5863, 71346, 21095}, {8175, 72866, 17263}, {10871, 73618, 13815}, {13951, 73602, 10751}, {17415, 72818, 8071}, {21263, 71266, 5775}, {25495, 68946, 3863}, {30111, 65858, 2335}, {35111, 62002, 1191}, {40495, 57378, 431}, {46263, 51986, 55}},
+ {{56, 52112, 46136}, {440, 57488, 40376}, {1208, 62096, 35000}, {2360, 65936, 30008}, {3896, 69008, 25400}, {5816, 71312, 21176}, {8120, 72848, 17336}, {10808, 73616, 13880}, {13880, 73616, 10808}, {17336, 72848, 8120}, {21176, 71312, 5816}, {25400, 69008, 3896}, {30008, 65936, 2360}, {35000, 62096, 1208}, {40376, 57488, 440}, {46136, 52112, 56}},
+ {{84, 61208, 53396}, {560, 67424, 46704}, {1484, 72744, 40460}, {2856, 77168, 34664}, {4676, 80696, 29316}, {6944, 83328, 24416}, {9660, 85064, 19964}, {12824, 85904, 15960}, {16436, 85848, 12404}, {20496, 84896, 9296}, {25004, 83048, 6636}, {29960, 80304, 4424}, {35364, 76664, 2660}, {41216, 72128, 1344}, {47516, 66696, 476}, {54264, 60368, 56}},
+ {{0, 8256, 8128}, {36, 9208, 7140}, {136, 10032, 6216}, {300, 10728, 5356}, {528, 11296, 4560}, {820, 11736, 3828}, {1176, 12048, 3160}, {1596, 12232, 2556}, {2080, 12288, 2016}, {2628, 12216, 1540}, {3240, 12016, 1128}, {3916, 11688, 780}, {4656, 11232, 496}, {5460, 10648, 276}, {6328, 9936, 120}, {7260, 9096, 28}},
+ {{28, 17352, 15388}, {156, 19144, 13468}, {412, 20680, 11676}, {796, 21960, 10012}, {1308, 22984, 8476}, {1948, 23752, 7068}, {2716, 24264, 5788}, {3612, 24520, 4636}, {4636, 24520, 3612}, {5788, 24264, 2716}, {7068, 23752, 1948}, {8476, 22984, 1308}, {10012, 21960, 796}, {11676, 20680, 412}, {13468, 19144, 156}, {15388, 17352, 28}},
+ {{21, 17238, 15509}, {141, 19046, 13581}, {389, 20598, 11781}, {765, 21894, 10109}, {1269, 22934, 8565}, {1901, 23718, 7149}, {2661, 24246, 5861}, {3549, 24518, 4701}, {4565, 24534, 3669}, {5709, 24294, 2765}, {6981, 23798, 1989}, {8381, 23046, 1341}, {9909, 22038, 821}, {11565, 20774, 429}, {13349, 19254, 165}, {15261, 17478, 29}},
+ {{49, 26334, 22769}, {261, 28982, 19909}, {665, 31246, 17241}, {1261, 33126, 14765}, {2049, 34622, 12481}, {3029, 35734, 10389}, {4201, 36462, 8489}, {5565, 36806, 6781}, {7121, 36766, 5265}, {8869, 36342, 3941}, {10809, 35534, 2809}, {12941, 34342, 1869}, {15265, 32766, 1121}, {17781, 30806, 565}, {20489, 28462, 201}, {23389, 25734, 29}},
+ {{15, 17122, 15631}, {127, 18946, 13695}, {367, 20514, 11887}, {735, 21826, 10207}, {1231, 22882, 8655}, {1855, 23682, 7231}, {2607, 24226, 5935}, {3487, 24514, 4767}, {4495, 24546, 3727}, {5631, 24322, 2815}, {6895, 23842, 2031}, {8287, 23106, 1375}, {9807, 22114, 847}, {11455, 20866, 447}, {13231, 19362, 175}, {15135, 17602, 31}},
+ {{43, 26218, 22891}, {247, 28882, 20023}, {643, 31162, 17347}, {1231, 33058, 14863}, {2011, 34570, 12571}, {2983, 35698, 10471}, {4147, 36442, 8563}, {5503, 36802, 6847}, {7051, 36778, 5323}, {8791, 36370, 3991}, {10723, 35578, 2851}, {12847, 34402, 1903}, {15163, 32842, 1147}, {17671, 30898, 583}, {20371, 28570, 211}, {23263, 25858, 31}},
+ {{36, 26104, 23012}, {232, 28784, 20136}, {620, 31080, 17452}, {1200, 32992, 14960}, {1972, 34520, 12660}, {2936, 35664, 10552}, {4092, 36424, 8636}, {5440, 36800, 6912}, {6980, 36792, 5380}, {8712, 36400, 4040}, {10636, 35624, 2892}, {12752, 34464, 1936}, {15060, 32920, 1172}, {17560, 30992, 600}, {20252, 28680, 220}, {23136, 25984, 32}},
+ {{64, 35200, 30272}, {352, 38720, 26464}, {896, 41728, 22912}, {1696, 44224, 19616}, {2752, 46208, 16576}, {4064, 47680, 13792}, {5632, 48640, 11264}, {7456, 49088, 8992}, {9536, 49024, 6976}, {11872, 48448, 5216}, {14464, 47360, 3712}, {17312, 45760, 2464}, {20416, 43648, 1472}, {23776, 41024, 736}, {27392, 37888, 256}, {31264, 34240, 32}},
+ {{10, 17004, 15754}, {114, 18844, 13810}, {346, 20428, 11994}, {706, 21756, 10306}, {1194, 22828, 8746}, {1810, 23644, 7314}, {2554, 24204, 6010}, {3426, 24508, 4834}, {4426, 24556, 3786}, {5554, 24348, 2866}, {6810, 23884, 2074}, {8194, 23164, 1410}, {9706, 22188, 874}, {11346, 20956, 466}, {13114, 19468, 186}, {15010, 17724, 34}},
+ {{38, 26100, 23014}, {234, 28780, 20138}, {622, 31076, 17454}, {1202, 32988, 14962}, {1974, 34516, 12662}, {2938, 35660, 10554}, {4094, 36420, 8638}, {5442, 36796, 6914}, {6982, 36788, 5382}, {8714, 36396, 4042}, {10638, 35620, 2894}, {12754, 34460, 1938}, {15062, 32916, 1174}, {17562, 30988, 602}, {20254, 28676, 222}, {23138, 25980, 34}},
+ {{31, 25986, 23135}, {219, 28682, 20251}, {599, 30994, 17559}, {1171, 32922, 15059}, {1935, 34466, 12751}, {2891, 35626, 10635}, {4039, 36402, 8711}, {5379, 36794, 6979}, {6911, 36802, 5439}, {8635, 36426, 4091}, {10551, 35666, 2935}, {12659, 34522, 1971}, {14959, 32994, 1199}, {17451, 31082, 619}, {20135, 28786, 231}, {23011, 26106, 35}},
+ {{59, 35082, 30395}, {339, 38618, 26579}, {875, 41642, 23019}, {1667, 44154, 19715}, {2715, 46154, 16667}, {4019, 47642, 13875}, {5579, 48618, 11339}, {7395, 49082, 9059}, {9467, 49034, 7035}, {11795, 48474, 5267}, {14379, 47402, 3755}, {17219, 45818, 2499}, {20315, 43722, 1499}, {23667, 41114, 755}, {27275, 37994, 267}, {31139, 34362, 35}},
+ {{25, 25870, 23257}, {205, 28582, 20365}, {577, 30910, 17665}, {1141, 32854, 15157}, {1897, 34414, 12841}, {2845, 35590, 10717}, {3985, 36382, 8785}, {5317, 36790, 7045}, {6841, 36814, 5497}, {8557, 36454, 4141}, {10465, 35710, 2977}, {12565, 34582, 2005}, {14857, 33070, 1225}, {17341, 31174, 637}, {20017, 28894, 241}, {22885, 26230, 37}},
+ {{53, 34966, 30517}, {325, 38518, 26693}, {853, 41558, 23125}, {1637, 44086, 19813}, {2677, 46102, 16757}, {3973, 47606, 13957}, {5525, 48598, 11413}, {7333, 49078, 9125}, {9397, 49046, 7093}, {11717, 48502, 5317}, {14293, 47446, 3797}, {17125, 45878, 2533}, {20213, 43798, 1525}, {23557, 41206, 773}, {27157, 38102, 277}, {31013, 34486, 37}},
+ {{46, 34852, 30638}, {310, 38420, 26806}, {830, 41476, 23230}, {1606, 44020, 19910}, {2638, 46052, 16846}, {3926, 47572, 14038}, {5470, 48580, 11486}, {7270, 49076, 9190}, {9326, 49060, 7150}, {11638, 48532, 5366}, {14206, 47492, 3838}, {17030, 45940, 2566}, {20110, 43876, 1550}, {23446, 41300, 790}, {27038, 38212, 286}, {30886, 34612, 38}},
+ {{74, 43948, 37898}, {430, 48356, 33134}, {1106, 52124, 28690}, {2102, 55252, 24566}, {3418, 57740, 20762}, {5054, 59588, 17278}, {7010, 60796, 14114}, {9286, 61364, 11270}, {11882, 61292, 8746}, {14798, 60580, 6542}, {18034, 59228, 4658}, {21590, 57236, 3094}, {25466, 54604, 1850}, {29662, 51332, 926}, {34178, 47420, 322}, {39014, 42868, 38}},
+ {{6, 16884, 15878}, {102, 18740, 13926}, {326, 20340, 12102}, {678, 21684, 10406}, {1158, 22772, 8838}, {1766, 23604, 7398}, {2502, 24180, 6086}, {3366, 24500, 4902}, {4358, 24564, 3846}, {5478, 24372, 2918}, {6726, 23924, 2118}, {8102, 23220, 1446}, {9606, 22260, 902}, {11238, 21044, 486}, {12998, 19572, 198}, {14886, 17844, 38}},
+ {{34, 25980, 23138}, {222, 28676, 20254}, {602, 30988, 17562}, {1174, 32916, 15062}, {1938, 34460, 12754}, {2894, 35620, 10638}, {4042, 36396, 8714}, {5382, 36788, 6982}, {6914, 36796, 5442}, {8638, 36420, 4094}, {10554, 35660, 2938}, {12662, 34516, 1974}, {14962, 32988, 1202}, {17454, 31076, 622}, {20138, 28780, 234}, {23014, 26100, 38}},
+ {{27, 25866, 23259}, {207, 28578, 20367}, {579, 30906, 17667}, {1143, 32850, 15159}, {1899, 34410, 12843}, {2847, 35586, 10719}, {3987, 36378, 8787}, {5319, 36786, 7047}, {6843, 36810, 5499}, {8559, 36450, 4143}, {10467, 35706, 2979}, {12567, 34578, 2007}, {14859, 33066, 1227}, {17343, 31170, 639}, {20019, 28890, 243}, {22887, 26226, 39}},
+ {{55, 34962, 30519}, {327, 38514, 26695}, {855, 41554, 23127}, {1639, 44082, 19815}, {2679, 46098, 16759}, {3975, 47602, 13959}, {5527, 48594, 11415}, {7335, 49074, 9127}, {9399, 49042, 7095}, {11719, 48498, 5319}, {14295, 47442, 3799}, {17127, 45874, 2535}, {20215, 43794, 1527}, {23559, 41202, 775}, {27159, 38098, 279}, {31015, 34482, 39}},
+ {{21, 25750, 23381}, {193, 28478, 20481}, {557, 30822, 17773}, {1113, 32782, 15257}, {1861, 34358, 12933}, {2801, 35550, 10801}, {3933, 36358, 8861}, {5257, 36782, 7113}, {6773, 36822, 5557}, {8481, 36478, 4193}, {10381, 35750, 3021}, {12473, 34638, 2041}, {14757, 33142, 1253}, {17233, 31262, 657}, {19901, 28998, 253}, {22761, 26350, 41}},
+ {{49, 34846, 30641}, {313, 38414, 26809}, {833, 41470, 23233}, {1609, 44014, 19913}, {2641, 46046, 16849}, {3929, 47566, 14041}, {5473, 48574, 11489}, {7273, 49070, 9193}, {9329, 49054, 7153}, {11641, 48526, 5369}, {14209, 47486, 3841}, {17033, 45934, 2569}, {20113, 43870, 1553}, {23449, 41294, 793}, {27041, 38206, 289}, {30889, 34606, 41}},
+ {{42, 34732, 30762}, {298, 38316, 26922}, {810, 41388, 23338}, {1578, 43948, 20010}, {2602, 45996, 16938}, {3882, 47532, 14122}, {5418, 48556, 11562}, {7210, 49068, 9258}, {9258, 49068, 7210}, {11562, 48556, 5418}, {14122, 47532, 3882}, {16938, 45996, 2602}, {20010, 43948, 1578}, {23338, 41388, 810}, {26922, 38316, 298}, {30762, 34732, 42}},
+ {{70, 43828, 38022}, {418, 48252, 33250}, {1086, 52036, 28798}, {2074, 55180, 24666}, {3382, 57684, 20854}, {5010, 59548, 17362}, {6958, 60772, 14190}, {9226, 61356, 11338}, {11814, 61300, 8806}, {14722, 60604, 6594}, {17950, 59268, 4702}, {21498, 57292, 3130}, {25366, 54676, 1878}, {29554, 51420, 946}, {34062, 47524, 334}, {38890, 42988, 42}},
+ {{16, 25632, 23504}, {180, 28376, 20596}, {536, 30736, 17880}, {1084, 32712, 15356}, {1824, 34304, 13024}, {2756, 35512, 10884}, {3880, 36336, 8936}, {5196, 36776, 7180}, {6704, 36832, 5616}, {8404, 36504, 4244}, {10296, 35792, 3064}, {12380, 34696, 2076}, {14656, 33216, 1280}, {17124, 31352, 676}, {19784, 29104, 264}, {22636, 26472, 44}},
+ {{44, 34728, 30764}, {300, 38312, 26924}, {812, 41384, 23340}, {1580, 43944, 20012}, {2604, 45992, 16940}, {3884, 47528, 14124}, {5420, 48552, 11564}, {7212, 49064, 9260}, {9260, 49064, 7212}, {11564, 48552, 5420}, {14124, 47528, 3884}, {16940, 45992, 2604}, {20012, 43944, 1580}, {23340, 41384, 812}, {26924, 38312, 300}, {30764, 34728, 44}},
+ {{37, 34614, 30885}, {285, 38214, 27037}, {789, 41302, 23445}, {1549, 43878, 20109}, {2565, 45942, 17029}, {3837, 47494, 14205}, {5365, 48534, 11637}, {7149, 49062, 9325}, {9189, 49078, 7269}, {11485, 48582, 5469}, {14037, 47574, 3925}, {16845, 46054, 2637}, {19909, 44022, 1605}, {23229, 41478, 829}, {26805, 38422, 309}, {30637, 34854, 45}},
+ {{65, 43710, 38145}, {405, 48150, 33365}, {1065, 51950, 28905}, {2045, 55110, 24765}, {3345, 57630, 20945}, {4965, 59510, 17445}, {6905, 60750, 14265}, {9165, 61350, 11405}, {11745, 61310, 8865}, {14645, 60630, 6645}, {17865, 59310, 4745}, {21405, 57350, 3165}, {25265, 54750, 1905}, {29445, 51510, 965}, {33945, 47630, 345}, {38765, 43110, 45}},
+ {{31, 34498, 31007}, {271, 38114, 27151}, {767, 41218, 23551}, {1519, 43810, 20207}, {2527, 45890, 17119}, {3791, 47458, 14287}, {5311, 48514, 11711}, {7087, 49058, 9391}, {9119, 49090, 7327}, {11407, 48610, 5519}, {13951, 47618, 3967}, {16751, 46114, 2671}, {19807, 44098, 1631}, {23119, 41570, 847}, {26687, 38530, 319}, {30511, 34978, 47}},
+ {{59, 43594, 38267}, {391, 48050, 33479}, {1043, 51866, 29011}, {2015, 55042, 24863}, {3307, 57578, 21035}, {4919, 59474, 17527}, {6851, 60730, 14339}, {9103, 61346, 11471}, {11675, 61322, 8923}, {14567, 60658, 6695}, {17779, 59354, 4787}, {21311, 57410, 3199}, {25163, 54826, 1931}, {29335, 51602, 983}, {33827, 47738, 355}, {38639, 43234, 47}},
+ {{52, 43480, 38388}, {376, 47952, 33592}, {1020, 51784, 29116}, {1984, 54976, 24960}, {3268, 57528, 21124}, {4872, 59440, 17608}, {6796, 60712, 14412}, {9040, 61344, 11536}, {11604, 61336, 8980}, {14488, 60688, 6744}, {17692, 59400, 4828}, {21216, 57472, 3232}, {25060, 54904, 1956}, {29224, 51696, 1000}, {33708, 47848, 364}, {38512, 43360, 48}},
+ {{80, 52576, 45648}, {496, 57888, 39920}, {1296, 62432, 34576}, {2480, 66208, 29616}, {4048, 69216, 25040}, {6000, 71456, 20848}, {8336, 72928, 17040}, {11056, 73632, 13616}, {14160, 73568, 10576}, {17648, 72736, 7920}, {21520, 71136, 5648}, {25776, 68768, 3760}, {30416, 65632, 2256}, {35440, 61728, 1136}, {40848, 57056, 400}, {46640, 51616, 48}},
+ {{3, 16762, 16003}, {91, 18634, 14043}, {307, 20250, 12211}, {651, 21610, 10507}, {1123, 22714, 8931}, {1723, 23562, 7483}, {2451, 24154, 6163}, {3307, 24490, 4971}, {4291, 24570, 3907}, {5403, 24394, 2971}, {6643, 23962, 2163}, {8011, 23274, 1483}, {9507, 22330, 931}, {11131, 21130, 507}, {12883, 19674, 211}, {14763, 17962, 43}},
+ {{31, 25858, 23263}, {211, 28570, 20371}, {583, 30898, 17671}, {1147, 32842, 15163}, {1903, 34402, 12847}, {2851, 35578, 10723}, {3991, 36370, 8791}, {5323, 36778, 7051}, {6847, 36802, 5503}, {8563, 36442, 4147}, {10471, 35698, 2983}, {12571, 34570, 2011}, {14863, 33058, 1231}, {17347, 31162, 643}, {20023, 28882, 247}, {22891, 26218, 43}},
+ {{24, 25744, 23384}, {196, 28472, 20484}, {560, 30816, 17776}, {1116, 32776, 15260}, {1864, 34352, 12936}, {2804, 35544, 10804}, {3936, 36352, 8864}, {5260, 36776, 7116}, {6776, 36816, 5560}, {8484, 36472, 4196}, {10384, 35744, 3024}, {12476, 34632, 2044}, {14760, 33136, 1256}, {17236, 31256, 660}, {19904, 28992, 256}, {22764, 26344, 44}},
+ {{52, 34840, 30644}, {316, 38408, 26812}, {836, 41464, 23236}, {1612, 44008, 19916}, {2644, 46040, 16852}, {3932, 47560, 14044}, {5476, 48568, 11492}, {7276, 49064, 9196}, {9332, 49048, 7156}, {11644, 48520, 5372}, {14212, 47480, 3844}, {17036, 45928, 2572}, {20116, 43864, 1556}, {23452, 41288, 796}, {27044, 38200, 292}, {30892, 34600, 44}},
+ {{18, 25628, 23506}, {182, 28372, 20598}, {538, 30732, 17882}, {1086, 32708, 15358}, {1826, 34300, 13026}, {2758, 35508, 10886}, {3882, 36332, 8938}, {5198, 36772, 7182}, {6706, 36828, 5618}, {8406, 36500, 4246}, {10298, 35788, 3066}, {12382, 34692, 2078}, {14658, 33212, 1282}, {17126, 31348, 678}, {19786, 29100, 266}, {22638, 26468, 46}},
+ {{46, 34724, 30766}, {302, 38308, 26926}, {814, 41380, 23342}, {1582, 43940, 20014}, {2606, 45988, 16942}, {3886, 47524, 14126}, {5422, 48548, 11566}, {7214, 49060, 9262}, {9262, 49060, 7214}, {11566, 48548, 5422}, {14126, 47524, 3886}, {16942, 45988, 2606}, {20014, 43940, 1582}, {23342, 41380, 814}, {26926, 38308, 302}, {30766, 34724, 46}},
+ {{39, 34610, 30887}, {287, 38210, 27039}, {791, 41298, 23447}, {1551, 43874, 20111}, {2567, 45938, 17031}, {3839, 47490, 14207}, {5367, 48530, 11639}, {7151, 49058, 9327}, {9191, 49074, 7271}, {11487, 48578, 5471}, {14039, 47570, 3927}, {16847, 46050, 2639}, {19911, 44018, 1607}, {23231, 41474, 831}, {26807, 38418, 311}, {30639, 34850, 47}},
+ {{67, 43706, 38147}, {407, 48146, 33367}, {1067, 51946, 28907}, {2047, 55106, 24767}, {3347, 57626, 20947}, {4967, 59506, 17447}, {6907, 60746, 14267}, {9167, 61346, 11407}, {11747, 61306, 8867}, {14647, 60626, 6647}, {17867, 59306, 4747}, {21407, 57346, 3167}, {25267, 54746, 1907}, {29447, 51506, 967}, {33947, 47626, 347}, {38767, 43106, 47}},
+ {{13, 25510, 23629}, {169, 28270, 20713}, {517, 30646, 17989}, {1057, 32638, 15457}, {1789, 34246, 13117}, {2713, 35470, 10969}, {3829, 36310, 9013}, {5137, 36766, 7249}, {6637, 36838, 5677}, {8329, 36526, 4297}, {10213, 35830, 3109}, {12289, 34750, 2113}, {14557, 33286, 1309}, {17017, 31438, 697}, {19669, 29206, 277}, {22513, 26590, 49}},
+ {{41, 34606, 30889}, {289, 38206, 27041}, {793, 41294, 23449}, {1553, 43870, 20113}, {2569, 45934, 17033}, {3841, 47486, 14209}, {5369, 48526, 11641}, {7153, 49054, 9329}, {9193, 49070, 7273}, {11489, 48574, 5473}, {14041, 47566, 3929}, {16849, 46046, 2641}, {19913, 44014, 1609}, {23233, 41470, 833}, {26809, 38414, 313}, {30641, 34846, 49}},
+ {{34, 34492, 31010}, {274, 38108, 27154}, {770, 41212, 23554}, {1522, 43804, 20210}, {2530, 45884, 17122}, {3794, 47452, 14290}, {5314, 48508, 11714}, {7090, 49052, 9394}, {9122, 49084, 7330}, {11410, 48604, 5522}, {13954, 47612, 3970}, {16754, 46108, 2674}, {19810, 44092, 1634}, {23122, 41564, 850}, {26690, 38524, 322}, {30514, 34972, 50}},
+ {{62, 43588, 38270}, {394, 48044, 33482}, {1046, 51860, 29014}, {2018, 55036, 24866}, {3310, 57572, 21038}, {4922, 59468, 17530}, {6854, 60724, 14342}, {9106, 61340, 11474}, {11678, 61316, 8926}, {14570, 60652, 6698}, {17782, 59348, 4790}, {21314, 57404, 3202}, {25166, 54820, 1934}, {29338, 51596, 986}, {33830, 47732, 358}, {38642, 43228, 50}},
+ {{28, 34376, 31132}, {260, 38008, 27268}, {748, 41128, 23660}, {1492, 43736, 20308}, {2492, 45832, 17212}, {3748, 47416, 14372}, {5260, 48488, 11788}, {7028, 49048, 9460}, {9052, 49096, 7388}, {11332, 48632, 5572}, {13868, 47656, 4012}, {16660, 46168, 2708}, {19708, 44168, 1660}, {23012, 41656, 868}, {26572, 38632, 332}, {30388, 35096, 52}},
+ {{56, 43472, 38392}, {380, 47944, 33596}, {1024, 51776, 29120}, {1988, 54968, 24964}, {3272, 57520, 21128}, {4876, 59432, 17612}, {6800, 60704, 14416}, {9044, 61336, 11540}, {11608, 61328, 8984}, {14492, 60680, 6748}, {17696, 59392, 4832}, {21220, 57464, 3236}, {25064, 54896, 1960}, {29228, 51688, 1004}, {33712, 47840, 368}, {38516, 43352, 52}},
+ {{49, 43358, 38513}, {365, 47846, 33709}, {1001, 51694, 29225}, {1957, 54902, 25061}, {3233, 57470, 21217}, {4829, 59398, 17693}, {6745, 60686, 14489}, {8981, 61334, 11605}, {11537, 61342, 9041}, {14413, 60710, 6797}, {17609, 59438, 4873}, {21125, 57526, 3269}, {24961, 54974, 1985}, {29117, 51782, 1021}, {33593, 47950, 377}, {38389, 43478, 53}},
+ {{77, 52454, 45773}, {485, 57782, 40037}, {1277, 62342, 34685}, {2453, 66134, 29717}, {4013, 69158, 25133}, {5957, 71414, 20933}, {8285, 72902, 17117}, {10997, 73622, 13685}, {14093, 73574, 10637}, {17573, 72758, 7973}, {21437, 71174, 5693}, {25685, 68822, 3797}, {30317, 65702, 2285}, {35333, 61814, 1157}, {40733, 57158, 413}, {46517, 51734, 53}},
+ {{9, 25390, 23753}, {157, 28166, 20829}, {497, 30558, 18097}, {1029, 32566, 15557}, {1753, 34190, 13209}, {2669, 35430, 11053}, {3777, 36286, 9089}, {5077, 36758, 7317}, {6569, 36846, 5737}, {8253, 36550, 4349}, {10129, 35870, 3153}, {12197, 34806, 2149}, {14457, 33358, 1337}, {16909, 31526, 717}, {19553, 29310, 289}, {22389, 26710, 53}},
+ {{37, 34486, 31013}, {277, 38102, 27157}, {773, 41206, 23557}, {1525, 43798, 20213}, {2533, 45878, 17125}, {3797, 47446, 14293}, {5317, 48502, 11717}, {7093, 49046, 9397}, {9125, 49078, 7333}, {11413, 48598, 5525}, {13957, 47606, 3973}, {16757, 46102, 2677}, {19813, 44086, 1637}, {23125, 41558, 853}, {26693, 38518, 325}, {30517, 34966, 53}},
+ {{30, 34372, 31134}, {262, 38004, 27270}, {750, 41124, 23662}, {1494, 43732, 20310}, {2494, 45828, 17214}, {3750, 47412, 14374}, {5262, 48484, 11790}, {7030, 49044, 9462}, {9054, 49092, 7390}, {11334, 48628, 5574}, {13870, 47652, 4014}, {16662, 46164, 2710}, {19710, 44164, 1662}, {23014, 41652, 870}, {26574, 38628, 334}, {30390, 35092, 54}},
+ {{58, 43468, 38394}, {382, 47940, 33598}, {1026, 51772, 29122}, {1990, 54964, 24966}, {3274, 57516, 21130}, {4878, 59428, 17614}, {6802, 60700, 14418}, {9046, 61332, 11542}, {11610, 61324, 8986}, {14494, 60676, 6750}, {17698, 59388, 4834}, {21222, 57460, 3238}, {25066, 54892, 1962}, {29230, 51684, 1006}, {33714, 47836, 370}, {38518, 43348, 54}},
+ {{24, 34256, 31256}, {248, 37904, 27384}, {728, 41040, 23768}, {1464, 43664, 20408}, {2456, 45776, 17304}, {3704, 47376, 14456}, {5208, 48464, 11864}, {6968, 49040, 9528}, {8984, 49104, 7448}, {11256, 48656, 5624}, {13784, 47696, 4056}, {16568, 46224, 2744}, {19608, 44240, 1688}, {22904, 41744, 888}, {26456, 38736, 344}, {30264, 35216, 56}},
+ {{52, 43352, 38516}, {368, 47840, 33712}, {1004, 51688, 29228}, {1960, 54896, 25064}, {3236, 57464, 21220}, {4832, 59392, 17696}, {6748, 60680, 14492}, {8984, 61328, 11608}, {11540, 61336, 9044}, {14416, 60704, 6800}, {17612, 59432, 4876}, {21128, 57520, 3272}, {24964, 54968, 1988}, {29120, 51776, 1024}, {33596, 47944, 380}, {38392, 43472, 56}},
+ {{45, 43238, 38637}, {353, 47742, 33825}, {981, 51606, 29333}, {1929, 54830, 25161}, {3197, 57414, 21309}, {4785, 59358, 17777}, {6693, 60662, 14565}, {8921, 61326, 11673}, {11469, 61350, 9101}, {14337, 60734, 6849}, {17525, 59478, 4917}, {21033, 57582, 3305}, {24861, 55046, 2013}, {29009, 51870, 1041}, {33477, 48054, 389}, {38265, 43598, 57}},
+ {{73, 52334, 45897}, {473, 57678, 40153}, {1257, 62254, 34793}, {2425, 66062, 29817}, {3977, 69102, 25225}, {5913, 71374, 21017}, {8233, 72878, 17193}, {10937, 73614, 13753}, {14025, 73582, 10697}, {17497, 72782, 8025}, {21353, 71214, 5737}, {25593, 68878, 3833}, {30217, 65774, 2313}, {35225, 61902, 1177}, {40617, 57262, 425}, {46393, 51854, 57}},
+ {{19, 34138, 31379}, {235, 37802, 27499}, {707, 40954, 23875}, {1435, 43594, 20507}, {2419, 45722, 17395}, {3659, 47338, 14539}, {5155, 48442, 11939}, {6907, 49034, 9595}, {8915, 49114, 7507}, {11179, 48682, 5675}, {13699, 47738, 4099}, {16475, 46282, 2779}, {19507, 44314, 1715}, {22795, 41834, 907}, {26339, 38842, 355}, {30139, 35338, 59}},
+ {{47, 43234, 38639}, {355, 47738, 33827}, {983, 51602, 29335}, {1931, 54826, 25163}, {3199, 57410, 21311}, {4787, 59354, 17779}, {6695, 60658, 14567}, {8923, 61322, 11675}, {11471, 61346, 9103}, {14339, 60730, 6851}, {17527, 59474, 4919}, {21035, 57578, 3307}, {24863, 55042, 2015}, {29011, 51866, 1043}, {33479, 48050, 391}, {38267, 43594, 59}},
+ {{40, 43120, 38760}, {340, 47640, 33940}, {960, 51520, 29440}, {1900, 54760, 25260}, {3160, 57360, 21400}, {4740, 59320, 17860}, {6640, 60640, 14640}, {8860, 61320, 11740}, {11400, 61360, 9160}, {14260, 60760, 6900}, {17440, 59520, 4960}, {20940, 57640, 3340}, {24760, 55120, 2040}, {28900, 51960, 1060}, {33360, 48160, 400}, {38140, 43720, 60}},
+ {{68, 52216, 46020}, {460, 57576, 40268}, {1236, 62168, 34900}, {2396, 65992, 29916}, {3940, 69048, 25316}, {5868, 71336, 21100}, {8180, 72856, 17268}, {10876, 73608, 13820}, {13956, 73592, 10756}, {17420, 72808, 8076}, {21268, 71256, 5780}, {25500, 68936, 3868}, {30116, 65848, 2340}, {35116, 61992, 1196}, {40500, 57368, 436}, {46268, 51976, 60}},
+ {{34, 43004, 38882}, {326, 47540, 34054}, {938, 51436, 29546}, {1870, 54692, 25358}, {3122, 57308, 21490}, {4694, 59284, 17942}, {6586, 60620, 14714}, {8798, 61316, 11806}, {11330, 61372, 9218}, {14182, 60788, 6950}, {17354, 59564, 5002}, {20846, 57700, 3374}, {24658, 55196, 2066}, {28790, 52052, 1078}, {33242, 48268, 410}, {38014, 43844, 62}},
+ {{62, 52100, 46142}, {446, 57476, 40382}, {1214, 62084, 35006}, {2366, 65924, 30014}, {3902, 68996, 25406}, {5822, 71300, 21182}, {8126, 72836, 17342}, {10814, 73604, 13886}, {13886, 73604, 10814}, {17342, 72836, 8126}, {21182, 71300, 5822}, {25406, 68996, 3902}, {30014, 65924, 2366}, {35006, 62084, 1214}, {40382, 57476, 446}, {46142, 52100, 62}},
+ {{55, 51986, 46263}, {431, 57378, 40495}, {1191, 62002, 35111}, {2335, 65858, 30111}, {3863, 68946, 25495}, {5775, 71266, 21263}, {8071, 72818, 17415}, {10751, 73602, 13951}, {13815, 73618, 10871}, {17263, 72866, 8175}, {21095, 71346, 5863}, {25311, 69058, 3935}, {29911, 66002, 2391}, {34895, 62178, 1231}, {40263, 57586, 455}, {46015, 52226, 63}},
+ {{83, 61082, 53523}, {551, 67314, 46823}, {1467, 72650, 40571}, {2831, 77090, 34767}, {4643, 80634, 29411}, {6903, 83282, 24503}, {9611, 85034, 20043}, {12767, 85890, 16031}, {16371, 85850, 12467}, {20423, 84914, 9351}, {24923, 83082, 6683}, {29871, 80354, 4463}, {35267, 76730, 2691}, {41111, 72210, 1367}, {47403, 66794, 491}, {54143, 60482, 63}},
+ {{1, 16638, 16129}, {81, 18526, 14161}, {289, 20158, 12321}, {625, 21534, 10609}, {1089, 22654, 9025}, {1681, 23518, 7569}, {2401, 24126, 6241}, {3249, 24478, 5041}, {4225, 24574, 3969}, {5329, 24414, 3025}, {6561, 23998, 2209}, {7921, 23326, 1521}, {9409, 22398, 961}, {11025, 21214, 529}, {12769, 19774, 225}, {14641, 18078, 49}},
+ {{29, 25734, 23389}, {201, 28462, 20489}, {565, 30806, 17781}, {1121, 32766, 15265}, {1869, 34342, 12941}, {2809, 35534, 10809}, {3941, 36342, 8869}, {5265, 36766, 7121}, {6781, 36806, 5565}, {8489, 36462, 4201}, {10389, 35734, 3029}, {12481, 34622, 2049}, {14765, 33126, 1261}, {17241, 31246, 665}, {19909, 28982, 261}, {22769, 26334, 49}},
+ {{22, 25620, 23510}, {186, 28364, 20602}, {542, 30724, 17886}, {1090, 32700, 15362}, {1830, 34292, 13030}, {2762, 35500, 10890}, {3886, 36324, 8942}, {5202, 36764, 7186}, {6710, 36820, 5622}, {8410, 36492, 4250}, {10302, 35780, 3070}, {12386, 34684, 2082}, {14662, 33204, 1286}, {17130, 31340, 682}, {19790, 29092, 270}, {22642, 26460, 50}},
+ {{50, 34716, 30770}, {306, 38300, 26930}, {818, 41372, 23346}, {1586, 43932, 20018}, {2610, 45980, 16946}, {3890, 47516, 14130}, {5426, 48540, 11570}, {7218, 49052, 9266}, {9266, 49052, 7218}, {11570, 48540, 5426}, {14130, 47516, 3890}, {16946, 45980, 2610}, {20018, 43932, 1586}, {23346, 41372, 818}, {26930, 38300, 306}, {30770, 34716, 50}},
+ {{16, 25504, 23632}, {172, 28264, 20716}, {520, 30640, 17992}, {1060, 32632, 15460}, {1792, 34240, 13120}, {2716, 35464, 10972}, {3832, 36304, 9016}, {5140, 36760, 7252}, {6640, 36832, 5680}, {8332, 36520, 4300}, {10216, 35824, 3112}, {12292, 34744, 2116}, {14560, 33280, 1312}, {17020, 31432, 700}, {19672, 29200, 280}, {22516, 26584, 52}},
+ {{44, 34600, 30892}, {292, 38200, 27044}, {796, 41288, 23452}, {1556, 43864, 20116}, {2572, 45928, 17036}, {3844, 47480, 14212}, {5372, 48520, 11644}, {7156, 49048, 9332}, {9196, 49064, 7276}, {11492, 48568, 5476}, {14044, 47560, 3932}, {16852, 46040, 2644}, {19916, 44008, 1612}, {23236, 41464, 836}, {26812, 38408, 316}, {30644, 34840, 52}},
+ {{37, 34486, 31013}, {277, 38102, 27157}, {773, 41206, 23557}, {1525, 43798, 20213}, {2533, 45878, 17125}, {3797, 47446, 14293}, {5317, 48502, 11717}, {7093, 49046, 9397}, {9125, 49078, 7333}, {11413, 48598, 5525}, {13957, 47606, 3973}, {16757, 46102, 2677}, {19813, 44086, 1637}, {23125, 41558, 853}, {26693, 38518, 325}, {30517, 34966, 53}},
+ {{65, 43582, 38273}, {397, 48038, 33485}, {1049, 51854, 29017}, {2021, 55030, 24869}, {3313, 57566, 21041}, {4925, 59462, 17533}, {6857, 60718, 14345}, {9109, 61334, 11477}, {11681, 61310, 8929}, {14573, 60646, 6701}, {17785, 59342, 4793}, {21317, 57398, 3205}, {25169, 54814, 1937}, {29341, 51590, 989}, {33833, 47726, 361}, {38645, 43222, 53}},
+ {{11, 25386, 23755}, {159, 28162, 20831}, {499, 30554, 18099}, {1031, 32562, 15559}, {1755, 34186, 13211}, {2671, 35426, 11055}, {3779, 36282, 9091}, {5079, 36754, 7319}, {6571, 36842, 5739}, {8255, 36546, 4351}, {10131, 35866, 3155}, {12199, 34802, 2151}, {14459, 33354, 1339}, {16911, 31522, 719}, {19555, 29306, 291}, {22391, 26706, 55}},
+ {{39, 34482, 31015}, {279, 38098, 27159}, {775, 41202, 23559}, {1527, 43794, 20215}, {2535, 45874, 17127}, {3799, 47442, 14295}, {5319, 48498, 11719}, {7095, 49042, 9399}, {9127, 49074, 7335}, {11415, 48594, 5527}, {13959, 47602, 3975}, {16759, 46098, 2679}, {19815, 44082, 1639}, {23127, 41554, 855}, {26695, 38514, 327}, {30519, 34962, 55}},
+ {{32, 34368, 31136}, {264, 38000, 27272}, {752, 41120, 23664}, {1496, 43728, 20312}, {2496, 45824, 17216}, {3752, 47408, 14376}, {5264, 48480, 11792}, {7032, 49040, 9464}, {9056, 49088, 7392}, {11336, 48624, 5576}, {13872, 47648, 4016}, {16664, 46160, 2712}, {19712, 44160, 1664}, {23016, 41648, 872}, {26576, 38624, 336}, {30392, 35088, 56}},
+ {{60, 43464, 38396}, {384, 47936, 33600}, {1028, 51768, 29124}, {1992, 54960, 24968}, {3276, 57512, 21132}, {4880, 59424, 17616}, {6804, 60696, 14420}, {9048, 61328, 11544}, {11612, 61320, 8988}, {14496, 60672, 6752}, {17700, 59384, 4836}, {21224, 57456, 3240}, {25068, 54888, 1964}, {29232, 51680, 1008}, {33716, 47832, 372}, {38520, 43344, 56}},
+ {{26, 34252, 31258}, {250, 37900, 27386}, {730, 41036, 23770}, {1466, 43660, 20410}, {2458, 45772, 17306}, {3706, 47372, 14458}, {5210, 48460, 11866}, {6970, 49036, 9530}, {8986, 49100, 7450}, {11258, 48652, 5626}, {13786, 47692, 4058}, {16570, 46220, 2746}, {19610, 44236, 1690}, {22906, 41740, 890}, {26458, 38732, 346}, {30266, 35212, 58}},
+ {{54, 43348, 38518}, {370, 47836, 33714}, {1006, 51684, 29230}, {1962, 54892, 25066}, {3238, 57460, 21222}, {4834, 59388, 17698}, {6750, 60676, 14494}, {8986, 61324, 11610}, {11542, 61332, 9046}, {14418, 60700, 6802}, {17614, 59428, 4878}, {21130, 57516, 3274}, {24966, 54964, 1990}, {29122, 51772, 1026}, {33598, 47940, 382}, {38394, 43468, 58}},
+ {{47, 43234, 38639}, {355, 47738, 33827}, {983, 51602, 29335}, {1931, 54826, 25163}, {3199, 57410, 21311}, {4787, 59354, 17779}, {6695, 60658, 14567}, {8923, 61322, 11675}, {11471, 61346, 9103}, {14339, 60730, 6851}, {17527, 59474, 4919}, {21035, 57578, 3307}, {24863, 55042, 2015}, {29011, 51866, 1043}, {33479, 48050, 391}, {38267, 43594, 59}},
+ {{75, 52330, 45899}, {475, 57674, 40155}, {1259, 62250, 34795}, {2427, 66058, 29819}, {3979, 69098, 25227}, {5915, 71370, 21019}, {8235, 72874, 17195}, {10939, 73610, 13755}, {14027, 73578, 10699}, {17499, 72778, 8027}, {21355, 71210, 5739}, {25595, 68874, 3835}, {30219, 65770, 2315}, {35227, 61898, 1179}, {40619, 57258, 427}, {46395, 51850, 59}},
+ {{7, 25266, 23879}, {147, 28058, 20947}, {479, 30466, 18207}, {1003, 32490, 15659}, {1719, 34130, 13303}, {2627, 35386, 11139}, {3727, 36258, 9167}, {5019, 36746, 7387}, {6503, 36850, 5799}, {8179, 36570, 4403}, {10047, 35906, 3199}, {12107, 34858, 2187}, {14359, 33426, 1367}, {16803, 31610, 739}, {19439, 29410, 303}, {22267, 26826, 59}},
+ {{35, 34362, 31139}, {267, 37994, 27275}, {755, 41114, 23667}, {1499, 43722, 20315}, {2499, 45818, 17219}, {3755, 47402, 14379}, {5267, 48474, 11795}, {7035, 49034, 9467}, {9059, 49082, 7395}, {11339, 48618, 5579}, {13875, 47642, 4019}, {16667, 46154, 2715}, {19715, 44154, 1667}, {23019, 41642, 875}, {26579, 38618, 339}, {30395, 35082, 59}},
+ {{28, 34248, 31260}, {252, 37896, 27388}, {732, 41032, 23772}, {1468, 43656, 20412}, {2460, 45768, 17308}, {3708, 47368, 14460}, {5212, 48456, 11868}, {6972, 49032, 9532}, {8988, 49096, 7452}, {11260, 48648, 5628}, {13788, 47688, 4060}, {16572, 46216, 2748}, {19612, 44232, 1692}, {22908, 41736, 892}, {26460, 38728, 348}, {30268, 35208, 60}},
+ {{56, 43344, 38520}, {372, 47832, 33716}, {1008, 51680, 29232}, {1964, 54888, 25068}, {3240, 57456, 21224}, {4836, 59384, 17700}, {6752, 60672, 14496}, {8988, 61320, 11612}, {11544, 61328, 9048}, {14420, 60696, 6804}, {17616, 59424, 4880}, {21132, 57512, 3276}, {24968, 54960, 1992}, {29124, 51768, 1028}, {33600, 47936, 384}, {38396, 43464, 60}},
+ {{22, 34132, 31382}, {238, 37796, 27502}, {710, 40948, 23878}, {1438, 43588, 20510}, {2422, 45716, 17398}, {3662, 47332, 14542}, {5158, 48436, 11942}, {6910, 49028, 9598}, {8918, 49108, 7510}, {11182, 48676, 5678}, {13702, 47732, 4102}, {16478, 46276, 2782}, {19510, 44308, 1718}, {22798, 41828, 910}, {26342, 38836, 358}, {30142, 35332, 62}},
+ {{50, 43228, 38642}, {358, 47732, 33830}, {986, 51596, 29338}, {1934, 54820, 25166}, {3202, 57404, 21314}, {4790, 59348, 17782}, {6698, 60652, 14570}, {8926, 61316, 11678}, {11474, 61340, 9106}, {14342, 60724, 6854}, {17530, 59468, 4922}, {21038, 57572, 3310}, {24866, 55036, 2018}, {29014, 51860, 1046}, {33482, 48044, 394}, {38270, 43588, 62}},
+ {{43, 43114, 38763}, {343, 47634, 33943}, {963, 51514, 29443}, {1903, 54754, 25263}, {3163, 57354, 21403}, {4743, 59314, 17863}, {6643, 60634, 14643}, {8863, 61314, 11743}, {11403, 61354, 9163}, {14263, 60754, 6903}, {17443, 59514, 4963}, {20943, 57634, 3343}, {24763, 55114, 2043}, {28903, 51954, 1063}, {33363, 48154, 403}, {38143, 43714, 63}},
+ {{71, 52210, 46023}, {463, 57570, 40271}, {1239, 62162, 34903}, {2399, 65986, 29919}, {3943, 69042, 25319}, {5871, 71330, 21103}, {8183, 72850, 17271}, {10879, 73602, 13823}, {13959, 73586, 10759}, {17423, 72802, 8079}, {21271, 71250, 5783}, {25503, 68930, 3871}, {30119, 65842, 2343}, {35119, 61986, 1199}, {40503, 57362, 439}, {46271, 51970, 63}},
+ {{17, 34014, 31505}, {225, 37694, 27617}, {689, 40862, 23985}, {1409, 43518, 20609}, {2385, 45662, 17489}, {3617, 47294, 14625}, {5105, 48414, 12017}, {6849, 49022, 9665}, {8849, 49118, 7569}, {11105, 48702, 5729}, {13617, 47774, 4145}, {16385, 46334, 2817}, {19409, 44382, 1745}, {22689, 41918, 929}, {26225, 38942, 369}, {30017, 35454, 65}},
+ {{45, 43110, 38765}, {345, 47630, 33945}, {965, 51510, 29445}, {1905, 54750, 25265}, {3165, 57350, 21405}, {4745, 59310, 17865}, {6645, 60630, 14645}, {8865, 61310, 11745}, {11405, 61350, 9165}, {14265, 60750, 6905}, {17445, 59510, 4965}, {20945, 57630, 3345}, {24765, 55110, 2045}, {28905, 51950, 1065}, {33365, 48150, 405}, {38145, 43710, 65}},
+ {{38, 42996, 38886}, {330, 47532, 34058}, {942, 51428, 29550}, {1874, 54684, 25362}, {3126, 57300, 21494}, {4698, 59276, 17946}, {6590, 60612, 14718}, {8802, 61308, 11810}, {11334, 61364, 9222}, {14186, 60780, 6954}, {17358, 59556, 5006}, {20850, 57692, 3378}, {24662, 55188, 2070}, {28794, 52044, 1082}, {33246, 48260, 414}, {38018, 43836, 66}},
+ {{66, 52092, 46146}, {450, 57468, 40386}, {1218, 62076, 35010}, {2370, 65916, 30018}, {3906, 68988, 25410}, {5826, 71292, 21186}, {8130, 72828, 17346}, {10818, 73596, 13890}, {13890, 73596, 10818}, {17346, 72828, 8130}, {21186, 71292, 5826}, {25410, 68988, 3906}, {30018, 65916, 2370}, {35010, 62076, 1218}, {40386, 57468, 450}, {46146, 52092, 66}},
+ {{32, 42880, 39008}, {316, 47432, 34172}, {920, 51344, 29656}, {1844, 54616, 25460}, {3088, 57248, 21584}, {4652, 59240, 18028}, {6536, 60592, 14792}, {8740, 61304, 11876}, {11264, 61376, 9280}, {14108, 60808, 7004}, {17272, 59600, 5048}, {20756, 57752, 3412}, {24560, 55264, 2096}, {28684, 52136, 1100}, {33128, 48368, 424}, {37892, 43960, 68}},
+ {{60, 51976, 46268}, {436, 57368, 40500}, {1196, 61992, 35116}, {2340, 65848, 30116}, {3868, 68936, 25500}, {5780, 71256, 21268}, {8076, 72808, 17420}, {10756, 73592, 13956}, {13820, 73608, 10876}, {17268, 72856, 8180}, {21100, 71336, 5868}, {25316, 69048, 3940}, {29916, 65992, 2396}, {34900, 62168, 1236}, {40268, 57576, 460}, {46020, 52216, 68}},
+ {{53, 51862, 46389}, {421, 57270, 40613}, {1173, 61910, 35221}, {2309, 65782, 30213}, {3829, 68886, 25589}, {5733, 71222, 21349}, {8021, 72790, 17493}, {10693, 73590, 14021}, {13749, 73622, 10933}, {17189, 72886, 8229}, {21013, 71382, 5909}, {25221, 69110, 3973}, {29813, 66070, 2421}, {34789, 62262, 1253}, {40149, 57686, 469}, {45893, 52342, 69}},
+ {{81, 60958, 53649}, {541, 67206, 46941}, {1449, 72558, 40681}, {2805, 77014, 34869}, {4609, 80574, 29505}, {6861, 83238, 24589}, {9561, 85006, 20121}, {12709, 85878, 16101}, {16305, 85854, 12529}, {20349, 84934, 9405}, {24841, 83118, 6729}, {29781, 80406, 4501}, {35169, 76798, 2721}, {41005, 72294, 1389}, {47289, 66894, 505}, {54021, 60598, 69}},
+ {{4, 25144, 24004}, {136, 27952, 21064}, {460, 30376, 18316}, {976, 32416, 15760}, {1684, 34072, 13396}, {2584, 35344, 11224}, {3676, 36232, 9244}, {4960, 36736, 7456}, {6436, 36856, 5860}, {8104, 36592, 4456}, {9964, 35944, 3244}, {12016, 34912, 2224}, {14260, 33496, 1396}, {16696, 31696, 760}, {19324, 29512, 316}, {22144, 26944, 64}},
+ {{32, 34240, 31264}, {256, 37888, 27392}, {736, 41024, 23776}, {1472, 43648, 20416}, {2464, 45760, 17312}, {3712, 47360, 14464}, {5216, 48448, 11872}, {6976, 49024, 9536}, {8992, 49088, 7456}, {11264, 48640, 5632}, {13792, 47680, 4064}, {16576, 46208, 2752}, {19616, 44224, 1696}, {22912, 41728, 896}, {26464, 38720, 352}, {30272, 35200, 64}},
+ {{25, 34126, 31385}, {241, 37790, 27505}, {713, 40942, 23881}, {1441, 43582, 20513}, {2425, 45710, 17401}, {3665, 47326, 14545}, {5161, 48430, 11945}, {6913, 49022, 9601}, {8921, 49102, 7513}, {11185, 48670, 5681}, {13705, 47726, 4105}, {16481, 46270, 2785}, {19513, 44302, 1721}, {22801, 41822, 913}, {26345, 38830, 361}, {30145, 35326, 65}},
+ {{53, 43222, 38645}, {361, 47726, 33833}, {989, 51590, 29341}, {1937, 54814, 25169}, {3205, 57398, 21317}, {4793, 59342, 17785}, {6701, 60646, 14573}, {8929, 61310, 11681}, {11477, 61334, 9109}, {14345, 60718, 6857}, {17533, 59462, 4925}, {21041, 57566, 3313}, {24869, 55030, 2021}, {29017, 51854, 1049}, {33485, 48038, 397}, {38273, 43582, 65}},
+ {{19, 34010, 31507}, {227, 37690, 27619}, {691, 40858, 23987}, {1411, 43514, 20611}, {2387, 45658, 17491}, {3619, 47290, 14627}, {5107, 48410, 12019}, {6851, 49018, 9667}, {8851, 49114, 7571}, {11107, 48698, 5731}, {13619, 47770, 4147}, {16387, 46330, 2819}, {19411, 44378, 1747}, {22691, 41914, 931}, {26227, 38938, 371}, {30019, 35450, 67}},
+ {{47, 43106, 38767}, {347, 47626, 33947}, {967, 51506, 29447}, {1907, 54746, 25267}, {3167, 57346, 21407}, {4747, 59306, 17867}, {6647, 60626, 14647}, {8867, 61306, 11747}, {11407, 61346, 9167}, {14267, 60746, 6907}, {17447, 59506, 4967}, {20947, 57626, 3347}, {24767, 55106, 2047}, {28907, 51946, 1067}, {33367, 48146, 407}, {38147, 43706, 67}},
+ {{40, 42992, 38888}, {332, 47528, 34060}, {944, 51424, 29552}, {1876, 54680, 25364}, {3128, 57296, 21496}, {4700, 59272, 17948}, {6592, 60608, 14720}, {8804, 61304, 11812}, {11336, 61360, 9224}, {14188, 60776, 6956}, {17360, 59552, 5008}, {20852, 57688, 3380}, {24664, 55184, 2072}, {28796, 52040, 1084}, {33248, 48256, 416}, {38020, 43832, 68}},
+ {{68, 52088, 46148}, {452, 57464, 40388}, {1220, 62072, 35012}, {2372, 65912, 30020}, {3908, 68984, 25412}, {5828, 71288, 21188}, {8132, 72824, 17348}, {10820, 73592, 13892}, {13892, 73592, 10820}, {17348, 72824, 8132}, {21188, 71288, 5828}, {25412, 68984, 3908}, {30020, 65912, 2372}, {35012, 62072, 1220}, {40388, 57464, 452}, {46148, 52088, 68}},
+ {{14, 33892, 31630}, {214, 37588, 27734}, {670, 40772, 24094}, {1382, 43444, 20710}, {2350, 45604, 17582}, {3574, 47252, 14710}, {5054, 48388, 12094}, {6790, 49012, 9734}, {8782, 49124, 7630}, {11030, 48724, 5782}, {13534, 47812, 4190}, {16294, 46388, 2854}, {19310, 44452, 1774}, {22582, 42004, 950}, {26110, 39044, 382}, {29894, 35572, 70}},
+ {{42, 42988, 38890}, {334, 47524, 34062}, {946, 51420, 29554}, {1878, 54676, 25366}, {3130, 57292, 21498}, {4702, 59268, 17950}, {6594, 60604, 14722}, {8806, 61300, 11814}, {11338, 61356, 9226}, {14190, 60772, 6958}, {17362, 59548, 5010}, {20854, 57684, 3382}, {24666, 55180, 2074}, {28798, 52036, 1086}, {33250, 48252, 418}, {38022, 43828, 70}},
+ {{35, 42874, 39011}, {319, 47426, 34175}, {923, 51338, 29659}, {1847, 54610, 25463}, {3091, 57242, 21587}, {4655, 59234, 18031}, {6539, 60586, 14795}, {8743, 61298, 11879}, {11267, 61370, 9283}, {14111, 60802, 7007}, {17275, 59594, 5051}, {20759, 57746, 3415}, {24563, 55258, 2099}, {28687, 52130, 1103}, {33131, 48362, 427}, {37895, 43954, 71}},
+ {{63, 51970, 46271}, {439, 57362, 40503}, {1199, 61986, 35119}, {2343, 65842, 30119}, {3871, 68930, 25503}, {5783, 71250, 21271}, {8079, 72802, 17423}, {10759, 73586, 13959}, {13823, 73602, 10879}, {17271, 72850, 8183}, {21103, 71330, 5871}, {25319, 69042, 3943}, {29919, 65986, 2399}, {34903, 62162, 1239}, {40271, 57570, 463}, {46023, 52210, 71}},
+ {{29, 42758, 39133}, {305, 47326, 34289}, {901, 51254, 29765}, {1817, 54542, 25561}, {3053, 57190, 21677}, {4609, 59198, 18113}, {6485, 60566, 14869}, {8681, 61294, 11945}, {11197, 61382, 9341}, {14033, 60830, 7057}, {17189, 59638, 5093}, {20665, 57806, 3449}, {24461, 55334, 2125}, {28577, 52222, 1121}, {33013, 48470, 437}, {37769, 44078, 73}},
+ {{57, 51854, 46393}, {425, 57262, 40617}, {1177, 61902, 35225}, {2313, 65774, 30217}, {3833, 68878, 25593}, {5737, 71214, 21353}, {8025, 72782, 17497}, {10697, 73582, 14025}, {13753, 73614, 10937}, {17193, 72878, 8233}, {21017, 71374, 5913}, {25225, 69102, 3977}, {29817, 66062, 2425}, {34793, 62254, 1257}, {40153, 57678, 473}, {45897, 52334, 73}},
+ {{50, 51740, 46514}, {410, 57164, 40730}, {1154, 61820, 35330}, {2282, 65708, 30314}, {3794, 68828, 25682}, {5690, 71180, 21434}, {7970, 72764, 17570}, {10634, 73580, 14090}, {13682, 73628, 10994}, {17114, 72908, 8282}, {20930, 71420, 5954}, {25130, 69164, 4010}, {29714, 66140, 2450}, {34682, 62348, 1274}, {40034, 57788, 482}, {45770, 52460, 74}},
+ {{78, 60836, 53774}, {530, 67100, 47058}, {1430, 72468, 40790}, {2778, 76940, 34970}, {4574, 80516, 29598}, {6818, 83196, 24674}, {9510, 84980, 20198}, {12650, 85868, 16170}, {16238, 85860, 12590}, {20274, 84956, 9458}, {24758, 83156, 6774}, {29690, 80460, 4538}, {35070, 76868, 2750}, {40898, 72380, 1410}, {47174, 66996, 518}, {53898, 60716, 74}},
+ {{10, 33772, 31754}, {202, 37484, 27850}, {650, 40684, 24202}, {1354, 43372, 20810}, {2314, 45548, 17674}, {3530, 47212, 14794}, {5002, 48364, 12170}, {6730, 49004, 9802}, {8714, 49132, 7690}, {10954, 48748, 5834}, {13450, 47852, 4234}, {16202, 46444, 2890}, {19210, 44524, 1802}, {22474, 42092, 970}, {25994, 39148, 394}, {29770, 35692, 74}},
+ {{38, 42868, 39014}, {322, 47420, 34178}, {926, 51332, 29662}, {1850, 54604, 25466}, {3094, 57236, 21590}, {4658, 59228, 18034}, {6542, 60580, 14798}, {8746, 61292, 11882}, {11270, 61364, 9286}, {14114, 60796, 7010}, {17278, 59588, 5054}, {20762, 57740, 3418}, {24566, 55252, 2102}, {28690, 52124, 1106}, {33134, 48356, 430}, {37898, 43948, 74}},
+ {{31, 42754, 39135}, {307, 47322, 34291}, {903, 51250, 29767}, {1819, 54538, 25563}, {3055, 57186, 21679}, {4611, 59194, 18115}, {6487, 60562, 14871}, {8683, 61290, 11947}, {11199, 61378, 9343}, {14035, 60826, 7059}, {17191, 59634, 5095}, {20667, 57802, 3451}, {24463, 55330, 2127}, {28579, 52218, 1123}, {33015, 48466, 439}, {37771, 44074, 75}},
+ {{59, 51850, 46395}, {427, 57258, 40619}, {1179, 61898, 35227}, {2315, 65770, 30219}, {3835, 68874, 25595}, {5739, 71210, 21355}, {8027, 72778, 17499}, {10699, 73578, 14027}, {13755, 73610, 10939}, {17195, 72874, 8235}, {21019, 71370, 5915}, {25227, 69098, 3979}, {29819, 66058, 2427}, {34795, 62250, 1259}, {40155, 57674, 475}, {45899, 52330, 75}},
+ {{25, 42638, 39257}, {293, 47222, 34405}, {881, 51166, 29873}, {1789, 54470, 25661}, {3017, 57134, 21769}, {4565, 59158, 18197}, {6433, 60542, 14945}, {8621, 61286, 12013}, {11129, 61390, 9401}, {13957, 60854, 7109}, {17105, 59678, 5137}, {20573, 57862, 3485}, {24361, 55406, 2153}, {28469, 52310, 1141}, {32897, 48574, 449}, {37645, 44198, 77}},
+ {{53, 51734, 46517}, {413, 57158, 40733}, {1157, 61814, 35333}, {2285, 65702, 30317}, {3797, 68822, 25685}, {5693, 71174, 21437}, {7973, 72758, 17573}, {10637, 73574, 14093}, {13685, 73622, 10997}, {17117, 72902, 8285}, {20933, 71414, 5957}, {25133, 69158, 4013}, {29717, 66134, 2453}, {34685, 62342, 1277}, {40037, 57782, 485}, {45773, 52454, 77}},
+ {{46, 51620, 46638}, {398, 57060, 40846}, {1134, 61732, 35438}, {2254, 65636, 30414}, {3758, 68772, 25774}, {5646, 71140, 21518}, {7918, 72740, 17646}, {10574, 73572, 14158}, {13614, 73636, 11054}, {17038, 72932, 8334}, {20846, 71460, 5998}, {25038, 69220, 4046}, {29614, 66212, 2478}, {34574, 62436, 1294}, {39918, 57892, 494}, {45646, 52580, 78}},
+ {{74, 60716, 53898}, {518, 66996, 47174}, {1410, 72380, 40898}, {2750, 76868, 35070}, {4538, 80460, 29690}, {6774, 83156, 24758}, {9458, 84956, 20274}, {12590, 85860, 16238}, {16170, 85868, 12650}, {20198, 84980, 9510}, {24674, 83196, 6818}, {29598, 80516, 4574}, {34970, 76940, 2778}, {40790, 72468, 1430}, {47058, 67100, 530}, {53774, 60836, 78}},
+ {{20, 42520, 39380}, {280, 47120, 34520}, {860, 51080, 29980}, {1760, 54400, 25760}, {2980, 57080, 21860}, {4520, 59120, 18280}, {6380, 60520, 15020}, {8560, 61280, 12080}, {11060, 61400, 9460}, {13880, 60880, 7160}, {17020, 59720, 5180}, {20480, 57920, 3520}, {24260, 55480, 2180}, {28360, 52400, 1160}, {32780, 48680, 460}, {37520, 44320, 80}},
+ {{48, 51616, 46640}, {400, 57056, 40848}, {1136, 61728, 35440}, {2256, 65632, 30416}, {3760, 68768, 25776}, {5648, 71136, 21520}, {7920, 72736, 17648}, {10576, 73568, 14160}, {13616, 73632, 11056}, {17040, 72928, 8336}, {20848, 71456, 6000}, {25040, 69216, 4048}, {29616, 66208, 2480}, {34576, 62432, 1296}, {39920, 57888, 496}, {45648, 52576, 80}},
+ {{41, 51502, 46761}, {385, 56958, 40961}, {1113, 61646, 35545}, {2225, 65566, 30513}, {3721, 68718, 25865}, {5601, 71102, 21601}, {7865, 72718, 17721}, {10513, 73566, 14225}, {13545, 73646, 11113}, {16961, 72958, 8385}, {20761, 71502, 6041}, {24945, 69278, 4081}, {29513, 66286, 2505}, {34465, 62526, 1313}, {39801, 57998, 505}, {45521, 52702, 81}},
+ {{69, 60598, 54021}, {505, 66894, 47289}, {1389, 72294, 41005}, {2721, 76798, 35169}, {4501, 80406, 29781}, {6729, 83118, 24841}, {9405, 84934, 20349}, {12529, 85854, 16305}, {16101, 85878, 12709}, {20121, 85006, 9561}, {24589, 83238, 6861}, {29505, 80574, 4609}, {34869, 77014, 2805}, {40681, 72558, 1449}, {46941, 67206, 541}, {53649, 60958, 81}},
+ {{35, 51386, 46883}, {371, 56858, 41075}, {1091, 61562, 35651}, {2195, 65498, 30611}, {3683, 68666, 25955}, {5555, 71066, 21683}, {7811, 72698, 17795}, {10451, 73562, 14291}, {13475, 73658, 11171}, {16883, 72986, 8435}, {20675, 71546, 6083}, {24851, 69338, 4115}, {29411, 66362, 2531}, {34355, 62618, 1331}, {39683, 58106, 515}, {45395, 52826, 83}},
+ {{63, 60482, 54143}, {491, 66794, 47403}, {1367, 72210, 41111}, {2691, 76730, 35267}, {4463, 80354, 29871}, {6683, 83082, 24923}, {9351, 84914, 20423}, {12467, 85850, 16371}, {16031, 85890, 12767}, {20043, 85034, 9611}, {24503, 83282, 6903}, {29411, 80634, 4643}, {34767, 77090, 2831}, {40571, 72650, 1467}, {46823, 67314, 551}, {53523, 61082, 83}},
+ {{56, 60368, 54264}, {476, 66696, 47516}, {1344, 72128, 41216}, {2660, 76664, 35364}, {4424, 80304, 29960}, {6636, 83048, 25004}, {9296, 84896, 20496}, {12404, 85848, 16436}, {15960, 85904, 12824}, {19964, 85064, 9660}, {24416, 83328, 6944}, {29316, 80696, 4676}, {34664, 77168, 2856}, {40460, 72744, 1484}, {46704, 67424, 560}, {53396, 61208, 84}},
+ {{84, 69464, 61524}, {596, 76632, 53844}, {1620, 82776, 46676}, {3156, 87896, 40020}, {5204, 91992, 33876}, {7764, 95064, 28244}, {10836, 97112, 23124}, {14420, 98136, 18516}, {18516, 98136, 14420}, {23124, 97112, 10836}, {28244, 95064, 7764}, {33876, 91992, 5204}, {40020, 87896, 3156}, {46676, 82776, 1620}, {53844, 76632, 596}, {61524, 69464, 84}}
+};
+#endif // USE_LUT
diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/modaudio.c b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/modaudio.c
new file mode 100644
index 0000000000000..af2811c46825b
--- /dev/null
+++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/modaudio.c
@@ -0,0 +1,484 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013-2021 Ibrahim Abdelkader
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ * Audio Python module.
+ */
+
+// Example usage, record 5 seconds and save to storage:
+
+/*
+import audio, time
+
+audio.init(channels=1, frequency=16000, gain_db=8, buffers=128, overflow=True)
+
+# Start audio streaming
+audio.start_streaming(None)
+
+# do something else
+print("recording audio...")
+start = time.ticks_ms()
+
+buf = bytearray()
+while ((time.ticks_ms() - start) < 5000):
+ buf.extend(audio.get_buffer(timeout=10))
+
+# Stop streaming
+audio.stop_streaming()
+print("samples captured: {} overflow: {}".format(audio.samples(), audio.overflow()))
+
+# Write recorded PCM
+with open('test.pcm', 'w') as fout:
+ fout.write(buf)
+*/
+
+#include
+#include
+#include "py/obj.h"
+#include "py/objarray.h"
+#include "py/nlr.h"
+#include "py/mphal.h"
+#include "py/binary.h"
+#include "py/runtime.h"
+
+#include "hardware/pio.h"
+#include "hardware/dma.h"
+#include "hardware/irq.h"
+#include "hardware/clocks.h"
+#include "pdm_filter.h"
+#include "pdm.pio.h"
+
+#define PDM_DEFAULT_GAIN (8)
+#define PDM_DEFAULT_FREQ (16000)
+#define PDM_DEFAULT_BUFFERS (128) // Number of PCM samples buffers.
+#define PDM_BUFFER_SIZE (512)
+#define PDM_TIME_CONV (0) // Enable to print average conversion time.
+
+#ifndef MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+#define MICROPY_PY_AUDIO_USE_SYNC_EVENTS (1)
+#endif
+
+#define RAISE_OS_EXCEPTION(msg) mp_raise_msg(&mp_type_OSError, MP_ERROR_TEXT(msg))
+
+typedef struct _audio_data_t {
+ volatile uint32_t head;
+ volatile uint32_t tail;
+ #if PDM_TIME_CONV
+ uint32_t conv_total;
+ uint32_t conv_times;
+ #endif
+ uint32_t n_samples;
+ uint32_t n_buffers;
+ uint32_t t_samples;
+ uint8_t *pdm_buffer;
+ int16_t *pcm_buffer;
+ mp_obj_array_t *pcm_buffer_user;
+ volatile bool streaming;
+ volatile bool overflow;
+ bool abort_on_overflow;
+ int dma_channel;
+ uint8_t dma_buf_idx;
+ mp_obj_t user_callback;
+ TPDMFilter_InitStruct pdm_filter; // OpenPDM filter used to convert PDM into PCM
+ void (*pdm_filter_func)(uint8_t *, int16_t *, uint16_t, TPDMFilter_InitStruct *);
+} audio_data_t;
+
+static bool audio_initialized = false;
+
+#define audio_data MP_STATE_PORT(audio_data)
+#define NEXT_BUFFER(x) (((x) + 1) % (audio_data->n_buffers))
+
+#if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+volatile bool audio_task_scheduled = false;
+static const mp_obj_fun_builtin_fixed_t audio_task_obj;
+static mp_obj_t audio_task(mp_obj_t none_in)
+#else
+#include "pendsv.h"
+static void audio_pendsv_callback(void)
+#endif
+{
+ if (audio_data->streaming == false) {
+ return mp_const_none;
+ }
+
+ if (audio_data->head != audio_data->tail) {
+ audio_data->pcm_buffer_user->items =
+ &audio_data->pcm_buffer[audio_data->head * audio_data->n_samples];
+
+ // Advance head to next buffer.
+ audio_data->head = NEXT_BUFFER(audio_data->head);
+
+ // Call user callback.
+ mp_call_function_1(audio_data->user_callback, MP_OBJ_FROM_PTR(audio_data->pcm_buffer_user));
+ } else if (audio_data->overflow == true && audio_data->abort_on_overflow) {
+ #if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+ RAISE_OS_EXCEPTION("Audio buffer overflow.");
+ #endif
+ return mp_const_none;
+ }
+
+ #if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+ if (audio_data->head != audio_data->tail) {
+ // Re-schedule function
+ audio_task_scheduled = mp_sched_schedule(MP_OBJ_FROM_PTR(&audio_task_obj), mp_const_none);
+ } else {
+ audio_task_scheduled = false;
+ }
+ return mp_const_none;
+ #endif
+}
+#if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(audio_task_obj, audio_task);
+#endif
+
+static void dma_irq_handler() {
+ if (dma_irqn_get_channel_status(MICROPY_HW_PDM_DMA, audio_data->dma_channel)) {
+ // Clear the interrupt request.
+ dma_irqn_acknowledge_channel(MICROPY_HW_PDM_DMA, audio_data->dma_channel);
+
+ // Set the next PDM buffer and retrigger the DMA channel
+ // immediatley while PDM samples are converted to PCM samples.
+ dma_channel_set_write_addr(audio_data->dma_channel,
+ &audio_data->pdm_buffer[(audio_data->dma_buf_idx ^ 1) * PDM_BUFFER_SIZE], true);
+
+ #if PDM_TIME_CONV
+ mp_uint_t start = mp_hal_ticks_us();
+ #endif
+
+ // Convert PDM to PCM samples.
+ audio_data->pdm_filter_func(
+ &audio_data->pdm_buffer[audio_data->dma_buf_idx * PDM_BUFFER_SIZE],
+ &audio_data->pcm_buffer[audio_data->tail * audio_data->n_samples],
+ 1, &audio_data->pdm_filter);
+
+ #if PDM_TIME_CONV
+ audio_data->conv_total += (mp_hal_ticks_us() - start);
+ audio_data->conv_times += 1;
+ #endif
+
+ audio_data->dma_buf_idx ^= 1;
+
+ if (NEXT_BUFFER(audio_data->tail) != audio_data->head) {
+ // Advance buffer.
+ audio_data->tail = NEXT_BUFFER(audio_data->tail);
+ audio_data->t_samples += audio_data->n_samples;
+ } else {
+ // Use current buffer and set overflow flag.
+ audio_data->overflow = true;
+ }
+
+ if (mp_obj_is_callable(audio_data->user_callback)) {
+ // Schedule audio callback.
+ #if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+ if (audio_task_scheduled == false) {
+ audio_task_scheduled = mp_sched_schedule(MP_OBJ_FROM_PTR(&audio_task_obj), mp_const_none);
+ }
+ #else
+ pendsv_schedule_dispatch(PENDSV_DISPATCH_AUDIO, audio_pendsv_callback);
+ #endif
+ }
+ }
+}
+
+static mp_obj_t modaudio_init(uint n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ enum { ARG_channels, ARG_frequency, ARG_gain_db, ARG_buffers, ARG_overflow, ARG_clkdiv };
+ static const mp_arg_t allowed_args[] = {
+ { MP_QSTR_channels, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 1} },
+ { MP_QSTR_frequency, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = PDM_DEFAULT_FREQ} },
+ { MP_QSTR_gain_db, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = PDM_DEFAULT_GAIN} },
+ { MP_QSTR_buffers, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = PDM_DEFAULT_BUFFERS} },
+ { MP_QSTR_overflow, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = true} },
+ { MP_QSTR_clkdiv, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
+ };
+
+ // Parse args
+ mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
+ mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
+
+ // Sanity checks
+ if (args[ARG_channels].u_int != 1) {
+ RAISE_OS_EXCEPTION("Invalid number of channels. Expected 1.");
+ }
+
+ if (!(args[ARG_frequency].u_int == 16000
+ || args[ARG_frequency].u_int == 32000
+ || args[ARG_frequency].u_int == 48000)) {
+ RAISE_OS_EXCEPTION("Invalid frequency. Expected 16KHz, 32KHz or 48KHz.");
+ }
+
+ #if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+ audio_task_scheduled = false;
+ #endif
+
+ // The decimation factor is set to keep the PDM datarate within min/max specs for the mic:
+ // 16 KHz * 128 -> 2048 KHz
+ // 32 KHz * 64 -> 2048 KHz
+ // 48 KHz * 64 -> 3072 KHz
+ uint32_t decimation = (args[ARG_frequency].u_int == 16000) ? 128 : 64;
+ uint32_t n_samples = (PDM_BUFFER_SIZE * 8) / decimation;
+
+ audio_data = m_new_obj(audio_data_t);
+ audio_data->head = 0;
+ audio_data->tail = 0;
+ #if PDM_TIME_CONV
+ audio_data->conv_total = 0;
+ audio_data->conv_times = 0;
+ #endif
+ audio_data->t_samples = 0;
+ audio_data->n_samples = n_samples;
+ audio_data->n_buffers = args[ARG_buffers].u_int;
+ audio_data->streaming = false;
+ audio_data->overflow = false;
+ audio_data->abort_on_overflow = args[ARG_overflow].u_int;
+ audio_data->user_callback = mp_const_none;
+ audio_data->dma_channel = -1;
+ audio_data->dma_buf_idx = 0;
+ // Allocate PDM/PCM buffers.
+ // Using double buffers for PDM samples to keep the DMA busy.
+ audio_data->pdm_buffer = m_new(uint8_t, PDM_BUFFER_SIZE * 2);
+ audio_data->pcm_buffer = m_new(int16_t, audio_data->n_buffers * audio_data->n_samples);
+
+ // Instead of returning a new heap object for every buffer, which will result in heap
+ // fragmentation, reuse the same object and point to PCM buffers returned to the user.
+ audio_data->pcm_buffer_user = mp_obj_new_bytearray_by_ref(
+ audio_data->n_samples * sizeof(int16_t),
+ &audio_data->pcm_buffer[audio_data->n_samples * 0]);
+
+ // Initialize OpenPDM filter.
+ audio_data->pdm_filter.Fs = args[ARG_frequency].u_int;
+ audio_data->pdm_filter.MaxVolume = 1;
+ audio_data->pdm_filter.nSamples = n_samples;
+ audio_data->pdm_filter.LP_HZ = args[ARG_frequency].u_int / 2;
+ audio_data->pdm_filter.HP_HZ = 10;
+ audio_data->pdm_filter.In_MicChannels = args[ARG_channels].u_int;
+ audio_data->pdm_filter.Out_MicChannels = args[ARG_channels].u_int;
+ audio_data->pdm_filter.Decimation = decimation;
+ audio_data->pdm_filter.filterGain = args[ARG_gain_db].u_int;
+ audio_data->pdm_filter_func = (decimation == 64) ? Open_PDM_Filter_64 : Open_PDM_Filter_128;
+ Open_PDM_Filter_Init(&audio_data->pdm_filter);
+
+ // Configure PIO state machine
+ float div;
+ if (args[ARG_clkdiv].u_int != 0) {
+ div = (float)args[ARG_clkdiv].u_int;
+ } else {
+ div = ((float)clock_get_hz(clk_sys)) / (args[ARG_frequency].u_int * decimation * 2);
+ }
+
+ uint offset = pio_add_program(MICROPY_HW_PDM_PIO, &pdm_pio_program);
+ pdm_pio_program_init(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM, offset, MICROPY_HW_PDM_CLK_PIN, MICROPY_HW_PDM_DIN_PIN, div);
+
+ // Wait for microphone to settle.
+ mp_hal_delay_ms(100);
+
+ // Find unused channel
+ audio_data->dma_channel = dma_claim_unused_channel(false);
+ if (audio_data->dma_channel < 0) {
+ RAISE_OS_EXCEPTION("Failed to claim a DMA channel.");
+ }
+
+ // Configure DMA for transferring PIO rx buffer to raw buffers
+ dma_channel_config c = dma_channel_get_default_config(audio_data->dma_channel);
+ channel_config_set_read_increment(&c, false);
+ channel_config_set_write_increment(&c, true);
+ channel_config_set_dreq(&c, pio_get_dreq(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM, false));
+ channel_config_set_transfer_data_size(&c, DMA_SIZE_8);
+
+ // Configure DMA channel without starting.
+ dma_channel_configure(audio_data->dma_channel, &c,
+ audio_data->pdm_buffer, // Destinatinon pointer, first buffer.
+ &MICROPY_HW_PDM_PIO->rxf[MICROPY_HW_PDM_SM], // Source pointer.
+ PDM_BUFFER_SIZE, // Number of transfers.
+ false // Don't start immediately.
+ );
+
+ // Setup DMA IRQ handler.
+ // Disable IRQs.
+ irq_set_enabled(MICROPY_HW_PDM_DMA_IRQ, false);
+
+ // Clear DMA interrupts.
+ dma_irqn_acknowledge_channel(MICROPY_HW_PDM_DMA, audio_data->dma_channel);
+
+ static bool irq_handler_installed = false;
+ if (!irq_handler_installed) {
+ irq_handler_installed = true;
+ // Install shared DMA IRQ handler.
+ irq_add_shared_handler(MICROPY_HW_PDM_DMA_IRQ, dma_irq_handler, PICO_HIGHEST_IRQ_PRIORITY);
+ }
+
+ // Re-enable IRQs.
+ irq_set_enabled(MICROPY_HW_PDM_DMA_IRQ, true);
+ dma_irqn_set_channel_enabled(MICROPY_HW_PDM_DMA, audio_data->dma_channel, true);
+
+ audio_initialized = true;
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_KW(modaudio_init_obj, 0, modaudio_init);
+
+static mp_obj_t modaudio_samples() {
+ return mp_obj_new_int(audio_data->t_samples);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(modaudio_samples_obj, modaudio_samples);
+
+static mp_obj_t modaudio_overflow() {
+ return mp_obj_new_bool(audio_data->overflow);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(modaudio_overflow_obj, modaudio_overflow);
+
+static mp_obj_t modaudio_start_streaming(mp_obj_t callback_obj) {
+ audio_data->head = 0;
+ audio_data->tail = 0;
+ #if PDM_TIME_CONV
+ audio_data->conv_total = 0;
+ audio_data->conv_times = 0;
+ #endif
+ audio_data->t_samples = 0;
+ audio_data->overflow = false;
+
+ if (mp_obj_is_callable(callback_obj)) {
+ audio_data->user_callback = callback_obj;
+ } else {
+ audio_data->user_callback = mp_const_none;
+ }
+
+ // Re-enable the state machine.
+ pio_sm_clear_fifos(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM);
+ pio_sm_set_enabled(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM, true);
+
+ dma_channel_start(audio_data->dma_channel);
+
+ audio_data->streaming = true;
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(modaudio_start_streaming_obj, modaudio_start_streaming);
+
+static mp_obj_t modaudio_stop_streaming() {
+
+ if (audio_data->streaming) {
+ // Disable PDM and IRQ
+ dma_channel_abort(audio_data->dma_channel);
+ dma_irqn_set_channel_enabled(MICROPY_HW_PDM_DMA, audio_data->dma_channel, false);
+
+ // Disable state machine.
+ pio_sm_set_enabled(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM, false);
+ pio_sm_clear_fifos(MICROPY_HW_PDM_PIO, MICROPY_HW_PDM_SM);
+
+ audio_data->streaming = false;
+ #if MICROPY_PY_AUDIO_USE_SYNC_EVENTS
+ for (mp_uint_t start = mp_hal_ticks_ms();
+ audio_task_scheduled && (mp_hal_ticks_ms() - start) >= 1000;
+ mp_hal_delay_ms(10)) {;
+ }
+ #endif
+
+ #if PDM_TIME_CONV
+ mp_printf(&mp_plat_print, "Average conversion time:%ld us\n",
+ (audio_data->conv_total / audio_data->conv_times));
+ #endif
+ }
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_0(modaudio_stop_streaming_obj, modaudio_stop_streaming);
+
+static mp_obj_t modaudio_get_buffer(uint n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ enum { ARG_timeout };
+ static const mp_arg_t allowed_args[] = {
+ { MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
+ };
+
+ // Parse args
+ mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
+ mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
+
+ if (audio_data->streaming == false) {
+ RAISE_OS_EXCEPTION("Audio streaming is not enabled.");
+ }
+
+ if (audio_data->overflow == true && audio_data->abort_on_overflow) {
+ RAISE_OS_EXCEPTION("Audio buffer overflow.");
+ }
+
+ if (mp_obj_is_callable(audio_data->user_callback)) {
+ RAISE_OS_EXCEPTION("Audio streaming with callback function is enabled.");
+ }
+
+ for (mp_uint_t start = mp_hal_ticks_ms(); (audio_data->head == audio_data->tail);) {
+ if (args[ARG_timeout].u_int && (mp_hal_ticks_ms() - start) >= args[ARG_timeout].u_int) {
+ RAISE_OS_EXCEPTION("Timeout waiting for audio buffer.");
+ }
+ }
+
+ audio_data->pcm_buffer_user->items
+ = &audio_data->pcm_buffer[audio_data->head * audio_data->n_samples];
+
+ // Advance head to next buffer.
+ audio_data->head = NEXT_BUFFER(audio_data->head);
+
+ // Return PCM buffer.
+ return MP_OBJ_FROM_PTR(audio_data->pcm_buffer_user);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_KW(modaudio_get_buffer_obj, 0, modaudio_get_buffer);
+
+void modaudio_deinit() {
+ if (audio_initialized) {
+ modaudio_stop_streaming();
+
+ audio_data->head = 0;
+ audio_data->tail = 0;
+ audio_data->t_samples = 0;
+ audio_data->n_samples = 0;
+ audio_data->n_buffers = 0;
+ audio_data->pdm_buffer = NULL;
+ audio_data->pcm_buffer = NULL;
+ audio_data->streaming = false;
+ audio_data->overflow = false;
+ audio_data->abort_on_overflow = false;
+ audio_data->user_callback = mp_const_none;
+
+ if (audio_data->dma_channel >= 0) {
+ dma_channel_unclaim(audio_data->dma_channel);
+ }
+ }
+ audio_data = MP_OBJ_NULL;
+ audio_initialized = false;
+}
+
+static const mp_rom_map_elem_t globals_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_audio) },
+ { MP_ROM_QSTR(MP_QSTR_init), MP_ROM_PTR(&modaudio_init_obj) },
+ { MP_ROM_QSTR(MP_QSTR_samples), MP_ROM_PTR(&modaudio_samples_obj) },
+ { MP_ROM_QSTR(MP_QSTR_overflow), MP_ROM_PTR(&modaudio_overflow_obj) },
+ { MP_ROM_QSTR(MP_QSTR_start_streaming), MP_ROM_PTR(&modaudio_start_streaming_obj) },
+ { MP_ROM_QSTR(MP_QSTR_stop_streaming), MP_ROM_PTR(&modaudio_stop_streaming_obj) },
+ { MP_ROM_QSTR(MP_QSTR_get_buffer), MP_ROM_PTR(&modaudio_get_buffer_obj) },
+};
+
+STATIC MP_DEFINE_CONST_DICT(globals_dict, globals_dict_table);
+
+const mp_obj_module_t audio_module = {
+ .base = { &mp_type_module },
+ .globals = (mp_obj_t)&globals_dict,
+};
+
+MP_REGISTER_MODULE(MP_QSTR_audio, audio_module, MICROPY_PY_AUDIO);
diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/pdm.pio b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/pdm.pio
new file mode 100644
index 0000000000000..c666e012c4a56
--- /dev/null
+++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/audio/pdm.pio
@@ -0,0 +1,54 @@
+; This file is part of the MicroPython project, http://micropython.org/
+;
+; The MIT License (MIT)
+;
+; Copyright (c) 2013-2021 Ibrahim Abdelkader
+;
+; Permission is hereby granted, free of charge, to any person obtaining a copy
+; of this software and associated documentation files (the "Software"), to deal
+; in the Software without restriction, including without limitation the rights
+; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+; copies of the Software, and to permit persons to whom the Software is
+; furnished to do so, subject to the following conditions:
+;
+; The above copyright notice and this permission notice shall be included in
+; all copies or substantial portions of the Software.
+;
+; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+; THE SOFTWARE.
+
+.program pdm_pio
+.side_set 1
+.wrap_target
+ push iffull noblock side 1
+ in pins, 1 side 0
+.wrap
+
+% c-sdk {
+#include "hardware/gpio.h"
+
+static inline void pdm_pio_program_init(PIO pio, uint sm, uint offset, uint clk, uint din, float div) {
+ pio_sm_config c = pdm_pio_program_get_default_config(offset);
+
+ sm_config_set_sideset(&c, 1, false, false);
+ sm_config_set_in_shift(&c, false, false, 8);
+
+ sm_config_set_in_pins(&c, din);
+ sm_config_set_sideset_pins(&c, clk);
+ sm_config_set_clkdiv(&c, div);
+
+ pio_sm_set_consecutive_pindirs(pio, sm, din, 1, false);
+ pio_sm_set_consecutive_pindirs(pio, sm, clk, 1, true);
+ pio_sm_set_pins_with_mask(pio, sm, 0, (1u << clk) );
+ pio_gpio_init(pio, clk);
+
+ pio_sm_init(pio, sm, offset, &c);
+ pio_sm_set_enabled(pio, sm, true);
+}
+
+%}
diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/micropython.cmake b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/micropython.cmake
new file mode 100644
index 0000000000000..056a68e7854ff
--- /dev/null
+++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/micropython.cmake
@@ -0,0 +1,26 @@
+# Create an INTERFACE library for our C module.
+add_library(nano_modules INTERFACE)
+
+target_compile_definitions(nano_modules INTERFACE
+ MICROPY_PY_AUDIO=1
+ USE_LUT
+)
+
+# Add the current directory as an include directory.
+target_include_directories(nano_modules INTERFACE
+ ${MICROPY_DIR}/lib/openpdm
+)
+
+# Add our source files to the lib
+target_sources(nano_modules INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/audio/modaudio.c
+ ${MICROPY_DIR}/lib/openpdm/pdm_filter.c
+)
+
+# PDM PIO program
+pico_generate_pio_header(nano_modules
+ ${CMAKE_CURRENT_LIST_DIR}/audio/pdm.pio
+)
+
+# Link our INTERFACE library to the usermod target.
+target_link_libraries(usermod INTERFACE nano_modules)
diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake
index b31109ac53aed..17c24368201b5 100644
--- a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake
+++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.cmake
@@ -3,4 +3,5 @@ set(MICROPY_PY_BLUETOOTH 1)
set(MICROPY_BLUETOOTH_NIMBLE 1)
set(MICROPY_PY_NETWORK_NINAW10 1)
set(MICROPY_HW_ENABLE_DOUBLE_TAP 1)
+set(USER_C_MODULES ${MICROPY_BOARD_DIR}/micropython.cmake)
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
diff --git a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h
index 57c2d7879eba6..746c0f9b41667 100644
--- a/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h
+++ b/ports/rp2/boards/ARDUINO_NANO_RP2040_CONNECT/mpconfigboard.h
@@ -45,3 +45,14 @@
#define MICROPY_HW_NINA_GPIO0 (2)
#define MICROPY_HW_NINA_GPIO1 (9)
#define MICROPY_HW_NINA_ACK (10)
+
+// AUDIO config.
+#define MICROPY_HW_PDM_PIO (pio1)
+#define MICROPY_HW_PDM_SM (0)
+#define MICROPY_HW_PDM_DMA (1)
+#define MICROPY_HW_PDM_DMA_IRQ (DMA_IRQ_1)
+
+#define MICROPY_HW_PDM_CLK_PIN (23)
+#define MICROPY_HW_PDM_DIN_PIN (22)
+
+#define MICROPY_BOARD_ROOT_POINTERS struct _audio_data_t *audio_data;