#include "plugin.h" #include "const.h" const int16_t hamming_8192[8192] = { 2514,2514,2514,2514,2514,2514,2514,2514,2514,2514,2514,2514, 2514,2514,2514,2515,2515,2515,2515,2515,2515,2516,2516,2516, 2516,2517,2517,2517,2517,2518,2518,2518,2518,2519,2519,2519, 2520,2520,2520,2520,2521,2521,2522,2522,2522,2523,2523,2524, 2524,2525,2525,2526,2526,2526,2527,2527,2528,2528,2529,2529, 2530,2530,2531,2532,2532,2532,2533,2534,2534,2535,2536,2536, 2537,2538,2538,2539,2539,2540,2541,2542,2542,2543,2544,2544, 2545,2546,2547,2547,2548,2549,2550,2550,2551,2552,2553,2554, 2555,2556,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565, 2566,2567,2568,2568,2569,2570,2572,2573,2574,2574,2576,2577, 2578,2579,2580,2581,2582,2583,2584,2586,2586,2588,2589,2590, 2591,2592,2593,2595,2596,2597,2598,2600,2601,2602,2604,2604, 2606,2607,2609,2610,2611,2612,2614,2615,2616,2618,2619,2621, 2622,2623,2625,2626,2628,2629,2630,2632,2633,2635,2636,2638, 2639,2640,2642,2644,2645,2647,2648,2650,2652,2653,2654,2656, 2658,2659,2661,2663,2664,2666,2667,2669,2671,2672,2674,2676, 2677,2679,2681,2682,2684,2686,2688,2689,2691,2693,2695,2697, 2699,2700,2702,2704,2706,2708,2710,2712,2713,2715,2717,2719, 2721,2723,2724,2727,2729,2730,2732,2735,2736,2738,2741,2742, 2744,2747,2748,2750,2753,2754,2757,2759,2761,2763,2765,2767, 2769,2772,2773,2776,2778,2780,2782,2784,2787,2789,2791,2793, 2796,2798,2800,2802,2804,2807,2809,2811,2814,2816,2818,2820, 2823,2825,2827,2830,2832,2834,2837,2839,2842,2844,2846,2849, 2851,2854,2856,2859,2861,2864,2866,2869,2871,2874,2876,2879, 2881,2884,2887,2889,2892,2894,2897,2899,2902,2905,2907,2910, 2912,2915,2918,2920,2923,2926,2929,2931,2934,2936,2939,2942, 2945,2947,2950,2953,2956,2959,2961,2964,2967,2970,2973,2976, 2978,2981,2984,2987,2990,2993,2996,2999,3001,3004,3007,3010, 3013,3016,3019,3022,3025,3028,3031,3034,3037,3040,3043,3046, 3049,3052,3055,3059,3061,3065,3068,3071,3074,3077,3080,3084, 3087,3090,3093,3096,3099,3103,3106,3109,3112,3115,3119,3122, 3125,3128,3132,3135,3139,3142,3145,3148,3151,3155,3158,3162, 3165,3169,3172,3175,3179,3182,3186,3189,3192,3196,3199,3203, 3206,3210,3213,3217,3220,3224,3227,3230,3234,3238,3241,3245, 3248,3252,3255,3259,3263,3266,3270,3273,3277,3281,3284,3288, 3292,3296,3299,3303,3307,3310,3314,3318,3321,3325,3329,3333, 3337,3340,3344,3348,3352,3356,3359,3363,3367,3371,3375,3379, 3382,3386,3390,3394,3398,3402,3406,3410,3414,3418,3422,3426, 3429,3434,3438,3441,3446,3450,3453,3458,3462,3466,3470,3474, 3478,3482,3486,3490,3494,3498,3502,3506,3511,3515,3519,3523, 3527,3531,3536,3540,3544,3548,3553,3557,3561,3565,3570,3574, 3578,3582,3587,3591,3595,3600,3604,3608,3613,3617,3621,3626, 3630,3634,3639,3643,3647,3652,3657,3661,3665,3669,3674,3679, 3683,3687,3692,3697,3701,3705,3710,3715,3719,3723,3728,3733, 3737,3742,3747,3751,3756,3760,3765,3770,3774,3779,3783,3788, 3793,3797,3802,3807,3812,3816,3821,3825,3831,3835,3840,3844, 3849,3854,3859,3864,3868,3873,3878,3883,3888,3892,3897,3902, 3907,3912,3917,3922,3927,3932,3936,3941,3946,3951,3956,3961, 3966,3971,3976,3981,3986,3991,3996,4001,4006,4011,4016,4021, 4026,4031,4036,4042,4047,4052,4057,4062,4067,4072,4077,4082, 4087,4093,4098,4103,4108,4114,4119,4124,4129,4134,4139,4144, 4150,4155,4160,4166,4171,4176,4181,4187,4192,4198,4203,4208, 4213,4219,4224,4229,4235,4240,4246,4251,4256,4262,4267,4273, 4278,4283,4289,4295,4300,4306,4311,4316,4322,4327,4333,4338, 4344,4349,4355,4361,4366,4372,4377,4383,4388,4394,4400,4405, 4411,4416,4422,4428,4433,4439,4445,4451,4456,4462,4468,4473, 4479,4485,4490,4496,4502,4508,4513,4519,4525,4531,4536,4542, 4548,4554,4560,4565,4571,4577,4583,4589,4595,4601,4607,4613, 4619,4624,4630,4636,4642,4648,4654,4660,4666,4672,4678,4684, 4690,4696,4702,4708,4714,4720,4726,4732,4738,4744,4750,4756, 4762,4768,4775,4781,4787,4793,4799,4805,4811,4818,4824,4830, 4836,4842,4848,4854,4860,4867,4873,4879,4885,4892,4898,4904, 4910,4917,4923,4929,4936,4942,4948,4955,4961,4967,4974,4980, 4987,4993,4999,5005,5012,5018,5024,5031,5037,5044,5050,5057, 5063,5070,5076,5083,5089,5095,5102,5108,5115,5121,5128,5134, 5141,5148,5154,5161,5167,5174,5180,5187,5193,5200,5207,5213, 5220,5227,5233,5240,5246,5253,5260,5266,5273,5280,5287,5293, 5300,5306,5313,5320,5327,5334,5340,5347,5354,5360,5367,5374, 5381,5388,5395,5402,5408,5415,5422,5429,5436,5443,5449,5456, 5463,5470,5477,5484,5491,5498,5504,5511,5518,5525,5532,5539, 5546,5553,5560,5567,5574,5581,5588,5595,5602,5609,5616,5623, 5630,5637,5644,5651,5659,5666,5672,5680,5687,5694,5701,5709, 5715,5722,5730,5737,5744,5751,5758,5766,5773,5780,5787,5794, 5802,5809,5816,5823,5830,5838,5845,5852,5859,5867,5874,5882, 5889,5896,5903,5911,5918,5925,5933,5940,5947,5955,5962,5969, 5977,5984,5991,5999,6007,6014,6021,6029,6036,6044,6051,6058, 6066,6074,6081,6088,6096,6104,6111,6118,6126,6134,6141,6148, 6156,6164,6171,6179,6186,6194,6202,6209,6217,6225,6232,6240, 6247,6255,6262,6270,6278,6286,6293,6301,6309,6316,6324,6332, 6340,6347,6355,6363,6370,6378,6386,6394,6401,6409,6417,6425, 6432,6440,6448,6456,6464,6472,6479,6487,6495,6503,6511,6519, 6527,6534,6542,6550,6558,6566,6574,6581,6589,6598,6605,6613, 6621,6629,6637,6645,6653,6661,6669,6677,6685,6693,6701,6709, 6717,6725,6733,6741,6749,6757,6765,6774,6781,6790,6798,6806, 6814,6822,6830,6838,6846,6854,6863,6871,6879,6887,6895,6903, 6912,6920,6928,6936,6945,6954,6962,6970,6978,6986,6995,7003, 7011,7020,7028,7036,7044,7052,7061,7069,7077,7086,7094,7102, 7111,7119,7128,7136,7144,7153,7161,7169,7177,7186,7195,7203, 7211,7219,7228,7237,7245,7253,7261,7270,7279,7287,7296,7304, 7312,7321,7329,7338,7346,7355,7363,7372,7381,7389,7398,7406, 7415,7423,7432,7440,7449,7457,7466,7475,7483,7492,7500,7509, 7518,7526,7535,7544,7552,7561,7569,7578,7587,7595,7604,7613, 7622,7630,7639,7647,7656,7665,7674,7682,7691,7700,7709,7718, 7726,7735,7744,7753,7761,7770,7779,7788,7797,7805,7814,7823, 7832,7841,7850,7858,7867,7876,7885,7894,7903,7911,7920,7929, 7938,7947,7956,7965,7974,7983,7992,8001,8010,8019,8027,8037, 8045,8055,8063,8072,8081,8090,8099,8108,8117,8126,8135,8145, 8153,8163,8171,8181,8190,8199,8208,8217,8226,8235,8244,8253, 8262,8272,8280,8290,8299,8308,8317,8326,8335,8344,8354,8363, 8372,8381,8390,8399,8409,8418,8427,8436,8446,8455,8464,8473, 8482,8492,8501,8510,8519,8529,8538,8547,8556,8566,8575,8584, 8593,8603,8612,8621,8631,8640,8650,8659,8668,8677,8687,8696, 8705,8715,8724,8734,8743,8753,8762,8771,8781,8790,8799,8809, 8818,8828,8837,8846,8856,8865,8875,8884,8894,8903,8913,8922, 8932,8941,8951,8960,8970,8979,8988,8998,9008,9017,9027,9036, 9046,9055,9065,9074,9084,9094,9103,9113,9122,9132,9142,9151, 9161,9170,9180,9190,9199,9209,9218,9228,9238,9247,9257,9267, 9277,9286,9296,9306,9315,9325,9335,9344,9354,9364,9373,9383, 9393,9403,9412,9422,9432,9441,9451,9461,9471,9481,9490,9500, 9510,9520,9529,9539,9549,9559,9569,9578,9588,9598,9608,9618, 9628,9638,9647,9657,9667,9677,9687,9697,9706,9716,9726,9736, 9746,9756,9766,9776,9786,9795,9806,9815,9825,9835,9845,9855, 9865,9875,9885,9895,9905,9915,9925,9935,9945,9955,9965,9975, 9985,9995,10005,10015,10025,10035,10045,10055,10065,10075,10085,10095, 10105,10115,10125,10136,10146,10155,10166,10176,10186,10196,10206,10216, 10226,10236,10246,10257,10267,10277,10287,10297,10307,10318,10328,10338, 10348,10358,10368,10378,10389,10399,10409,10419,10430,10440,10450,10460, 10470,10480,10491,10501,10511,10522,10532,10542,10552,10562,10573,10583, 10593,10603,10614,10624,10634,10644,10655,10665,10675,10686,10696,10706, 10717,10727,10737,10748,10758,10769,10779,10789,10799,10810,10820,10830, 10841,10851,10861,10872,10882,10893,10903,10913,10924,10934,10944,10955, 10965,10976,10986,10997,11007,11017,11028,11039,11049,11059,11070,11080, 11091,11101,11112,11122,11132,11143,11154,11164,11174,11185,11196,11206, 11216,11227,11238,11248,11258,11269,11280,11290,11300,11311,11322,11332, 11343,11353,11364,11374,11385,11395,11406,11417,11427,11438,11449,11459, 11470,11480,11491,11501,11512,11522,11533,11544,11554,11565,11575,11586, 11597,11608,11618,11629,11640,11650,11661,11672,11682,11693,11703,11714, 11725,11736,11746,11757,11768,11778,11789,11800,11810,11821,11832,11842, 11853,11864,11875,11885,11896,11907,11918,11928,11939,11950,11960,11972, 11982,11993,12003,12015,12025,12036,12047,12057,12068,12079,12090,12101, 12111,12122,12133,12144,12155,12165,12177,12187,12198,12209,12219,12231, 12241,12252,12263,12274,12285,12296,12306,12317,12328,12339,12350,12361, 12371,12382,12394,12404,12415,12426,12437,12448,12459,12470,12480,12491, 12502,12513,12524,12535,12546,12557,12568,12579,12590,12601,12611,12622, 12634,12644,12655,12666,12677,12688,12699,12710,12721,12732,12743,12754, 12765,12776,12787,12798,12809,12820,12831,12842,12853,12864,12875,12886, 12897,12908,12919,12930,12941,12952,12963,12974,12985,12996,13007,13019, 13030,13041,13051,13062,13074,13085,13096,13107,13118,13129,13140,13151, 13162,13173,13184,13195,13206,13218,13229,13240,13251,13262,13273,13284, 13296,13307,13318,13329,13340,13351,13362,13373,13384,13396,13407,13418, 13429,13440,13451,13462,13474,13485,13496,13507,13518,13529,13541,13552, 13563,13574,13585,13597,13608,13619,13630,13641,13652,13663,13675,13686, 13697,13708,13719,13731,13742,13753,13765,13776,13787,13798,13809,13820, 13832,13843,13854,13865,13877,13888,13899,13910,13922,13933,13944,13955, 13967,13978,13989,14000,14012,14023,14034,14045,14057,14068,14079,14090, 14102,14113,14124,14136,14147,14158,14169,14181,14192,14204,14215,14226, 14237,14249,14260,14271,14283,14294,14305,14317,14328,14339,14350,14362, 14373,14385,14396,14407,14418,14430,14441,14452,14464,14475,14487,14498, 14509,14521,14532,14543,14554,14566,14578,14589,14600,14611,14623,14634, 14645,14657,14668,14680,14691,14703,14714,14725,14736,14748,14759,14771, 14782,14794,14805,14816,14828,14839,14850,14862,14873,14885,14896,14908, 14919,14930,14942,14953,14965,14976,14987,14999,15010,15022,15033,15045, 15056,15067,15079,15090,15102,15113,15125,15136,15148,15159,15170,15182, 15193,15205,15216,15228,15239,15251,15262,15274,15285,15296,15308,15319, 15331,15342,15354,15365,15377,15388,15400,15411,15423,15434,15445,15457, 15468,15480,15492,15503,15515,15526,15537,15549,15560,15572,15583,15595, 15607,15618,15629,15641,15652,15664,15675,15687,15698,15710,15721,15733, 15745,15756,15768,15779,15790,15802,15813,15825,15836,15848,15859,15871, 15883,15894,15906,15917,15929,15940,15952,15963,15975,15986,15998,16010, 16021,16033,16044,16056,16067,16079,16090,16102,16113,16125,16136,16148, 16160,16171,16183,16194,16206,16217,16229,16240,16252,16263,16275,16287, 16298,16310,16321,16333,16344,16356,16367,16379,16390,16402,16413,16425, 16437,16449,16460,16472,16483,16495,16506,16518,16529,16541,16552,16564, 16575,16587,16599,16611,16622,16634,16645,16657,16668,16680,16691,16703, 16714,16726,16738,16750,16761,16773,16784,16796,16807,16819,16830,16842, 16853,16865,16877,16888,16900,16912,16923,16935,16946,16958,16969,16981, 16993,17004,17016,17027,17039,17051,17062,17074,17086,17097,17109,17120, 17132,17143,17155,17166,17178,17190,17201,17213,17225,17236,17248,17259, 17271,17283,17294,17306,17317,17329,17340,17352,17364,17376,17387,17399, 17410,17422,17433,17445,17457,17468,17480,17491,17503,17514,17526,17538, 17550,17561,17573,17584,17596,17607,17619,17631,17644,17655,17667,17678, 17690,17701,17713,17725,17737,17748,17760,17771,17783,17795,17806,17818, 17829,17841,17852,17864,17875,17887,17899,17911,17922,17934,17945,17957, 17968,17980,17992,18003,18015,18026,18038,18050,18061,18073,18085,18096, 18108,18119,18131,18142,18154,18166,18177,18189,18200,18212,18224,18235, 18247,18258,18270,18282,18293,18305,18316,18328,18339,18351,18363,18375, 18386,18398,18409,18421,18432,18444,18455,18467,18478,18490,18502,18513, 18525,18537,18548,18560,18571,18583,18594,18606,18617,18629,18641,18652, 18664,18675,18687,18699,18710,18722,18733,18745,18756,18768,18779,18791, 18803,18814,18826,18838,18849,18861,18872,18884,18895,18907,18918,18930, 18941,18953,18964,18976,18988,18999,19011,19022,19034,19045,19057,19068, 19080,19092,19103,19115,19127,19138,19150,19161,19173,19184,19196,19207, 19219,19230,19242,19253,19265,19277,19288,19300,19311,19322,19334,19345, 19357,19368,19380,19391,19403,19415,19426,19438,19449,19461,19472,19484, 19495,19507,19518,19530,19542,19553,19565,19576,19587,19599,19610,19622, 19633,19645,19656,19668,19680,19691,19702,19714,19725,19737,19748,19760, 19771,19783,19795,19806,19817,19829,19840,19852,19863,19875,19886,19897, 19909,19921,19932,19944,19955,19966,19978,19989,20001,20012,20024,20035, 20047,20058,20070,20081,20092,20104,20115,20127,20138,20150,20161,20173, 20184,20195,20207,20218,20230,20241,20252,20264,20276,20287,20298,20310, 20321,20332,20344,20355,20367,20378,20390,20401,20413,20424,20435,20447, 20458,20469,20481,20492,20504,20515,20526,20538,20549,20560,20572,20583, 20595,20606,20618,20629,20640,20652,20663,20674,20685,20697,20709,20720, 20731,20742,20754,20765,20776,20788,20799,20811,20822,20833,20845,20856, 20867,20878,20890,20901,20913,20924,20935,20947,20958,20969,20980,20992, 21003,21015,21026,21037,21048,21060,21071,21082,21094,21105,21116,21127, 21139,21150,21161,21173,21184,21195,21207,21218,21229,21240,21251,21263, 21274,21285,21297,21308,21319,21330,21341,21353,21364,21375,21387,21398, 21409,21420,21431,21443,21454,21465,21476,21488,21499,21510,21522,21533, 21544,21555,21566,21577,21588,21600,21611,21622,21633,21645,21656,21667, 21678,21689,21701,21712,21723,21734,21745,21756,21768,21779,21790,21801, 21812,21823,21834,21846,21857,21868,21879,21890,21901,21913,21924,21935, 21946,21957,21968,21979,21990,22001,22012,22024,22035,22046,22057,22068, 22079,22090,22101,22112,22123,22135,22146,22157,22168,22179,22190,22201, 22212,22223,22234,22245,22256,22267,22278,22289,22300,22311,22322,22334, 22345,22356,22366,22377,22388,22400,22411,22422,22433,22443,22454,22466, 22477,22488,22499,22509,22520,22532,22543,22553,22564,22575,22587,22597, 22608,22619,22630,22641,22652,22663,22674,22685,22696,22707,22718,22729, 22740,22750,22761,22773,22783,22794,22805,22816,22827,22838,22849,22860, 22870,22881,22892,22903,22914,22925,22936,22947,22958,22968,22979,22990, 23001,23012,23023,23033,23044,23055,23066,23077,23087,23098,23109,23120, 23131,23142,23152,23163,23174,23185,23196,23206,23217,23228,23239,23249, 23260,23271,23282,23293,23303,23314,23325,23336,23346,23357,23368,23379, 23389,23400,23411,23422,23432,23443,23453,23465,23475,23486,23496,23507, 23518,23529,23539,23550,23561,23571,23582,23593,23603,23614,23625,23635, 23646,23657,23667,23678,23688,23699,23710,23720,23731,23742,23752,23763, 23773,23784,23795,23805,23816,23826,23837,23848,23858,23869,23880,23890, 23900,23911,23922,23932,23943,23953,23964,23974,23985,23995,24006,24017, 24027,24037,24048,24059,24069,24079,24090,24101,24111,24121,24132,24142, 24153,24163,24174,24184,24195,24205,24216,24226,24236,24247,24258,24268, 24278,24289,24299,24309,24320,24331,24341,24351,24362,24372,24382,24393, 24403,24414,24424,24434,24445,24455,24465,24476,24486,24496,24507,24517, 24527,24538,24548,24558,24569,24579,24589,24600,24610,24620,24631,24641, 24651,24661,24672,24682,24692,24702,24713,24723,24733,24743,24753,24764, 24774,24784,24795,24805,24815,24825,24836,24846,24856,24866,24876,24886, 24897,24907,24917,24927,24937,24947,24957,24968,24978,24988,24998,25008, 25018,25029,25039,25049,25059,25069,25079,25089,25099,25109,25120,25130, 25140,25150,25160,25170,25180,25190,25200,25210,25220,25230,25240,25250, 25260,25270,25280,25290,25300,25310,25320,25330,25340,25350,25360,25370, 25380,25390,25400,25410,25420,25430,25440,25450,25460,25470,25480,25490, 25499,25510,25519,25529,25539,25549,25559,25569,25579,25589,25598,25608, 25618,25628,25638,25648,25657,25667,25677,25687,25697,25707,25716,25726, 25736,25746,25756,25765,25775,25785,25795,25805,25814,25824,25834,25844, 25854,25863,25873,25883,25892,25902,25912,25921,25931,25941,25950,25960, 25970,25980,25989,25999,26009,26018,26028,26038,26047,26057,26066,26076, 26086,26095,26105,26115,26124,26134,26143,26153,26163,26172,26182,26191, 26201,26210,26220,26230,26239,26249,26258,26268,26277,26287,26296,26306, 26315,26325,26335,26344,26353,26363,26372,26382,26391,26401,26410,26419, 26429,26438,26448,26457,26467,26476,26486,26495,26504,26514,26523,26533, 26542,26552,26561,26570,26580,26589,26598,26607,26617,26626,26636,26645, 26654,26664,26673,26682,26691,26701,26710,26719,26729,26738,26747,26756, 26766,26775,26784,26793,26803,26812,26821,26830,26840,26849,26858,26867, 26877,26885,26895,26904,26913,26922,26931,26941,26949,26959,26968,26977, 26986,26995,27004,27014,27022,27032,27041,27050,27059,27068,27077,27086, 27095,27104,27113,27123,27131,27141,27149,27159,27167,27177,27185,27195, 27203,27213,27221,27231,27239,27249,27257,27266,27275,27284,27293,27302, 27311,27320,27329,27338,27346,27356,27364,27373,27382,27391,27400,27409, 27418,27426,27436,27444,27453,27462,27471,27479,27488,27497,27506,27515, 27523,27532,27541,27550,27558,27567,27576,27585,27593,27602,27611,27620, 27629,27637,27646,27654,27663,27672,27681,27689,27698,27707,27715,27724, 27732,27741,27750,27759,27767,27776,27785,27793,27802,27810,27819,27827, 27836,27845,27853,27862,27870,27879,27887,27896,27904,27913,27921,27930, 27938,27947,27955,27964,27972,27981,27989,27998,28006,28014,28023,28032, 28040,28048,28056,28065,28074,28082,28090,28098,28107,28116,28124,28132, 28140,28149,28157,28165,28174,28182,28190,28199,28207,28215,28224,28232, 28240,28249,28257,28265,28273,28282,28290,28298,28306,28315,28323,28331, 28340,28348,28357,28365,28373,28381,28389,28398,28405,28414,28422,28430, 28438,28446,28454,28463,28471,28479,28487,28495,28503,28511,28519,28527, 28535,28543,28551,28559,28568,28575,28583,28592,28599,28607,28616,28623, 28631,28640,28647,28655,28663,28671,28679,28687,28695,28703,28711,28718, 28727,28735,28742,28750,28758,28766,28774,28782,28790,28797,28805,28813, 28821,28829,28837,28844,28852,28860,28868,28875,28883,28891,28899,28906, 28914,28922,28929,28937,28945,28953,28960,28968,28976,28983,28991,28999, 29007,29014,29022,29030,29037,29045,29052,29060,29067,29075,29083,29090, 29098,29105,29113,29121,29128,29136,29143,29151,29158,29166,29173,29181, 29188,29196,29203,29211,29218,29226,29233,29241,29248,29255,29263,29270, 29278,29285,29293,29300,29308,29315,29322,29330,29337,29344,29351,29359, 29366,29374,29381,29388,29396,29403,29410,29417,29425,29432,29439,29446, 29454,29461,29468,29476,29482,29490,29497,29504,29512,29518,29526,29533, 29540,29547,29554,29561,29569,29576,29583,29590,29597,29604,29611,29619, 29626,29633,29640,29647,29654,29661,29668,29675,29682,29689,29696,29703, 29710,29717,29724,29731,29738,29745,29752,29759,29766,29773,29780,29787, 29794,29801,29807,29814,29821,29828,29835,29842,29849,29855,29862,29869, 29876,29883,29890,29896,29903,29910,29916,29923,29930,29937,29944,29951, 29957,29964,29970,29977,29984,29991,29998,30004,30011,30018,30024,30031, 30037,30044,30051,30057,30064,30071,30077,30084,30090,30097,30104,30110, 30117,30123,30130,30137,30143,30150,30156,30162,30169,30175,30182,30188, 30195,30201,30208,30214,30221,30227,30234,30240,30246,30253,30259,30266, 30272,30278,30285,30291,30298,30304,30310,30317,30323,30329,30336,30342, 30348,30355,30361,30367,30373,30379,30386,30392,30398,30404,30411,30417, 30423,30429,30436,30442,30448,30454,30460,30466,30473,30479,30485,30491, 30497,30503,30509,30515,30522,30528,30534,30540,30546,30552,30558,30564, 30570,30576,30582,30588,30594,30600,30606,30612,30618,30624,30630,30636, 30642,30648,30654,30659,30665,30671,30677,30683,30689,30695,30701,30706, 30712,30718,30724,30730,30735,30741,30747,30753,30759,30764,30770,30776, 30782,30788,30793,30799,30805,30811,30816,30822,30828,30833,30839,30844, 30850,30856,30861,30867,30873,30878,30884,30890,30895,30901,30906,30912, 30917,30923,30928,30934,30939,30945,30950,30956,30962,30967,30973,30978, 30984,30989,30994,31000,31005,31011,31016,31022,31027,31033,31038,31043, 31049,31054,31059,31065,31070,31076,31081,31086,31091,31097,31102,31107, 31113,31118,31123,31128,31134,31139,31144,31149,31155,31160,31165,31170, 31175,31180,31185,31191,31196,31201,31206,31211,31216,31221,31227,31232, 31237,31242,31247,31252,31257,31262,31267,31272,31277,31282,31287,31293, 31297,31302,31307,31312,31317,31322,31327,31332,31337,31342,31347,31352, 31357,31361,31366,31372,31376,31381,31386,31391,31396,31400,31405,31410, 31415,31420,31424,31429,31434,31438,31444,31448,31453,31458,31462,31467, 31472,31476,31481,31486,31491,31495,31500,31504,31509,31514,31518,31523, 31528,31532,31537,31541,31546,31551,31555,31559,31564,31569,31573,31578, 31582,31587,31591,31596,31600,31605,31609,31613,31618,31622,31627,31631, 31636,31640,31644,31649,31653,31658,31662,31666,31671,31675,31679,31684, 31688,31692,31696,31701,31705,31709,31714,31718,31722,31726,31731,31735, 31739,31743,31747,31751,31756,31760,31764,31768,31772,31776,31781,31785, 31789,31793,31797,31801,31805,31809,31813,31817,31822,31825,31829,31834, 31837,31841,31846,31849,31853,31858,31861,31865,31869,31873,31877,31881, 31885,31889,31893,31896,31901,31904,31908,31912,31916,31920,31924,31927, 31931,31935,31939,31943,31946,31950,31954,31958,31961,31965,31969,31973, 31976,31980,31984,31987,31991,31995,31998,32002,32006,32009,32013,32016, 32020,32024,32027,32031,32034,32038,32041,32045,32049,32052,32056,32059, 32063,32066,32070,32073,32076,32080,32083,32087,32090,32094,32097,32101, 32104,32107,32111,32114,32118,32121,32124,32128,32131,32134,32138,32141, 32144,32148,32151,32154,32157,32160,32164,32167,32171,32173,32177,32180, 32183,32186,32190,32193,32196,32199,32202,32205,32208,32212,32215,32218, 32221,32224,32227,32230,32233,32236,32239,32242,32245,32249,32251,32255, 32257,32261,32263,32266,32269,32272,32275,32278,32281,32284,32287,32290, 32292,32296,32298,32301,32304,32307,32310,32313,32316,32318,32321,32324, 32327,32329,32332,32335,32338,32340,32343,32346,32349,32351,32354,32357, 32359,32362,32365,32367,32370,32373,32375,32378,32381,32383,32386,32388, 32391,32394,32396,32399,32401,32404,32406,32409,32411,32414,32416,32419, 32421,32424,32426,32429,32431,32433,32436,32438,32441,32443,32445,32448, 32450,32453,32455,32457,32460,32462,32464,32467,32469,32471,32473,32476, 32478,32480,32482,32485,32487,32489,32491,32494,32496,32498,32500,32502, 32504,32507,32509,32511,32513,32515,32517,32519,32521,32523,32526,32527, 32530,32532,32534,32536,32538,32540,32542,32544,32546,32548,32550,32551, 32554,32556,32557,32559,32561,32563,32565,32567,32569,32571,32573,32575, 32576,32578,32580,32582,32584,32586,32587,32589,32591,32593,32594,32596, 32598,32599,32601,32603,32605,32606,32608,32610,32611,32613,32615,32617, 32618,32620,32621,32623,32624,32626,32628,32629,32631,32632,32634,32635, 32637,32638,32640,32641,32643,32644,32646,32647,32649,32650,32652,32653, 32654,32656,32657,32659,32660,32661,32663,32664,32665,32667,32668,32670, 32671,32672,32673,32675,32676,32677,32678,32680,32681,32682,32683,32685, 32686,32687,32689,32689,32691,32692,32693,32694,32695,32696,32698,32699, 32700,32701,32702,32703,32704,32705,32706,32707,32708,32709,32710,32711, 32712,32713,32714,32715,32716,32717,32718,32719,32720,32721,32722,32723, 32724,32725,32725,32726,32727,32728,32729,32730,32731,32731,32732,32733, 32734,32734,32735,32736,32737,32737,32738,32739,32739,32740,32741,32742, 32742,32743,32743,32744,32745,32745,32746,32747,32747,32748,32749,32749, 32749,32750,32751,32751,32752,32752,32753,32754,32754,32755,32755,32755, 32756,32756,32757,32757,32758,32758,32758,32759,32759,32760,32760,32761, 32761,32761,32761,32762,32762,32762,32763,32763,32763,32763,32764,32764, 32764,32765,32765,32765,32765,32766,32766,32766,32766,32766,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32766,32766, 32766,32766,32766,32765,32765,32765,32765,32764,32764,32764,32764,32763, 32763,32763,32762,32762,32762,32761,32761,32761,32761,32760,32760,32759, 32759,32759,32758,32758,32757,32757,32756,32756,32755,32755,32755,32754, 32754,32753,32753,32752,32751,32751,32750,32750,32749,32749,32748,32748, 32747,32746,32746,32745,32744,32743,32743,32743,32742,32741,32740,32740, 32739,32738,32737,32737,32736,32735,32734,32734,32733,32732,32731,32731, 32730,32729,32728,32727,32726,32725,32725,32724,32723,32722,32721,32720, 32719,32718,32717,32716,32715,32714,32713,32713,32712,32710,32709,32708, 32707,32707,32705,32704,32703,32702,32701,32700,32699,32698,32696,32695, 32694,32693,32692,32691,32689,32689,32687,32686,32685,32683,32683,32681, 32680,32679,32677,32676,32675,32674,32672,32671,32670,32668,32667,32666, 32665,32663,32662,32660,32659,32658,32656,32655,32653,32652,32650,32649, 32647,32646,32645,32643,32641,32640,32639,32637,32635,32634,32632,32631, 32629,32628,32626,32624,32623,32622,32620,32618,32617,32615,32613,32611, 32610,32608,32606,32605,32603,32601,32600,32598,32596,32594,32593,32591, 32589,32587,32586,32584,32582,32580,32578,32576,32575,32573,32571,32569, 32567,32565,32563,32562,32560,32558,32556,32554,32552,32550,32548,32546, 32544,32542,32540,32538,32536,32534,32532,32530,32528,32526,32524,32521, 32520,32517,32515,32513,32511,32509,32507,32505,32503,32500,32498,32496, 32494,32491,32490,32487,32485,32483,32480,32478,32476,32473,32472,32469, 32467,32465,32462,32460,32458,32455,32453,32450,32448,32446,32443,32441, 32438,32436,32434,32431,32429,32426,32424,32421,32419,32417,32414,32412, 32409,32406,32404,32401,32399,32396,32394,32391,32388,32386,32383,32381, 32378,32376,32373,32370,32368,32365,32362,32360,32357,32354,32352,32349, 32346,32344,32341,32338,32335,32333,32330,32327,32324,32322,32319,32316, 32313,32310,32307,32304,32302,32299,32296,32293,32290,32287,32284,32281, 32279,32275,32273,32270,32267,32264,32261,32258,32255,32252,32249,32246, 32243,32240,32237,32233,32231,32227,32225,32221,32218,32215,32212,32209, 32206,32202,32200,32196,32193,32190,32187,32184,32180,32177,32174,32171, 32167,32164,32161,32158,32154,32151,32148,32145,32142,32138,32135,32131, 32128,32125,32121,32118,32115,32112,32108,32105,32101,32098,32094,32091, 32088,32084,32081,32077,32074,32070,32067,32063,32060,32056,32052,32049, 32045,32042,32039,32035,32031,32027,32024,32021,32017,32013,32009,32006, 32003,31999,31995,31991,31988,31984,31980,31977,31973,31969,31966,31962, 31958,31955,31950,31947,31943,31939,31936,31931,31928,31924,31920,31916, 31913,31909,31905,31901,31897,31893,31889,31885,31882,31877,31874,31870, 31866,31862,31858,31854,31850,31846,31842,31838,31834,31830,31826,31822, 31818,31814,31810,31805,31802,31798,31793,31789,31785,31781,31777,31773, 31769,31764,31760,31756,31752,31748,31744,31739,31735,31731,31727,31722, 31718,31714,31710,31706,31701,31697,31693,31688,31684,31680,31675,31671, 31667,31662,31658,31654,31649,31645,31641,31636,31632,31627,31623,31618, 31614,31610,31605,31600,31596,31592,31587,31583,31578,31574,31569,31564, 31560,31556,31551,31546,31542,31537,31533,31528,31523,31519,31514,31510, 31505,31500,31496,31491,31486,31482,31477,31472,31468,31463,31458,31454, 31449,31444,31439,31434,31430,31425,31420,31415,31411,31406,31401,31396, 31391,31386,31382,31377,31372,31367,31362,31357,31353,31347,31342,31338, 31333,31328,31323,31318,31313,31308,31303,31298,31293,31288,31283,31278, 31273,31268,31263,31258,31253,31248,31243,31238,31233,31227,31222,31217, 31212,31207,31202,31197,31191,31186,31181,31176,31171,31166,31161,31155, 31150,31145,31139,31134,31129,31124,31119,31113,31108,31103,31097,31092, 31087,31082,31076,31071,31065,31060,31055,31049,31044,31039,31033,31028, 31023,31017,31011,31006,31001,30995,30990,30984,30979,30974,30968,30962, 30957,30951,30946,30940,30935,30929,30924,30918,30913,30907,30902,30896, 30890,30884,30879,30873,30868,30862,30856,30851,30845,30840,30834,30828, 30823,30817,30811,30806,30800,30794,30788,30782,30777,30771,30765,30759, 30754,30748,30742,30736,30730,30725,30719,30713,30707,30701,30695,30690, 30684,30678,30672,30666,30660,30654,30648,30643,30637,30631,30625,30619, 30613,30607,30601,30595,30589,30583,30577,30571,30565,30559,30553,30547, 30541,30535,30528,30522,30516,30510,30504,30498,30492,30486,30480,30473, 30467,30461,30455,30449,30443,30436,30430,30424,30418,30411,30405,30399, 30393,30386,30380,30374,30368,30361,30355,30349,30343,30337,30330,30324, 30318,30311,30305,30298,30292,30286,30279,30273,30266,30260,30254,30247, 30241,30234,30228,30222,30215,30209,30202,30196,30189,30183,30176,30170, 30163,30157,30150,30144,30137,30131,30124,30118,30111,30104,30098,30091, 30084,30078,30072,30065,30058,30052,30045,30038,30032,30025,30018,30012, 30005,29998,29992,29985,29978,29971,29965,29958,29951,29945,29938,29931, 29924,29917,29911,29904,29897,29890,29884,29877,29870,29863,29856,29849, 29843,29836,29829,29822,29815,29808,29801,29794,29788,29781,29774,29767, 29759,29753,29746,29739,29732,29725,29718,29711,29704,29697,29690,29683, 29676,29669,29662,29655,29648,29641,29633,29627,29620,29612,29605,29598, 29591,29584,29577,29570,29562,29555,29548,29541,29534,29527,29519,29512, 29505,29498,29491,29483,29476,29469,29462,29455,29447,29440,29433,29426, 29418,29411,29404,29396,29389,29382,29374,29367,29360,29352,29345,29338, 29331,29323,29316,29308,29301,29294,29286,29279,29271,29264,29256,29249, 29241,29234,29227,29219,29211,29204,29197,29189,29182,29174,29167,29159, 29151,29144,29137,29129,29121,29114,29106,29099,29091,29084,29076,29068, 29061,29053,29046,29038,29031,29023,29015,29007,29000,28992,28984,28977, 28969,28961,28954,28946,28938,28930,28923,28915,28907,28899,28892,28884, 28876,28868,28861,28853,28845,28838,28830,28822,28814,28806,28798,28790, 28783,28775,28767,28759,28751,28743,28736,28728,28720,28712,28704,28696, 28688,28680,28672,28664,28656,28648,28640,28632,28624,28616,28609,28600, 28592,28585,28576,28568,28561,28552,28544,28536,28528,28520,28512,28504, 28496,28488,28480,28471,28464,28455,28447,28439,28431,28423,28415,28407, 28399,28390,28382,28374,28366,28357,28350,28341,28332,28324,28315,28307, 28299,28291,28283,28274,28266,28258,28249,28241,28233,28225,28217,28208, 28200,28192,28183,28175,28167,28158,28150,28141,28133,28125,28116,28108, 28100,28092,28083,28074,28066,28058,28050,28041,28032,28024,28015,28007, 27999,27990,27982,27973,27965,27956,27948,27939,27931,27922,27914,27906, 27897,27888,27880,27871,27863,27854,27846,27837,27828,27820,27811,27803, 27794,27785,27777,27768,27760,27751,27742,27734,27725,27716,27708,27699, 27690,27682,27673,27665,27656,27647,27638,27629,27621,27612,27604,27595, 27586,27577,27569,27560,27551,27542,27533,27525,27516,27507,27498,27490, 27481,27472,27463,27454,27445,27436,27428,27419,27410,27401,27392,27383, 27375,27365,27357,27348,27339,27330,27321,27312,27303,27294,27286,27276, 27268,27258,27250,27241,27232,27223,27214,27205,27196,27187,27178,27169, 27160,27151,27142,27133,27123,27114,27105,27096,27087,27078,27069,27060, 27051,27042,27033,27024,27015,27005,26997,26987,26978,26969,26960,26951, 26942,26932,26923,26914,26905,26896,26887,26877,26868,26859,26850,26841, 26831,26822,26813,26804,26794,26785,26776,26767,26757,26748,26739,26730, 26720,26711,26702,26693,26683,26674,26665,26655,26646,26637,26627,26618, 26609,26600,26590,26581,26571,26562,26552,26543,26534,26524,26515,26506, 26496,26487,26477,26468,26459,26449,26440,26430,26421,26411,26402,26392, 26383,26373,26364,26354,26345,26335,26326,26317,26307,26298,26288,26279, 26269,26259,26250,26240,26231,26221,26212,26202,26192,26183,26173,26164, 26154,26145,26135,26125,26116,26106,26097,26087,26077,26068,26058,26048, 26039,26029,26020,26010,26000,25991,25981,25971,25962,25952,25942,25932, 25923,25913,25903,25894,25884,25874,25864,25854,25845,25835,25825,25816, 25806,25796,25786,25776,25767,25757,25747,25737,25727,25718,25708,25698, 25688,25679,25668,25659,25649,25639,25629,25619,25609,25600,25590,25580, 25570,25560,25550,25541,25530,25521,25511,25501,25491,25481,25471,25461, 25451,25441,25431,25421,25411,25402,25391,25381,25372,25361,25352,25342, 25331,25322,25312,25301,25292,25282,25271,25262,25252,25241,25231,25222, 25211,25201,25191,25181,25171,25161,25151,25141,25131,25121,25111,25101, 25090,25080,25070,25060,25050,25040,25030,25020,25010,24999,24989,24979, 24969,24959,24949,24939,24928,24918,24908,24898,24888,24878,24867,24857, 24847,24837,24826,24816,24806,24796,24786,24776,24765,24755,24745,24735, 24724,24714,24704,24693,24683,24673,24662,24652,24642,24632,24621,24611, 24601,24590,24580,24570,24560,24549,24539,24529,24518,24508,24498,24487, 24477,24467,24456,24446,24435,24425,24415,24404,24394,24384,24373,24363, 24352,24342,24332,24321,24311,24301,24290,24280,24269,24259,24248,24238, 24228,24217,24206,24196,24186,24175,24165,24154,24144,24133,24123,24112, 24102,24091,24081,24070,24060,24049,24039,24028,24018,24007,23997,23986, 23976,23965,23954,23944,23934,23923,23912,23902,23891,23880,23870,23860, 23849,23838,23828,23817,23807,23796,23785,23775,23764,23754,23743,23732, 23722,23711,23700,23690,23679,23669,23658,23647,23637,23626,23615,23604, 23594,23583,23573,23562,23551,23541,23530,23519,23508,23498,23487,23477, 23466,23455,23444,23434,23423,23412,23401,23391,23380,23369,23358,23348, 23337,23326,23315,23305,23294,23283,23273,23262,23251,23240,23230,23218, 23208,23197,23186,23176,23164,23154,23143,23132,23122,23110,23100,23089, 23078,23067,23056,23045,23035,23024,23013,23002,22991,22981,22970,22959, 22948,22937,22926,22915,22905,22893,22883,22872,22861,22850,22839,22828, 22817,22806,22796,22785,22774,22763,22752,22741,22730,22719,22708,22697, 22686,22675,22665,22653,22642,22632,22621,22610,22599,22588,22577,22566, 22555,22544,22533,22522,22511,22500,22489,22478,22467,22456,22445,22434, 22423,22412,22401,22390,22379,22368,22357,22346,22335,22324,22313,22302, 22291,22280,22268,22257,22246,22236,22225,22213,22202,22191,22180,22169, 22158,22147,22136,22125,22114,22103,22092,22081,22069,22058,22047,22036, 22025,22014,22003,21991,21980,21969,21958,21947,21936,21925,21914,21903, 21891,21880,21869,21858,21847,21836,21825,21813,21802,21791,21780,21769, 21758,21746,21735,21724,21713,21702,21690,21679,21668,21657,21646,21635, 21624,21612,21601,21590,21579,21568,21556,21545,21534,21523,21511,21500, 21489,21478,21467,21455,21444,21433,21422,21410,21399,21388,21377,21365, 21354,21343,21332,21321,21309,21298,21287,21275,21264,21253,21242,21230, 21219,21208,21197,21185,21174,21163,21151,21140,21129,21118,21106,21095, 21084,21072,21061,21050,21039,21027,21016,21004,20993,20982,20971,20959, 20948,20937,20926,20914,20903,20891,20880,20869,20857,20846,20835,20824, 20812,20801,20789,20778,20767,20755,20744,20733,20721,20710,20698,20687, 20676,20664,20653,20642,20630,20619,20607,20596,20585,20573,20562,20551, 20539,20528,20517,20505,20493,20482,20471,20459,20448,20437,20425,20414, 20402,20391,20379,20368,20357,20345,20334,20323,20311,20300,20288,20277, 20265,20254,20243,20231,20220,20208,20197,20186,20174,20162,20151,20140, 20128,20117,20105,20094,20083,20071,20059,20048,20036,20025,20014,20002, 19991,19979,19968,19957,19945,19933,19922,19910,19899,19888,19876,19865, 19853,19842,19830,19819,19807,19796,19784,19773,19761,19750,19738,19727, 19715,19704,19692,19681,19669,19658,19646,19635,19623,19612,19600,19589, 19578,19566,19554,19543,19531,19520,19508,19497,19485,19474,19462,19451, 19439,19428,19416,19404,19393,19381,19370,19359,19347,19336,19324,19313, 19301,19289,19278,19266,19255,19243,19232,19220,19209,19197,19186,19174, 19163,19151,19139,19128,19116,19105,19093,19082,19070,19059,19047,19036, 19024,19012,19000,18989,18977,18966,18954,18943,18931,18920,18908,18897, 18885,18874,18862,18850,18839,18827,18816,18804,18793,18781,18770,18758, 18746,18735,18723,18712,18700,18688,18677,18665,18654,18642,18631,18619, 18608,18596,18584,18573,18561,18549,18538,18526,18515,18503,18492,18480, 18468,18457,18445,18434,18422,18411,18399,18387,18376,18364,18352,18341, 18329,18318,18306,18295,18283,18272,18260,18248,18236,18225,18213,18202, 18190,18179,18167,18156,18144,18132,18121,18109,18098,18086,18074,18063, 18051,18039,18028,18016,18005,17993,17982,17970,17958,17947,17935,17923, 17912,17900,17889,17877,17865,17854,17842,17831,17819,17808,17796,17785, 17773,17761,17749,17738,17726,17715,17703,17691,17680,17668,17657,17645, 17632,17621,17609,17597,17586,17574,17562,17551,17539,17527,17516,17504, 17493,17481,17470,17458,17447,17435,17423,17412,17400,17388,17377,17365, 17354,17342,17330,17319,17307,17296,17284,17273,17261,17249,17237,17226, 17214,17203,17191,17180,17168,17156,17145,17133,17122,17110,17099,17087, 17075,17063,17052,17040,17029,17017,17006,16994,16983,16971,16959,16948, 16936,16924,16913,16901,16890,16878,16867,16855,16843,16832,16820,16809, 16797,16786,16774,16762,16751,16739,16727,16716,16704,16693,16681,16670, 16658,16647,16635,16624,16612,16600,16589,16577,16565,16554,16542,16531, 16519,16508,16496,16485,16473,16461,16450,16438,16427,16415,16404,16392, 16380,16369,16357,16346,16334,16323,16311,16299,16288,16276,16265,16253, 16242,16230,16219,16207,16196,16184,16172,16161,16149,16138,16126,16115, 16103,16092,16080,16069,16057,16046,16034,16022,16011,15999,15988,15976, 15965,15953,15942,15930,15919,15907,15896,15884,15872,15861,15849,15838, 15826,15815,15804,15792,15781,15769,15757,15746,15734,15723,15711,15700, 15688,15677,15665,15654,15643,15631,15619,15608,15596,15585,15573,15562, 15550,15539,15528,15516,15504,15493,15481,15470,15458,15447,15436,15424, 15413,15401,15390,15378,15366,15355,15344,15332,15321,15309,15298,15287, 15275,15264,15252,15240,15229,15218,15206,15195,15183,15172,15161,15149, 15137,15126,15114,15103,15092,15080,15069,15058,15046,15035,15023,15012, 15000,14989,14977,14966,14955,14943,14932,14921,14909,14897,14886,14875, 14863,14852,14841,14829,14818,14806,14795,14783,14772,14761,14749,14738, 14727,14715,14704,14692,14681,14670,14658,14647,14636,14624,14613,14602, 14590,14579,14567,14556,14545,14533,14522,14511,14499,14488,14476,14465, 14454,14443,14431,14420,14409,14397,14386,14374,14363,14352,14341,14329, 14318,14307,14295,14284,14273,14261,14250,14239,14228,14216,14205,14193, 14182,14171,14160,14148,14137,14126,14114,14103,14092,14081,14069,14058, 14047,14036,14024,14013,14002,13990,13979,13968,13957,13946,13934,13923, 13912,13900,13889,13878,13867,13856,13844,13833,13822,13811,13799,13788, 13777,13766,13754,13743,13732,13721,13710,13699,13687,13676,13665,13654, 13643,13631,13620,13609,13598,13586,13575,13564,13553,13542,13531,13519, 13508,13497,13486,13475,13464,13453,13441,13430,13419,13408,13397,13386, 13374,13363,13352,13341,13330,13319,13308,13297,13286,13275,13264,13252, 13241,13230,13219,13208,13197,13186,13175,13164,13152,13141,13130,13119, 13108,13097,13086,13075,13064,13053,13042,13031,13020,13009,12998,12987, 12976,12965,12953,12942,12931,12920,12910,12899,12887,12876,12865,12854, 12843,12833,12821,12810,12799,12788,12778,12767,12755,12744,12733,12723, 12712,12700,12689,12679,12668,12657,12646,12635,12624,12613,12602,12591, 12580,12569,12558,12547,12537,12526,12514,12504,12493,12482,12471,12460, 12449,12438,12427,12417,12406,12395,12384,12373,12362,12351,12340,12329, 12319,12308,12297,12286,12275,12264,12254,12243,12232,12221,12210,12199, 12189,12177,12167,12156,12145,12135,12123,12113,12102,12091,12081,12069, 12059,12048,12037,12027,12016,12005,11994,11984,11972,11962,11951,11941, 11930,11919,11908,11897,11887,11876,11865,11855,11844,11833,11822,11812, 11801,11790,11780,11769,11758,11748,11737,11726,11715,11705,11694,11684, 11673,11662,11652,11641,11630,11619,11609,11598,11587,11577,11566,11556, 11545,11534,11524,11513,11503,11492,11481,11471,11461,11450,11439,11429, 11418,11407,11397,11386,11376,11365,11355,11344,11334,11323,11312,11302, 11291,11281,11270,11260,11249,11239,11228,11218,11207,11197,11186,11176, 11165,11155,11144,11134,11124,11113,11102,11092,11082,11071,11061,11050, 11040,11029,11019,11009,10998,10987,10977,10967,10956,10946,10936,10925, 10915,10904,10894,10883,10873,10863,10853,10842,10832,10821,10811,10801, 10790,10780,10769,10759,10749,10739,10728,10718,10708,10697,10687,10677, 10667,10656,10646,10636,10625,10615,10605,10594,10584,10574,10564,10553, 10543,10533,10522,10512,10502,10492,10482,10472,10462,10451,10441,10431, 10420,10410,10400,10390,10380,10370,10360,10349,10339,10329,10319,10309, 10299,10288,10278,10268,10258,10248,10238,10227,10217,10207,10197,10187, 10177,10167,10157,10147,10137,10127,10117,10107,10096,10086,10077,10066, 10056,10046,10036,10026,10016,10006,9996,9986,9976,9966,9956,9946, 9936,9926,9916,9906,9896,9886,9876,9866,9856,9847,9836,9827, 9817,9807,9797,9787,9777,9767,9757,9747,9737,9728,9717,9708, 9698,9688,9678,9668,9658,9649,9639,9629,9619,9609,9599,9590, 9580,9570,9560,9550,9541,9531,9521,9511,9501,9492,9482,9472, 9462,9452,9443,9433,9423,9414,9404,9394,9384,9374,9365,9355, 9345,9336,9326,9316,9307,9297,9287,9277,9268,9259,9249,9239, 9229,9220,9210,9200,9191,9181,9172,9162,9152,9143,9133,9124, 9114,9104,9095,9085,9076,9066,9057,9047,9037,9028,9018,9009, 9000,8990,8980,8971,8961,8952,8942,8933,8923,8914,8904,8895, 8886,8876,8867,8857,8848,8838,8829,8819,8810,8801,8791,8782, 8772,8763,8753,8744,8735,8725,8716,8707,8697,8688,8679,8669, 8660,8651,8641,8632,8622,8613,8604,8595,8585,8576,8567,8558, 8548,8539,8530,8520,8511,8502,8493,8483,8474,8465,8456,8446, 8437,8428,8419,8410,8401,8392,8382,8373,8364,8355,8345,8337, 8327,8318,8309,8300,8291,8282,8272,8263,8254,8245,8236,8227, 8218,8209,8200,8191,8182,8173,8164,8155,8146,8136,8127,8118, 8109,8100,8091,8082,8073,8064,8055,8047,8037,8029,8019,8011, 8002,7993,7984,7975,7966,7957,7948,7939,7930,7922,7912,7904, 7895,7886,7877,7868,7859,7851,7842,7833,7824,7815,7806,7797, 7789,7780,7771,7762,7754,7745,7736,7727,7718,7710,7701,7692, 7683,7675,7666,7658,7649,7640,7631,7622,7614,7605,7597,7588, 7579,7570,7562,7553,7544,7536,7527,7519,7510,7502,7493,7484, 7476,7467,7459,7450,7442,7433,7424,7416,7407,7399,7390,7381, 7373,7364,7356,7347,7339,7330,7322,7314,7305,7297,7288,7279, 7271,7263,7254,7246,7237,7229,7220,7212,7204,7195,7187,7178, 7170,7162,7153,7145,7137,7129,7120,7112,7104,7095,7087,7079, 7070,7062,7054,7045,7037,7029,7020,7012,7004,6996,6988,6979, 6971,6963,6954,6946,6937,6929,6921,6912,6905,6896,6888,6880, 6872,6864,6856,6847,6839,6831,6823,6815,6807,6799,6791,6783, 6774,6767,6758,6750,6742,6734,6726,6718,6710,6702,6694,6686, 6678,6670,6662,6654,6646,6638,6630,6622,6614,6606,6599,6591, 6582,6575,6567,6559,6551,6543,6535,6527,6520,6512,6504,6496, 6488,6480,6473,6465,6457,6449,6441,6433,6425,6418,6410,6402, 6395,6387,6379,6371,6364,6356,6348,6340,6333,6325,6317,6310, 6302,6294,6286,6279,6271,6263,6256,6248,6241,6233,6226,6218, 6210,6202,6195,6187,6180,6172,6165,6157,6149,6142,6135,6127, 6119,6112,6105,6097,6089,6082,6075,6067,6059,6052,6045,6037, 6030,6022,6015,6008,6000,5992,5985,5978,5970,5963,5955,5948, 5941,5934,5926,5919,5912,5904,5897,5889,5883,5875,5868,5860, 5853,5846,5839,5831,5824,5817,5810,5803,5795,5788,5781,5774, 5767,5759,5752,5745,5738,5731,5723,5716,5709,5702,5695,5688, 5681,5673,5666,5660,5652,5645,5638,5631,5624,5617,5610,5603, 5596,5589,5582,5575,5568,5561,5554,5547,5540,5533,5526,5519, 5512,5505,5498,5492,5485,5478,5471,5464,5457,5450,5443,5437, 5430,5423,5416,5409,5402,5396,5389,5382,5375,5368,5361,5355, 5348,5341,5335,5328,5321,5314,5307,5301,5294,5287,5281,5274, 5267,5261,5254,5247,5241,5234,5227,5221,5214,5208,5201,5194, 5188,5181,5174,5168,5161,5155,5149,5142,5135,5129,5122,5116, 5109,5103,5096,5090,5083,5077,5071,5064,5058,5051,5045,5038, 5032,5025,5019,5012,5006,5000,4993,4987,4981,4974,4968,4962, 4956,4949,4943,4937,4930,4924,4918,4911,4905,4899,4892,4886, 4880,4874,4867,4861,4855,4849,4843,4836,4830,4824,4818,4812, 4806,4800,4794,4788,4782,4775,4769,4763,4757,4751,4745,4739, 4733,4727,4721,4715,4709,4703,4697,4691,4685,4679,4673,4667, 4661,4655,4649,4643,4637,4631,4625,4619,4613,4607,4601,4595, 4589,4584,4578,4572,4566,4560,4555,4549,4543,4537,4531,4526, 4520,4514,4508,4503,4497,4491,4485,4480,4474,4468,4463,4457, 4451,4445,4440,4434,4428,4423,4417,4412,4406,4400,4395,4389, 4384,4378,4373,4367,4361,4356,4350,4345,4339,4334,4328,4323, 4317,4312,4306,4301,4295,4290,4284,4279,4273,4268,4263,4257, 4252,4246,4241,4235,4230,4225,4219,4214,4209,4204,4198,4193, 4187,4182,4177,4172,4166,4161,4156,4150,4145,4140,4135,4130, 4124,4119,4114,4109,4103,4098,4093,4088,4083,4078,4072,4067, 4062,4057,4052,4047,4042,4037,4032,4027,4022,4017,4012,4006, 4002,3997,3992,3987,3982,3976,3972,3967,3962,3957,3952,3947, 3942,3937,3932,3927,3922,3917,3913,3908,3903,3898,3893,3888, 3884,3879,3874,3869,3864,3860,3855,3850,3845,3840,3836,3831, 3826,3821,3817,3812,3807,3803,3798,3793,3789,3784,3779,3775, 3770,3765,3761,3756,3752,3747,3742,3738,3733,3729,3724,3720, 3715,3711,3706,3702,3697,3693,3688,3684,3679,3675,3670,3666, 3661,3657,3652,3648,3644,3639,3635,3631,3626,3622,3617,3613, 3609,3604,3600,3596,3591,3587,3583,3579,3574,3570,3566,3561, 3557,3553,3549,3545,3541,3536,3532,3528,3524,3519,3515,3511, 3507,3503,3499,3495,3491,3487,3482,3478,3474,3470,3466,3462, 3458,3454,3450,3446,3442,3438,3434,3430,3426,3422,3418,3414, 3410,3406,3403,3398,3395,3391,3387,3383,3379,3375,3371,3368, 3364,3360,3356,3352,3348,3344,3341,3337,3333,3330,3326,3322, 3318,3314,3311,3307,3303,3300,3296,3292,3289,3285,3281,3278, 3274,3271,3267,3263,3260,3256,3253,3249,3245,3242,3238,3235, 3231,3228,3224,3221,3217,3213,3210,3206,3203,3199,3196,3193, 3189,3186,3182,3179,3175,3172,3169,3165,3162,3159,3156,3152, 3149,3145,3142,3139,3135,3132,3129,3126,3122,3119,3116,3113, 3109,3106,3103,3100,3097,3093,3090,3087,3084,3081,3078,3074, 3072,3068,3065,3062,3059,3056,3053,3050,3047,3043,3041,3037, 3035,3031,3029,3025,3023,3019,3017,3013,3011,3008,3005,3002, 2999,2996,2993,2990,2988,2984,2982,2979,2976,2973,2970,2967, 2965,2962,2959,2956,2953,2951,2948,2945,2942,2940,2937,2934, 2931,2929,2926,2923,2921,2918,2916,2913,2910,2907,2905,2902, 2899,2897,2894,2892,2889,2887,2884,2881,2879,2876,2874,2871, 2869,2867,2864,2862,2859,2856,2854,2852,2849,2847,2844,2842, 2839,2837,2835,2832,2830,2828,2826,2823,2821,2819,2816,2814, 2812,2809,2807,2805,2802,2800,2798,2796,2793,2791,2789,2787, 2784,2783,2780,2778,2776,2774,2772,2770,2767,2766,2763,2761, 2759,2757,2755,2753,2751,2749,2747,2745,2742,2741,2739,2736, 2735,2733,2731,2729,2727,2725,2723,2721,2719,2717,2715,2713, 2712,2710,2708,2706,2704,2702,2700,2699,2697,2695,2694,2692, 2690,2688,2686,2685,2683,2681,2679,2678,2676,2674,2673,2671, 2669,2668,2666,2664,2663,2661,2659,2658,2656,2655,2653,2652, 2650,2648,2647,2646,2644,2642,2641,2640,2638,2636,2635,2634, 2632,2631,2629,2628,2626,2625,2623,2622,2621,2619,2618,2616, 2615,2614,2613,2611,2610,2609,2607,2606,2605,2604,2602,2601, 2600,2598,2598,2596,2595,2594,2592,2592,2590,2589,2588,2587, 2586,2585,2583,2582,2581,2580,2579,2578,2577,2576,2575,2574, 2573,2572,2571,2570,2568,2568,2567,2566,2565,2564,2563,2562, 2561,2560,2559,2558,2557,2556,2556,2555,2554,2553,2552,2551, 2551,2550,2549,2548,2548,2547,2546,2545,2544,2544,2543,2542, 2542,2541,2540,2539,2539,2538,2538,2537,2536,2536,2535,2534, 2534,2533,2532,2532,2532,2531,2531,2530,2529,2529,2528,2528, 2527,2527,2526,2526,2526,2525,2525,2524,2524,2523,2523,2522, 2522,2522,2521,2521,2520,2520,2520,2520,2519,2519,2519,2518, 2518,2518,2518,2517,2517,2517,2517,2516,2516,2516,2516,2515, 2515,2515,2515,2515,2515,2514,2514,2514,2514,2514,2514,2514, 2514,2514,2514,2514,2514,2514,2514,2514}; const int16_t hamming_4096[4096] = { 2514,2514,2514,2514,2514,2514,2514,2514,2515,2515,2515,2516, 2516,2517,2517,2518,2518,2519,2520,2520,2521,2522,2522,2523, 2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2536, 2537,2538,2539,2541,2542,2544,2545,2547,2548,2550,2551,2553, 2555,2556,2558,2560,2562,2564,2566,2568,2569,2572,2574,2576, 2578,2580,2582,2584,2586,2589,2591,2593,2596,2598,2601,2604, 2606,2609,2611,2614,2616,2619,2622,2625,2628,2630,2633,2636, 2639,2642,2645,2648,2652,2654,2658,2661,2664,2667,2671,2674, 2677,2681,2684,2688,2691,2695,2699,2702,2706,2710,2713,2717, 2721,2724,2729,2732,2736,2741,2744,2748,2753,2757,2761,2765, 2769,2773,2778,2782,2787,2791,2796,2800,2804,2809,2814,2818, 2823,2827,2832,2837,2842,2846,2851,2856,2861,2866,2871,2876, 2881,2887,2892,2897,2902,2907,2912,2918,2923,2929,2934,2939, 2945,2950,2956,2961,2967,2973,2978,2984,2990,2996,3001,3007, 3013,3019,3025,3031,3037,3043,3049,3055,3061,3068,3074,3080, 3087,3093,3099,3106,3112,3119,3125,3132,3139,3145,3151,3158, 3165,3172,3179,3186,3192,3199,3206,3213,3220,3227,3234,3241, 3248,3255,3263,3270,3277,3284,3292,3299,3307,3314,3321,3329, 3337,3344,3352,3359,3367,3375,3382,3390,3398,3406,3414,3422, 3429,3438,3446,3453,3462,3470,3478,3486,3494,3502,3511,3519, 3527,3536,3544,3553,3561,3570,3578,3587,3595,3604,3613,3621, 3630,3639,3647,3657,3666,3675,3684,3693,3702,3711,3720,3729, 3738,3747,3756,3765,3775,3784,3793,3803,3812,3821,3831,3840, 3850,3860,3869,3879,3888,3898,3908,3917,3927,3937,3947,3957, 3967,3976,3987,3997,4006,4017,4027,4037,4047,4057,4067,4078, 4088,4098,4109,4119,4130,4140,4150,4161,4172,4182,4193,4204, 4214,4225,4235,4246,4257,4268,4279,4290,4301,4312,4323,4334, 4345,4356,4367,4378,4389,4400,4412,4423,4434,4445,4457,4468, 4480,4491,4503,4514,4526,4537,4549,4560,4572,4584,4595,4607, 4619,4631,4643,4655,4667,4679,4691,4703,4715,4727,4739,4751, 4763,4775,4788,4800,4812,4824,4836,4849,4861,4874,4886,4899, 4911,4924,4937,4949,4962,4974,4987,5000,5012,5025,5038,5051, 5064,5077,5090,5103,5116,5129,5142,5155,5168,5181,5194,5208, 5221,5234,5247,5261,5274,5287,5301,5314,5328,5341,5355,5368, 5382,5396,5409,5423,5437,5450,5464,5478,5492,5505,5519,5533, 5547,5561,5575,5589,5603,5617,5631,5645,5660,5673,5688,5702, 5716,5731,5745,5759,5774,5788,5803,5817,5831,5846,5860,5875, 5889,5904,5919,5934,5948,5963,5978,5992,6008,6022,6037,6052, 6067,6082,6097,6112,6127,6142,6157,6172,6187,6202,6218,6233, 6248,6263,6279,6294,6310,6325,6340,6356,6371,6387,6402,6418, 6433,6449,6465,6480,6496,6512,6527,6543,6559,6575,6591,6606, 6622,6638,6654,6670,6686,6702,6718,6734,6750,6767,6783,6799, 6815,6831,6847,6864,6880,6896,6912,6929,6946,6963,6979,6996, 7012,7029,7045,7062,7079,7095,7112,7129,7145,7162,7178,7195, 7212,7229,7246,7263,7279,7297,7314,7330,7347,7364,7381,7399, 7416,7433,7450,7467,7484,7502,7519,7536,7553,7570,7588,7605, 7622,7640,7658,7675,7692,7710,7727,7745,7762,7780,7797,7815, 7833,7851,7868,7886,7904,7922,7939,7957,7975,7993,8011,8029, 8047,8064,8082,8100,8118,8136,8155,8173,8191,8209,8227,8245, 8263,8282,8300,8318,8337,8355,8373,8392,8410,8428,8446,8465, 8483,8502,8520,8539,8558,8576,8595,8613,8632,8651,8669,8688, 8707,8725,8744,8763,8782,8801,8819,8838,8857,8876,8895,8914, 8933,8952,8971,8990,9009,9028,9047,9066,9085,9104,9124,9143, 9162,9181,9200,9220,9239,9259,9277,9297,9316,9336,9355,9374, 9394,9414,9433,9452,9472,9492,9511,9531,9550,9570,9590,9609, 9629,9649,9668,9688,9708,9728,9747,9767,9787,9807,9827,9847, 9866,9886,9906,9926,9946,9966,9986,10006,10026,10046,10066,10086, 10107,10127,10147,10167,10187,10207,10227,10248,10268,10288,10309,10329, 10349,10370,10390,10410,10431,10451,10472,10492,10512,10533,10553,10574, 10594,10615,10636,10656,10677,10697,10718,10739,10759,10780,10801,10821, 10842,10863,10883,10904,10925,10946,10967,10987,11009,11029,11050,11071, 11092,11113,11134,11155,11176,11197,11218,11239,11260,11281,11302,11323, 11344,11365,11386,11407,11429,11450,11471,11492,11513,11534,11556,11577, 11598,11619,11641,11662,11684,11705,11726,11748,11769,11790,11812,11833, 11856,11877,11899,11920,11942,11963,11985,12006,12028,12050,12071,12093, 12114,12136,12158,12179,12201,12222,12244,12266,12287,12309,12331,12352, 12374,12396,12418,12440,12461,12483,12505,12527,12549,12571,12592,12614, 12636,12658,12680,12702,12724,12746,12768,12790,12812,12834,12856,12878, 12900,12922,12944,12966,12988,13010,13032,13054,13076,13098,13121,13143, 13165,13187,13209,13231,13254,13276,13298,13320,13343,13365,13387,13410, 13432,13454,13477,13499,13521,13543,13566,13588,13610,13633,13655,13677, 13700,13722,13745,13767,13790,13812,13834,13857,13880,13902,13924,13947, 13970,13992,14014,14037,14060,14082,14105,14127,14150,14172,14195,14217, 14240,14263,14285,14308,14331,14353,14376,14398,14421,14444,14467,14489, 14512,14535,14557,14580,14603,14626,14648,14671,14694,14716,14740,14762, 14785,14808,14831,14854,14876,14899,14922,14945,14968,14990,15013,15036, 15059,15082,15105,15127,15150,15173,15196,15219,15242,15265,15288,15311, 15334,15357,15379,15402,15426,15448,15471,15494,15517,15541,15563,15586, 15609,15632,15655,15678,15701,15724,15747,15770,15793,15817,15839,15862, 15885,15908,15932,15955,15978,16001,16024,16047,16070,16093,16116,16139, 16162,16185,16208,16232,16255,16278,16301,16324,16347,16371,16394,16417, 16440,16463,16486,16509,16532,16555,16579,16602,16625,16648,16671,16694, 16718,16741,16764,16787,16810,16833,16857,16880,16903,16926,16949,16973, 16996,17019,17042,17065,17088,17111,17135,17158,17181,17204,17227,17251, 17274,17297,17320,17344,17367,17390,17413,17436,17460,17483,17506,17529, 17552,17575,17598,17622,17647,17670,17693,17716,17739,17762,17786,17809, 17832,17855,17879,17902,17925,17948,17971,17995,18018,18041,18064,18087, 18110,18134,18157,18180,18203,18226,18250,18273,18296,18319,18342,18366, 18389,18412,18435,18458,18482,18505,18528,18551,18574,18597,18621,18644, 18667,18690,18713,18736,18760,18783,18806,18829,18852,18875,18898,18921, 18944,18968,18991,19014,19037,19060,19083,19106,19129,19152,19175,19199, 19222,19245,19268,19291,19314,19337,19360,19383,19406,19429,19452,19475, 19498,19521,19544,19567,19590,19613,19636,19659,19682,19705,19728,19751, 19774,19797,19820,19843,19866,19889,19912,19935,19958,19981,20004,20027, 20049,20072,20095,20118,20141,20164,20187,20210,20233,20255,20278,20301, 20324,20347,20370,20392,20415,20438,20461,20484,20506,20529,20552,20575, 20598,20620,20643,20666,20689,20711,20734,20757,20779,20802,20825,20848, 20870,20893,20915,20938,20961,20983,21006,21028,21051,21074,21096,21119, 21142,21164,21187,21209,21232,21254,21277,21299,21322,21344,21367,21389, 21412,21434,21457,21479,21502,21524,21546,21569,21591,21614,21636,21659, 21681,21703,21726,21748,21770,21792,21815,21837,21859,21882,21904,21926, 21949,21971,21993,22015,22038,22060,22082,22104,22126,22148,22171,22193, 22215,22237,22259,22281,22303,22325,22347,22369,22391,22413,22436,22457, 22479,22501,22523,22545,22567,22589,22611,22633,22655,22677,22699,22720, 22743,22764,22786,22808,22830,22851,22873,22895,22917,22938,22960,22982, 23003,23025,23047,23068,23090,23112,23134,23155,23177,23198,23220,23242, 23263,23285,23306,23327,23349,23370,23392,23413,23436,23458,23479,23501, 23522,23543,23565,23586,23607,23628,23650,23671,23693,23714,23735,23756, 23778,23799,23820,23841,23862,23883,23904,23926,23946,23968,23989,24010, 24031,24052,24073,24094,24115,24136,24157,24178,24199,24220,24241,24261, 24282,24303,24324,24345,24366,24386,24407,24428,24448,24469,24490,24511, 24531,24552,24572,24593,24614,24634,24655,24675,24696,24717,24737,24758, 24778,24798,24819,24839,24860,24880,24900,24921,24941,24961,24981,25002, 25022,25042,25063,25083,25103,25123,25144,25163,25184,25204,25224,25244, 25264,25284,25304,25324,25344,25364,25384,25404,25424,25444,25463,25483, 25503,25523,25543,25563,25583,25602,25622,25642,25661,25681,25701,25720, 25740,25759,25779,25799,25818,25837,25857,25877,25896,25915,25935,25954, 25974,25993,26012,26032,26051,26070,26089,26109,26128,26147,26166,26185, 26204,26224,26243,26262,26281,26300,26319,26338,26357,26376,26395,26413, 26432,26451,26470,26489,26508,26527,26546,26564,26583,26602,26620,26639, 26658,26676,26695,26714,26732,26750,26769,26787,26806,26824,26843,26861, 26880,26898,26916,26935,26953,26971,26990,27008,27026,27044,27063,27081, 27099,27117,27135,27153,27171,27189,27207,27225,27243,27261,27279,27297, 27314,27332,27350,27368,27386,27403,27421,27439,27456,27474,27491,27509, 27527,27545,27562,27579,27597,27614,27632,27649,27666,27684,27701,27719, 27736,27753,27770,27788,27805,27822,27839,27856,27873,27890,27907,27924, 27942,27959,27975,27992,28009,28026,28043,28060,28077,28093,28110,28127, 28144,28160,28177,28194,28210,28227,28243,28260,28277,28293,28309,28326, 28343,28360,28376,28393,28409,28425,28441,28458,28474,28490,28506,28522, 28538,28554,28570,28586,28603,28618,28634,28650,28666,28682,28698,28714, 28730,28745,28761,28777,28792,28808,28824,28839,28855,28870,28886,28902, 28917,28933,28948,28963,28979,28994,29009,29025,29040,29055,29070,29085, 29101,29116,29131,29146,29161,29176,29191,29206,29221,29236,29251,29266, 29281,29296,29310,29325,29339,29354,29369,29384,29398,29413,29428,29442, 29456,29471,29485,29500,29514,29529,29543,29557,29572,29585,29600,29614, 29628,29642,29657,29670,29685,29699,29713,29727,29741,29754,29768,29782, 29796,29810,29824,29837,29851,29865,29879,29892,29906,29919,29933,29946, 29960,29973,29987,30000,30013,30027,30040,30053,30066,30080,30093,30106, 30119,30132,30145,30158,30171,30185,30198,30210,30223,30236,30249,30262, 30275,30287,30300,30313,30325,30338,30350,30363,30376,30388,30401,30413, 30426,30438,30450,30463,30475,30487,30499,30511,30524,30536,30548,30560, 30572,30584,30596,30608,30620,30632,30644,30655,30668,30679,30691,30703, 30715,30726,30738,30749,30761,30772,30784,30795,30807,30818,30830,30841, 30852,30864,30875,30886,30897,30908,30920,30931,30942,30953,30964,30974, 30986,30997,31007,31018,31029,31040,31051,31061,31072,31083,31093,31104, 31114,31125,31136,31146,31156,31167,31177,31188,31198,31208,31218,31228, 31239,31249,31259,31269,31279,31289,31299,31309,31319,31329,31339,31349, 31359,31368,31378,31388,31397,31407,31417,31426,31436,31445,31455,31464, 31474,31483,31492,31502,31511,31520,31529,31539,31547,31557,31566,31575, 31584,31593,31602,31611,31620,31629,31638,31647,31655,31664,31673,31681, 31690,31699,31707,31716,31724,31733,31741,31750,31758,31766,31775,31783, 31791,31799,31807,31815,31823,31831,31840,31847,31855,31863,31871,31879, 31887,31895,31902,31910,31918,31925,31933,31941,31948,31956,31963,31971, 31978,31985,31993,32000,32008,32015,32022,32029,32036,32043,32051,32057, 32064,32071,32078,32085,32092,32099,32106,32112,32119,32126,32133,32139, 32146,32153,32159,32166,32172,32178,32185,32191,32197,32204,32210,32216, 32222,32229,32235,32241,32247,32253,32259,32265,32271,32277,32282,32288, 32294,32300,32305,32311,32317,32322,32328,32334,32339,32345,32350,32355, 32361,32366,32371,32376,32382,32387,32392,32397,32402,32407,32412,32418, 32422,32427,32432,32437,32442,32447,32451,32456,32461,32465,32470,32474, 32479,32484,32488,32492,32497,32501,32505,32510,32514,32518,32522,32527, 32531,32535,32539,32543,32547,32551,32555,32558,32562,32566,32570,32574, 32577,32581,32585,32588,32592,32595,32599,32602,32605,32609,32612,32616, 32619,32622,32625,32629,32631,32635,32638,32641,32644,32647,32649,32653, 32655,32658,32661,32664,32666,32669,32671,32674,32677,32679,32682,32684, 32687,32689,32691,32694,32696,32698,32700,32702,32705,32707,32709,32711, 32713,32715,32717,32719,32720,32722,32724,32726,32727,32729,32731,32732, 32734,32736,32737,32738,32740,32741,32743,32744,32745,32746,32748,32749, 32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32760, 32761,32761,32762,32763,32763,32764,32764,32765,32765,32766,32766,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32766,32766,32765,32765,32764,32764,32763, 32763,32762,32761,32761,32760,32760,32759,32758,32757,32756,32755,32754, 32753,32752,32751,32750,32749,32748,32747,32745,32744,32743,32741,32740, 32738,32737,32736,32734,32732,32731,32729,32728,32726,32724,32722,32720, 32719,32717,32715,32713,32711,32709,32707,32705,32702,32701,32698,32696, 32694,32691,32689,32687,32684,32682,32679,32677,32674,32671,32669,32666, 32664,32661,32658,32655,32653,32650,32647,32644,32641,32638,32635,32632, 32629,32625,32622,32619,32616,32612,32609,32606,32602,32599,32595,32592, 32588,32585,32581,32577,32574,32570,32566,32563,32559,32555,32551,32547, 32543,32539,32535,32531,32527,32523,32519,32514,32510,32506,32502,32497, 32493,32488,32484,32479,32475,32470,32466,32461,32456,32452,32447,32442, 32437,32432,32428,32423,32418,32413,32408,32403,32398,32393,32388,32382, 32377,32372,32366,32361,32356,32350,32345,32340,32334,32328,32323,32317, 32311,32306,32300,32294,32289,32283,32277,32271,32265,32259,32253,32247, 32241,32235,32229,32223,32217,32210,32204,32198,32191,32185,32179,32172, 32166,32160,32153,32146,32140,32133,32126,32120,32113,32106,32100,32093, 32086,32079,32072,32065,32058,32051,32044,32037,32029,32022,32015,32008, 32001,31993,31986,31979,31971,31964,31956,31949,31941,31934,31926,31918, 31911,31903,31895,31887,31880,31872,31864,31856,31848,31840,31832,31824, 31816,31808,31799,31791,31783,31775,31767,31758,31750,31742,31733,31725, 31716,31708,31699,31690,31682,31673,31665,31656,31647,31638,31630,31621, 31611,31602,31594,31584,31576,31566,31557,31548,31539,31530,31521,31511, 31502,31493,31484,31474,31465,31455,31446,31436,31427,31417,31408,31398, 31388,31378,31369,31359,31349,31340,31329,31320,31310,31300,31290,31280, 31270,31260,31250,31239,31229,31219,31209,31198,31188,31178,31167,31157, 31147,31136,31126,31115,31105,31094,31083,31073,31062,31051,31041,31030, 31019,31008,30997,30986,30975,30964,30953,30942,30931,30920,30909,30898, 30887,30876,30864,30853,30842,30830,30819,30807,30796,30785,30773,30762, 30750,30739,30727,30715,30704,30692,30680,30668,30656,30644,30633,30621, 30609,30597,30585,30573,30561,30549,30537,30524,30512,30500,30488,30475, 30463,30451,30439,30426,30414,30402,30389,30376,30364,30351,30339,30326, 30313,30301,30288,30275,30263,30250,30237,30224,30211,30198,30185,30172, 30159,30146,30133,30120,30107,30094,30081,30067,30054,30041,30028,30014, 30001,29988,29974,29961,29947,29933,29920,29906,29893,29879,29866,29852, 29838,29825,29811,29797,29783,29769,29755,29741,29728,29713,29699,29686, 29671,29657,29643,29629,29615,29601,29586,29572,29558,29544,29530,29515, 29500,29486,29472,29457,29443,29428,29414,29399,29385,29370,29355,29340, 29326,29311,29296,29282,29266,29252,29237,29222,29207,29192,29177,29162, 29147,29132,29117,29102,29086,29071,29056,29041,29025,29010,28995,28980, 28964,28949,28934,28918,28903,28887,28871,28856,28840,28825,28809,28793, 28778,28762,28746,28730,28715,28699,28683,28667,28651,28635,28619,28604, 28587,28571,28556,28539,28523,28507,28491,28475,28459,28442,28426,28410, 28393,28377,28361,28345,28327,28310,28294,28278,28261,28244,28228,28211, 28195,28178,28161,28145,28128,28111,28094,28078,28061,28044,28027,28010, 27993,27977,27960,27942,27925,27909,27892,27875,27858,27840,27823,27806, 27789,27772,27754,27737,27719,27702,27685,27668,27650,27633,27616,27598, 27581,27563,27545,27528,27510,27493,27475,27457,27440,27422,27404,27387, 27369,27351,27333,27316,27298,27280,27262,27244,27226,27208,27190,27172, 27154,27136,27118,27100,27081,27063,27045,27027,27009,26991,26973,26954, 26936,26918,26899,26881,26863,26844,26826,26807,26789,26770,26752,26733, 26714,26696,26678,26659,26640,26622,26603,26584,26565,26547,26528,26509, 26490,26472,26453,26434,26415,26396,26377,26358,26339,26320,26301,26282, 26263,26244,26225,26206,26186,26167,26148,26129,26110,26091,26071,26052, 26033,26013,25994,25975,25956,25936,25917,25897,25878,25858,25839,25819, 25800,25780,25761,25741,25721,25702,25682,25662,25643,25623,25603,25583, 25564,25544,25524,25505,25485,25465,25445,25425,25405,25385,25365,25345, 25325,25305,25285,25265,25245,25225,25205,25185,25165,25145,25125,25104, 25084,25064,25044,25023,25003,24983,24963,24942,24922,24902,24881,24861, 24841,24820,24800,24779,24759,24738,24718,24697,24677,24656,24636,24615, 24595,24574,24553,24532,24512,24491,24470,24450,24429,24408,24387,24367, 24346,24325,24304,24283,24263,24242,24221,24200,24179,24158,24137,24116, 24095,24074,24053,24032,24011,23990,23969,23948,23927,23906,23885,23863, 23842,23821,23800,23779,23758,23736,23715,23694,23673,23651,23630,23609, 23587,23566,23544,23523,23502,23480,23459,23438,23415,23393,23372,23351, 23329,23308,23286,23264,23243,23221,23200,23178,23157,23135,23113,23092, 23070,23048,23026,23005,22983,22961,22940,22918,22896,22875,22853,22831, 22809,22787,22766,22743,22722,22700,22678,22656,22635,22612,22591,22569, 22547,22525,22502,22481,22459,22437,22415,22393,22370,22349,22327,22304, 22282,22260,22238,22216,22194,22172,22150,22128,22105,22083,22061,22039, 22016,21994,21972,21950,21928,21906,21883,21861,21839,21816,21794,21772, 21750,21727,21705,21682,21660,21637,21615,21593,21570,21548,21526,21503, 21481,21458,21436,21413,21391,21368,21346,21323,21301,21278,21256,21233, 21211,21188,21166,21143,21120,21098,21075,21052,21030,21007,20985,20962, 20939,20917,20894,20872,20849,20826,20804,20781,20758,20735,20713,20690, 20667,20644,20622,20599,20576,20553,20531,20508,20485,20463,20439,20417, 20394,20371,20348,20325,20303,20280,20257,20234,20211,20188,20165,20143, 20120,20097,20074,20051,20028,20005,19982,19959,19936,19914,19891,19867, 19844,19822,19799,19776,19753,19730,19707,19684,19661,19638,19615,19592, 19569,19546,19523,19500,19476,19453,19431,19408,19385,19361,19338,19315, 19292,19269,19246,19223,19200,19177,19154,19131,19108,19085,19061,19038, 19015,18992,18969,18946,18922,18899,18876,18853,18830,18807,18784,18761, 18738,18714,18691,18668,18645,18622,18599,18576,18552,18529,18506,18483, 18460,18436,18413,18390,18367,18344,18320,18297,18274,18251,18228,18205, 18182,18158,18135,18112,18089,18066,18043,18019,17996,17973,17950,17926, 17903,17880,17857,17833,17810,17787,17764,17741,17718,17695,17671,17648, 17623,17600,17577,17554,17531,17507,17484,17461,17438,17414,17391,17368, 17345,17322,17298,17275,17252,17229,17206,17183,17159,17136,17113,17090, 17067,17044,17020,16997,16974,16951,16927,16904,16881,16858,16835,16811, 16788,16765,16742,16719,16696,16672,16649,16626,16603,16580,16557,16533, 16510,16487,16464,16441,16418,16395,16372,16349,16326,16302,16279,16256, 16233,16210,16187,16164,16141,16118,16094,16071,16048,16025,16002,15979, 15956,15933,15910,15887,15864,15841,15818,15795,15772,15749,15726,15703, 15679,15657,15634,15611,15588,15565,15542,15519,15496,15473,15450,15427, 15404,15381,15358,15335,15312,15289,15266,15243,15221,15198,15175,15152, 15129,15106,15083,15060,15037,15015,14992,14969,14946,14923,14900,14878, 14855,14832,14809,14786,14764,14741,14718,14695,14673,14650,14627,14604, 14582,14559,14536,14513,14491,14468,14445,14423,14400,14377,14355,14332, 14309,14287,14264,14241,14219,14196,14174,14151,14129,14106,14084,14061, 14038,14016,13993,13971,13948,13926,13904,13881,13858,13836,13814,13791, 13769,13746,13723,13701,13679,13657,13634,13612,13590,13567,13545,13522, 13500,13478,13455,13433,13411,13389,13366,13344,13322,13300,13278,13255, 13233,13211,13188,13166,13144,13122,13100,13078,13055,13034,13012,12989, 12967,12945,12923,12901,12879,12857,12835,12813,12791,12769,12747,12725, 12703,12682,12659,12638,12616,12594,12572,12550,12528,12507,12484,12463, 12441,12419,12397,12376,12354,12332,12310,12289,12267,12245,12224,12202, 12180,12159,12137,12116,12094,12072,12051,12029,12008,11986,11965,11943, 11922,11900,11879,11857,11834,11813,11792,11770,11749,11727,11706,11685, 11664,11642,11621,11599,11578,11557,11536,11515,11493,11472,11451,11430, 11409,11388,11366,11346,11324,11303,11282,11261,11240,11219,11198,11177, 11156,11135,11114,11093,11072,11052,11031,11010,10989,10968,10947,10926, 10906,10885,10864,10843,10823,10802,10781,10761,10740,10719,10699,10678, 10657,10637,10616,10596,10575,10555,10534,10514,10493,10473,10452,10432, 10412,10391,10371,10351,10330,10310,10290,10270,10249,10229,10209,10188, 10168,10148,10128,10108,10088,10068,10047,10028,10007,9987,9968,9947, 9927,9908,9888,9867,9848,9828,9808,9788,9768,9748,9729,9709, 9689,9669,9650,9630,9610,9591,9571,9552,9532,9512,9493,9473, 9454,9434,9415,9395,9376,9356,9337,9318,9298,9279,9259,9240, 9221,9202,9182,9163,9144,9125,9106,9086,9067,9048,9029,9010, 8991,8972,8953,8934,8915,8896,8877,8858,8839,8820,8801,8783, 8764,8745,8727,8708,8689,8670,8652,8633,8615,8596,8577,8559, 8540,8522,8503,8485,8466,8448,8429,8411,8392,8374,8356,8338, 8319,8301,8283,8265,8246,8228,8210,8192,8174,8156,8138,8120, 8102,8084,8066,8048,8030,8012,7994,7976,7958,7941,7923,7905, 7887,7869,7851,7834,7816,7799,7781,7763,7746,7728,7711,7694, 7676,7658,7641,7624,7606,7589,7572,7554,7537,7520,7502,7485, 7468,7451,7434,7417,7399,7382,7365,7348,7332,7315,7297,7281, 7264,7247,7230,7213,7196,7180,7163,7146,7129,7113,7096,7080, 7063,7046,7030,7013,6997,6980,6964,6948,6930,6913,6897,6881, 6864,6848,6832,6816,6800,6784,6768,6751,6735,6719,6703,6687, 6671,6655,6639,6623,6607,6592,6575,6560,6544,6528,6513,6497, 6481,6466,6450,6434,6419,6403,6388,6372,6357,6341,6326,6310, 6295,6280,6264,6249,6234,6219,6203,6188,6173,6158,6143,6128, 6113,6098,6083,6068,6053,6038,6023,6009,5993,5979,5964,5949, 5935,5920,5905,5890,5876,5861,5847,5832,5818,5804,5789,5775, 5760,5746,5732,5717,5703,5689,5674,5660,5646,5632,5618,5604, 5590,5576,5562,5548,5534,5520,5506,5492,5479,5465,5451,5437, 5424,5410,5396,5383,5369,5355,5342,5329,5315,5302,5288,5275, 5262,5248,5235,5221,5209,5195,5182,5169,5156,5143,5130,5117, 5103,5090,5077,5065,5052,5039,5026,5013,5001,4988,4975,4962, 4950,4937,4925,4912,4900,4887,4875,4862,4850,4837,4825,4813, 4800,4788,4776,4764,4752,4740,4728,4716,4704,4692,4680,4668, 4656,4644,4632,4620,4608,4596,4584,4573,4561,4549,4538,4526, 4515,4503,4492,4481,4469,4457,4446,4435,4424,4412,4401,4390, 4379,4367,4356,4345,4334,4323,4312,4301,4290,4279,4269,4258, 4247,4236,4225,4215,4204,4193,4183,4172,4162,4151,4141,4130, 4120,4109,4099,4089,4078,4068,4058,4048,4037,4028,4018,4007, 3997,3987,3977,3967,3958,3947,3938,3928,3918,3909,3898,3889, 3879,3870,3860,3850,3841,3831,3822,3813,3803,3794,3784,3775, 3766,3757,3747,3738,3729,3720,3711,3702,3693,3684,3675,3666, 3657,3648,3639,3631,3622,3613,3604,3596,3587,3579,3570,3561, 3553,3545,3536,3528,3519,3511,3503,3495,3487,3478,3470,3462, 3454,3446,3438,3430,3422,3414,3406,3398,3391,3383,3375,3368, 3360,3352,3344,3337,3330,3322,3314,3307,3300,3292,3285,3278, 3271,3263,3256,3249,3242,3235,3228,3221,3213,3206,3199,3193, 3186,3179,3172,3165,3159,3152,3145,3139,3132,3126,3119,3113, 3106,3100,3093,3087,3081,3074,3068,3062,3056,3050,3043,3037, 3031,3025,3019,3013,3008,3002,2996,2990,2984,2979,2973,2967, 2962,2956,2951,2945,2940,2934,2929,2923,2918,2913,2907,2902, 2897,2892,2887,2881,2876,2871,2867,2862,2856,2852,2847,2842, 2837,2832,2828,2823,2819,2814,2809,2805,2800,2796,2791,2787, 2783,2778,2774,2770,2766,2761,2757,2753,2749,2745,2741,2736, 2733,2729,2725,2721,2717,2713,2710,2706,2702,2699,2695,2692, 2688,2685,2681,2678,2674,2671,2668,2664,2661,2658,2655,2652, 2648,2646,2642,2640,2636,2634,2631,2628,2625,2622,2619,2616, 2614,2611,2609,2606,2604,2601,2598,2596,2594,2592,2589,2587, 2585,2582,2580,2578,2576,2574,2572,2570,2568,2566,2564,2562, 2560,2558,2556,2555,2553,2551,2550,2548,2547,2545,2544,2542, 2541,2539,2538,2537,2536,2534,2533,2532,2531,2530,2529,2528, 2527,2526,2525,2524,2523,2522,2522,2521,2520,2520,2519,2518, 2518,2517,2517,2516,2516,2515,2515,2515,2514,2514,2514,2514, 2514,2514,2514,2514}; const int16_t hamming_2048[2048] = { 2514,2514,2514,2514,2515,2515,2516,2517,2518,2520,2521,2522, 2524,2526,2528,2530,2532,2534,2537,2539,2542,2545,2548,2551, 2555,2558,2562,2566,2569,2574,2578,2582,2586,2591,2596,2601, 2606,2611,2616,2622,2628,2633,2639,2645,2652,2658,2664,2671, 2677,2684,2691,2699,2706,2713,2721,2729,2736,2744,2753,2761, 2769,2778,2787,2796,2805,2814,2823,2832,2842,2852,2862,2871, 2881,2892,2902,2913,2923,2934,2945,2956,2967,2979,2990,3002, 3013,3025,3037,3050,3062,3074,3087,3100,3113,3126,3139,3152, 3165,3179,3193,3206,3221,3235,3249,3263,3278,3292,3307,3322, 3337,3352,3368,3383,3398,3414,3430,3446,3462,3478,3495,3511, 3528,3545,3561,3579,3596,3613,3631,3648,3666,3684,3702,3720, 3738,3757,3775,3794,3813,3831,3850,3870,3889,3909,3928,3947, 3967,3987,4007,4028,4048,4068,4089,4109,4130,4151,4172,4193, 4215,4236,4258,4279,4301,4323,4345,4367,4390,4412,4435,4457, 4481,4503,4526,4549,4573,4596,4620,4644,4668,4692,4716,4740, 4764,4788,4813,4837,4862,4887,4912,4937,4962,4988,5013,5039, 5065,5091,5117,5143,5170,5196,5222,5249,5275,5302,5330,5356, 5384,5411,5438,5466,5493,5521,5549,5576,5605,5633,5661,5690, 5718,5747,5775,5804,5833,5862,5891,5921,5950,5979,6009,6039, 6069,6099,6129,6159,6189,6220,6250,6281,6311,6342,6373,6404, 6435,6467,6498,6529,6561,6593,6624,6656,6688,6720,6752,6785, 6817,6849,6882,6915,6948,6981,7014,7047,7080,7114,7147,7181, 7214,7248,7282,7315,7350,7384,7418,7452,7486,7521,7556,7590, 7625,7659,7694,7730,7765,7800,7835,7870,7906,7941,7977,8013, 8049,8085,8121,8157,8193,8230,8266,8302,8338,8375,8412,8449, 8486,8523,8560,8597,8634,8672,8709,8747,8784,8822,8860,8898, 8935,8973,9011,9049,9088,9126,9164,9203,9243,9281,9320,9359, 9397,9437,9475,9515,9554,9593,9632,9672,9711,9751,9791,9830, 9870,9910,9950,9990,10030,10070,10110,10150,10191,10231,10272,10312, 10353,10394,10435,10475,10516,10557,10598,10639,10681,10722,10763,10805, 10846,10888,10929,10971,11012,11054,11096,11138,11180,11222,11264,11306, 11348,11390,11432,11475,11517,11560,11602,11645,11688,11730,11773,11816, 11860,11903,11946,11989,12032,12075,12118,12161,12205,12248,12291,12335, 12378,12422,12466,12509,12553,12597,12640,12684,12728,12772,12816,12860, 12904,12948,12992,13037,13080,13125,13169,13213,13258,13302,13347,13392, 13436,13481,13525,13570,13615,13659,13704,13749,13794,13839,13884,13928, 13974,14018,14064,14109,14154,14199,14244,14289,14335,14380,14426,14471, 14516,14562,14607,14653,14699,14745,14791,14836,14882,14927,14973,15019, 15065,15110,15156,15202,15248,15294,15339,15385,15431,15477,15523,15569, 15615,15661,15707,15753,15799,15845,15891,15938,15984,16030,16076,16122, 16168,16214,16261,16307,16353,16399,16445,16492,16538,16584,16630,16677, 16723,16769,16816,16862,16909,16955,17001,17048,17094,17141,17187,17233, 17279,17326,17372,17419,17465,17512,17558,17604,17653,17699,17745,17791, 17838,17884,17931,17977,18024,18070,18116,18163,18209,18255,18302,18348, 18394,18441,18487,18534,18580,18626,18673,18719,18765,18811,18858,18904, 18950,18996,19042,19089,19135,19181,19227,19273,19319,19366,19412,19458, 19504,19550,19596,19642,19688,19734,19780,19826,19872,19918,19963,20010, 20055,20101,20147,20192,20238,20284,20330,20375,20421,20467,20512,20558, 20605,20650,20696,20741,20787,20832,20877,20922,20968,21013,21058,21103, 21148,21194,21239,21284,21329,21374,21419,21464,21509,21553,21598,21643, 21688,21732,21777,21822,21866,21911,21955,22000,22045,22089,22133,22177, 22222,22266,22310,22354,22398,22442,22486,22530,22574,22618,22662,22706, 22749,22793,22836,22880,22924,22967,23010,23054,23097,23140,23183,23227, 23270,23313,23356,23399,23443,23486,23529,23571,23614,23657,23699,23742, 23784,23826,23869,23911,23953,23995,24037,24079,24121,24163,24205,24247, 24289,24331,24372,24414,24455,24496,24538,24579,24620,24661,24702,24743, 24784,24825,24866,24907,24947,24988,25029,25069,25109,25150,25190,25230, 25270,25310,25350,25390,25430,25470,25510,25549,25589,25628,25667,25707, 25746,25785,25824,25863,25902,25941,25980,26018,26058,26097,26135,26173, 26212,26250,26288,26326,26364,26402,26440,26477,26515,26552,26590,26627, 26665,26702,26739,26776,26813,26850,26887,26923,26960,26997,27033,27069, 27105,27142,27178,27214,27250,27286,27321,27357,27392,27428,27463,27498, 27533,27569,27604,27638,27673,27708,27742,27777,27811,27846,27880,27914, 27948,27982,28015,28050,28083,28116,28150,28183,28217,28249,28283,28315, 28350,28382,28415,28447,28480,28512,28544,28576,28609,28640,28672,28704, 28736,28767,28798,28830,28861,28892,28923,28954,28984,29015,29046,29076, 29106,29137,29167,29197,29227,29256,29286,29316,29345,29374,29404,29433, 29462,29491,29519,29548,29577,29605,29633,29662,29690,29718,29746,29774, 29801,29829,29856,29884,29911,29938,29965,29992,30018,30045,30072,30098, 30124,30150,30176,30202,30229,30254,30280,30306,30331,30356,30381,30406, 30431,30456,30480,30505,30529,30553,30577,30601,30625,30649,30673,30696, 30720,30743,30766,30789,30812,30835,30857,30880,30902,30924,30946,30968, 30991,31012,31034,31055,31077,31098,31119,31140,31161,31182,31203,31223, 31243,31263,31284,31304,31323,31343,31363,31382,31402,31421,31440,31459, 31478,31496,31515,31533,31552,31570,31588,31606,31624,31642,31659,31677, 31694,31711,31728,31745,31762,31778,31794,31811,31827,31843,31859,31875, 31890,31906,31921,31937,31951,31967,31981,31996,32010,32025,32039,32053, 32068,32082,32095,32109,32122,32136,32149,32162,32175,32188,32200,32213, 32225,32238,32250,32262,32274,32285,32297,32308,32319,32330,32341,32352, 32363,32374,32384,32394,32405,32415,32425,32434,32444,32454,32463,32472, 32481,32490,32499,32508,32516,32525,32533,32541,32549,32557,32564,32572, 32579,32587,32593,32600,32607,32614,32620,32627,32633,32639,32645,32651, 32657,32662,32668,32673,32678,32683,32688,32692,32697,32701,32706,32710, 32714,32718,32721,32725,32728,32731,32735,32738,32741,32743,32746,32748, 32750,32753,32755,32756,32758,32760,32761,32762,32764,32765,32766,32766, 32767,32767,32767,32767,32767,32767,32767,32767,32766,32766,32765,32764, 32762,32761,32760,32758,32756,32755,32753,32750,32749,32746,32743,32741, 32738,32735,32731,32728,32725,32721,32718,32714,32710,32706,32701,32697, 32693,32688,32683,32678,32673,32668,32662,32657,32651,32645,32639,32633, 32627,32621,32614,32607,32600,32593,32587,32579,32572,32564,32557,32549, 32541,32533,32525,32516,32508,32499,32491,32482,32472,32463,32454,32444, 32435,32425,32415,32405,32395,32384,32374,32364,32352,32342,32331,32320, 32308,32297,32286,32274,32262,32250,32238,32226,32213,32201,32188,32175, 32162,32149,32136,32123,32109,32095,32082,32068,32054,32040,32026,32011, 31997,31982,31967,31952,31937,31922,31906,31891,31875,31859,31843,31828, 31811,31795,31779,31762,31745,31728,31711,31694,31677,31660,31642,31624, 31606,31588,31570,31552,31534,31516,31497,31478,31459,31440,31421,31402, 31383,31363,31344,31324,31304,31284,31264,31244,31223,31203,31182,31161, 31141,31120,31099,31077,31056,31035,31013,30991,30969,30947,30925,30903, 30880,30858,30835,30812,30790,30767,30744,30720,30697,30674,30650,30626, 30602,30578,30554,30530,30505,30481,30457,30432,30407,30382,30357,30331, 30307,30281,30255,30230,30203,30177,30151,30125,30099,30072,30046,30019, 29993,29966,29939,29911,29885,29857,29830,29802,29774,29747,29719,29691, 29663,29634,29606,29578,29549,29520,29492,29463,29434,29404,29375,29346, 29317,29287,29257,29228,29198,29168,29138,29107,29077,29047,29016,28985, 28955,28924,28893,28862,28831,28799,28768,28736,28705,28673,28641,28610, 28577,28545,28513,28481,28448,28416,28383,28351,28317,28284,28251,28218, 28184,28151,28117,28084,28050,28017,27983,27949,27915,27881,27846,27812, 27778,27743,27709,27674,27639,27605,27569,27534,27499,27464,27429,27393, 27358,27322,27286,27250,27215,27179,27143,27106,27070,27034,26997,26961, 26925,26888,26851,26814,26777,26740,26703,26666,26629,26591,26554,26516, 26479,26441,26403,26365,26327,26289,26251,26213,26175,26136,26098,26059, 26020,25981,25942,25903,25864,25825,25786,25747,25708,25668,25629,25590, 25550,25511,25471,25431,25391,25352,25312,25271,25231,25191,25151,25111, 25070,25030,24989,24949,24908,24867,24826,24786,24745,24704,24662,24621, 24580,24539,24498,24456,24415,24373,24332,24290,24248,24206,24165,24123, 24081,24039,23997,23954,23912,23870,23828,23785,23743,23700,23658,23615, 23573,23530,23487,23444,23400,23357,23314,23271,23228,23185,23142,23098, 23055,23012,22968,22925,22881,22838,22794,22750,22707,22663,22619,22575, 22532,22488,22443,22400,22356,22311,22267,22223,22179,22135,22090,22046, 22001,21957,21913,21868,21823,21779,21734,21689,21645,21600,21555,21510, 21465,21420,21375,21330,21285,21240,21195,21150,21105,21060,21015,20969, 20924,20878,20833,20788,20742,20697,20652,20606,20559,20514,20468,20422, 20377,20331,20285,20240,20194,20148,20102,20057,20011,19965,19919,19873, 19827,19782,19735,19689,19644,19597,19551,19506,19459,19413,19367,19321, 19275,19229,19182,19136,19090,19044,18998,18952,18905,18859,18813,18766, 18720,18674,18627,18581,18535,18489,18442,18396,18350,18303,18257,18211, 18164,18118,18071,18025,17978,17932,17886,17839,17793,17747,17700,17654, 17606,17560,17513,17467,17420,17374,17328,17281,17235,17188,17142,17096, 17049,17003,16956,16910,16864,16817,16771,16725,16678,16632,16586,16539, 16493,16447,16401,16354,16308,16262,16216,16170,16124,16077,16031,15985, 15939,15893,15847,15800,15755,15709,15662,15616,15571,15524,15479,15432, 15387,15341,15295,15249,15204,15157,15112,15066,15020,14975,14929,14883, 14838,14792,14746,14701,14654,14608,14563,14518,14472,14427,14382,14336, 14291,14246,14200,14156,14110,14065,14020,13975,13930,13885,13840,13795, 13750,13705,13661,13616,13571,13526,13482,13437,13393,13348,13304,13259, 13215,13170,13126,13082,13038,12994,12949,12905,12861,12817,12773,12730, 12685,12642,12598,12554,12510,12467,12423,12380,12336,12293,12249,12206, 12163,12120,12076,12033,11990,11947,11904,11861,11817,11774,11732,11689, 11646,11604,11561,11519,11476,11434,11392,11349,11307,11265,11223,11181, 11139,11097,11055,11014,10972,10930,10889,10847,10806,10764,10723,10682, 10641,10600,10558,10517,10477,10436,10395,10354,10314,10273,10233,10192, 10152,10112,10071,10031,9991,9951,9911,9872,9831,9792,9752,9713, 9673,9634,9595,9555,9516,9477,9438,9399,9360,9321,9283,9244, 9204,9166,9127,9089,9051,9012,8975,8936,8898,8861,8823,8785, 8747,8710,8673,8635,8598,8561,8524,8487,8450,8413,8376,8340, 8303,8267,8230,8194,8158,8122,8086,8050,8014,7978,7943,7907, 7872,7836,7801,7766,7730,7695,7661,7626,7591,7556,7522,7487, 7453,7419,7385,7351,7316,7283,7249,7215,7182,7148,7115,7081, 7048,7015,6982,6949,6916,6883,6851,6818,6786,6753,6721,6689, 6657,6625,6593,6562,6530,6499,6467,6436,6405,6374,6343,6312, 6282,6251,6220,6190,6160,6130,6100,6070,6040,6010,5980,5951, 5922,5892,5863,5834,5805,5776,5748,5719,5691,5662,5634,5606, 5577,5550,5522,5494,5467,5439,5412,5384,5357,5330,5303,5276, 5250,5223,5197,5170,5144,5118,5092,5066,5040,5014,4989,4963, 4938,4913,4888,4863,4838,4813,4789,4764,4740,4716,4692,4668, 4644,4620,4597,4574,4550,4527,4504,4481,4458,4436,4413,4391, 4368,4346,4324,4302,4280,4258,4237,4216,4194,4173,4152,4131, 4110,4090,4069,4048,4028,4008,3988,3968,3948,3928,3909,3890, 3870,3851,3832,3813,3795,3776,3757,3739,3721,3703,3685,3667, 3649,3631,3614,3597,3579,3562,3545,3528,3512,3495,3479,3463, 3446,3430,3415,3399,3383,3368,3353,3338,3322,3308,3293,3278, 3264,3249,3235,3221,3207,3193,3180,3166,3152,3139,3126,3113, 3100,3087,3075,3062,3050,3038,3026,3014,3002,2991,2979,2968, 2957,2946,2935,2924,2913,2903,2892,2882,2872,2862,2852,2842, 2833,2823,2814,2805,2796,2787,2778,2770,2761,2753,2745,2736, 2729,2721,2713,2706,2699,2692,2685,2678,2671,2664,2658,2652, 2646,2640,2634,2628,2622,2616,2611,2606,2601,2596,2592,2587, 2582,2578,2574,2570,2566,2562,2558,2555,2551,2548,2545,2542, 2539,2537,2534,2532,2530,2528,2526,2524,2522,2521,2520,2518, 2517,2516,2515,2515,2514,2514,2514,2514}; const int16_t hamming_1024[1024] = { 2514,2514,2515,2516,2518,2521,2524,2528,2532,2537,2542,2548, 2555,2562,2569,2578,2587,2596,2606,2616,2628,2640,2652,2664, 2678,2692,2706,2721,2736,2753,2770,2787,2805,2823,2842,2862, 2882,2903,2924,2946,2968,2991,3014,3038,3062,3087,3113,3139, 3166,3193,3221,3250,3278,3308,3338,3368,3399,3431,3463,3496, 3529,3563,3597,3632,3668,3703,3740,3777,3814,3852,3890,3929, 3969,4009,4049,4090,4132,4174,4216,4259,4303,4348,4392,4437, 4482,4529,4575,4622,4670,4718,4766,4815,4865,4914,4965,5016, 5068,5120,5172,5225,5278,5332,5386,5441,5496,5552,5607,5664, 5721,5778,5836,5894,5954,6013,6073,6133,6193,6254,6315,6377, 6439,6502,6565,6628,6692,6756,6821,6886,6953,7019,7085,7152, 7219,7286,7354,7422,7490,7560,7629,7699,7769,7839,7911,7982, 8055,8126,8199,8272,8344,8418,8492,8566,8640,8715,8790,8865, 8941,9017,9094,9170,9249,9326,9404,9482,9560,9639,9717,9797, 9876,9956,10036,10117,10197,10278,10360,10441,10524,10606,10688,10771, 10854,10937,11020,11104,11188,11272,11356,11441,11525,11610,11696,11781, 11868,11954,12040,12126,12213,12300,12387,12474,12561,12648,12736,12824, 12912,13001,13089,13177,13268,13356,13446,13535,13624,13714,13804,13893, 13983,14073,14164,14254,14345,14435,14526,14617,14710,14800,14892,14983, 15075,15166,15258,15349,15441,15533,15625,15717,15809,15902,15993,16086, 16180,16272,16365,16457,16550,16642,16735,16828,16920,17013,17105,17198, 17291,17384,17477,17570,17664,17757,17850,17942,18035,18128,18221,18314, 18406,18499,18591,18684,18777,18869,18962,19054,19148,19240,19332,19425, 19517,19609,19701,19793,19885,19976,20068,20160,20251,20342,20434,20525, 20618,20709,20799,20890,20980,21071,21161,21251,21341,21431,21522,21611, 21701,21790,21879,21968,22058,22147,22236,22324,22412,22500,22588,22675, 22763,22850,22937,23024,23110,23197,23283,23369,23456,23542,23628,23712, 23797,23882,23966,24051,24134,24218,24302,24385,24468,24551,24633,24715, 24798,24880,24961,25042,25123,25204,25284,25364,25444,25523,25602,25681, 25759,25837,25915,25993,26071,26148,26225,26301,26377,26453,26528,26603, 26678,26752,26826,26899,26973,27045,27118,27190,27263,27334,27406,27476, 27546,27617,27686,27755,27824,27893,27960,28028,28096,28163,28229,28295, 28362,28427,28492,28556,28621,28684,28747,28810,28873,28935,28996,29057, 29118,29178,29238,29297,29357,29416,29474,29531,29588,29645,29701,29757, 29813,29867,29921,29976,30029,30082,30135,30187,30239,30290,30341,30391, 30441,30490,30539,30587,30635,30682,30729,30775,30821,30866,30911,30956, 31000,31043,31086,31128,31170,31211,31252,31293,31332,31372,31410,31448, 31486,31523,31559,31596,31632,31667,31701,31735,31769,31802,31834,31866, 31897,31928,31958,31988,32017,32045,32074,32101,32129,32155,32181,32206, 32231,32255,32279,32302,32324,32346,32368,32389,32409,32429,32449,32467, 32485,32503,32520,32537,32552,32568,32582,32597,32611,32623,32636,32648, 32659,32670,32680,32690,32699,32708,32716,32723,32730,32736,32742,32747, 32752,32755,32759,32762,32764,32766,32767,32767,32767,32767,32766,32764, 32762,32759,32755,32752,32747,32742,32737,32730,32723,32716,32708,32699, 32690,32680,32670,32659,32648,32636,32623,32611,32597,32583,32568,32553, 32537,32521,32503,32486,32467,32449,32430,32410,32389,32368,32347,32325, 32302,32279,32256,32232,32207,32181,32155,32129,32101,32074,32046,32017, 31988,31959,31928,31898,31866,31835,31802,31769,31736,31702,31667,31632, 31596,31560,31523,31486,31449,31411,31372,31333,31293,31253,31212,31171, 31129,31087,31044,31001,30956,30912,30867,30822,30776,30730,30683,30636, 30588,30540,30491,30442,30392,30342,30291,30240,30188,30136,30083,30030, 29976,29922,29868,29813,29758,29702,29646,29589,29532,29475,29416,29358, 29298,29239,29179,29119,29058,28997,28935,28874,28811,28748,28685,28622, 28557,28493,28428,28363,28296,28230,28164,28097,28029,27962,27894,27825, 27756,27687,27617,27548,27477,27406,27335,27264,27191,27119,27046,26973, 26901,26827,26753,26678,26604,26529,26454,26378,26302,26226,26149,26072, 25994,25917,25839,25761,25682,25603,25524,25445,25365,25285,25205,25125, 25044,24963,24881,24800,24717,24634,24552,24469,24386,24303,24220,24136, 24052,23968,23883,23799,23714,23628,23543,23458,23370,23285,23198,23112, 23025,22938,22851,22764,22677,22589,22501,22413,22325,22237,22148,22060, 21969,21880,21791,21702,21612,21523,21433,21343,21253,21163,21072,20982, 20891,20801,20710,20619,20526,20435,20344,20252,20161,20070,19978,19886, 19795,19702,19610,19518,19426,19334,19242,19150,19055,18963,18871,18778, 18686,18593,18500,18408,18315,18222,18129,18037,17944,17851,17758,17665, 17571,17478,17386,17293,17200,17107,17015,16922,16829,16736,16644,16551, 16459,16366,16274,16181,16088,15995,15903,15811,15719,15626,15535,15443, 15351,15259,15167,15076,14985,14893,14802,14711,14619,14528,14437,14346, 14256,14165,14075,13985,13895,13805,13715,13626,13537,13447,13358,13269, 13179,13090,13002,12914,12826,12737,12650,12562,12475,12388,12301,12214, 12128,12041,11955,11869,11782,11697,11611,11527,11442,11357,11273,11189, 11105,11022,10938,10855,10772,10690,10607,10525,10442,10361,10280,10198, 10118,10037,9957,9878,9798,9719,9640,9561,9483,9405,9327,9250, 9172,9095,9018,8942,8867,8791,8716,8641,8567,8493,8419,8345, 8272,8200,8127,8055,7983,7911,7841,7770,7700,7630,7561,7492, 7423,7355,7287,7219,7153,7086,7020,6954,6887,6822,6757,6693, 6629,6566,6503,6440,6378,6316,6255,6194,6134,6074,6014,5955, 5895,5837,5779,5721,5665,5608,5552,5497,5442,5387,5333,5279, 5226,5173,5120,5069,5017,4966,4915,4865,4816,4767,4718,4670, 4623,4576,4529,4483,4438,4393,4348,4304,4260,4217,4174,4132, 4090,4050,4009,3969,3930,3891,3852,3814,3777,3740,3704,3668, 3632,3597,3563,3530,3496,3464,3432,3400,3369,3338,3308,3279, 3250,3222,3194,3167,3139,3114,3088,3063,3038,3014,2991,2968, 2946,2924,2903,2882,2862,2843,2824,2805,2787,2770,2753,2737, 2721,2706,2692,2678,2664,2652,2640,2628,2617,2606,2596,2587, 2578,2570,2562,2555,2548,2542,2537,2532,2528,2524,2521,2518, 2516,2515,2514,2514}; const int16_t hamming_512[512] = { 2514,2515,2518,2524,2532,2542,2555,2570,2587,2606,2628,2652, 2678,2706,2737,2770,2806,2843,2882,2924,2969,3015,3064,3114, 3168,3223,3280,3339,3401,3465,3531,3599,3669,3742,3816,3892, 3972,4052,4135,4219,4307,4396,4486,4579,4674,4770,4869,4969, 5073,5177,5283,5391,5502,5613,5727,5842,5960,6079,6200,6322, 6447,6573,6700,6829,6961,7093,7227,7362,7500,7639,7779,7920, 8064,8209,8355,8502,8652,8801,8953,9106,9261,9416,9572,9730, 9890,10050,10211,10373,10538,10703,10868,11034,11203,11372,11541,11712, 11884,12056,12229,12403,12579,12754,12930,13107,13286,13464,13643,13822, 14003,14184,14365,14546,14729,14912,15095,15278,15463,15647,15831,16015, 16201,16386,16571,16756,16943,17129,17315,17500,17687,17873,18058,18244, 18431,18616,18801,18986,19173,19357,19542,19725,19910,20094,20277,20459, 20643,20825,21006,21187,21368,21548,21727,21906,22085,22262,22438,22614, 22790,22964,23138,23310,23483,23654,23824,23993,24162,24329,24495,24660, 24825,24988,25150,25310,25471,25629,25786,25942,26098,26251,26403,26554, 26704,26852,26999,27144,27289,27431,27572,27711,27850,27986,28121,28254, 28386,28516,28644,28771,28897,29020,29141,29261,29380,29496,29610,29723, 29835,29944,30051,30156,30260,30361,30461,30559,30655,30749,30840,30930, 31018,31104,31188,31269,31349,31427,31502,31576,31647,31716,31783,31848, 31911,31972,32030,32086,32141,32192,32242,32289,32335,32378,32419,32457, 32494,32528,32560,32589,32617,32642,32665,32685,32703,32719,32733,32744, 32754,32761,32765,32767,32767,32765,32761,32754,32744,32733,32719,32704, 32685,32665,32642,32617,32589,32560,32528,32494,32458,32419,32378,32335, 32290,32242,32193,32141,32087,32030,31972,31912,31848,31784,31717,31648, 31576,31503,31427,31350,31270,31188,31105,31019,30931,30841,30749,30655, 30559,30462,30362,30261,30157,30052,29945,29836,29724,29611,29497,29381, 29262,29142,29021,28898,28772,28646,28517,28387,28255,28122,27987,27851, 27712,27573,27432,27290,27145,27000,26853,26705,26555,26404,26252,26099, 25943,25788,25631,25472,25312,25151,24989,24826,24661,24496,24331,24163, 23994,23825,23655,23484,23311,23139,22966,22791,22615,22439,22263,22086, 21907,21728,21549,21370,21188,21007,20826,20644,20461,20278,20095,19912, 19727,19543,19359,19174,18988,18803,18617,18432,18245,18060,17874,17689, 17502,17316,17130,16945,16758,16573,16388,16203,16016,15832,15648,15464, 15279,15096,14913,14731,14548,14366,14185,14005,13823,13644,13465,13287, 13108,12931,12755,12580,12404,12231,12057,11885,11713,11543,11373,11205, 11036,10869,10704,10540,10375,10212,10051,9891,9731,9573,9417,9262, 9107,8954,8803,8653,8503,8356,8210,8066,7922,7780,7640,7502, 7363,7228,7094,6962,6830,6701,6574,6448,6323,6201,6080,5961, 5843,5728,5614,5503,5392,5284,5178,5074,4970,4870,4771,4675, 4579,4487,4396,4307,4220,4135,4053,3972,3893,3817,3742,3670, 3600,3531,3466,3402,3340,3280,3223,3168,3115,3064,3015,2969, 2925,2883,2843,2806,2770,2737,2707,2678,2652,2628,2606,2587, 2570,2555,2543,2532,2524,2518,2515,2514}; const int16_t hann_8192[8192] = { 1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,2,2,2,2,2,2,3,3,3, 3,4,4,4,4,5,5,5,5,6,6,6, 7,7,7,8,8,9,9,9,10,10,11,11, 12,12,13,13,14,14,15,15,16,16,17,17, 18,18,19,20,20,21,21,22,23,23,24,25, 25,26,27,28,28,29,30,31,31,32,33,34, 34,35,36,37,38,39,40,40,41,42,43,44, 45,46,47,48,49,50,51,52,53,54,55,56, 57,58,59,60,61,62,63,64,65,66,68,69, 70,71,72,73,75,76,77,78,79,81,82,83, 84,86,87,88,90,91,92,94,95,96,98,99, 100,102,103,105,106,107,109,110,112,113,115,116, 118,119,121,122,124,125,127,128,130,132,133,135, 136,138,140,141,143,145,146,148,150,151,153,155, 156,158,160,162,163,165,167,169,171,172,174,176, 178,180,182,183,185,187,189,191,193,195,197,199, 201,203,205,207,209,211,213,215,217,219,221,223, 225,227,229,231,233,235,237,240,242,244,246,248, 250,253,255,257,259,261,264,266,268,270,273,275, 277,280,282,284,287,289,291,294,296,298,301,303, 306,308,310,313,315,318,320,323,325,328,330,333, 335,338,340,343,345,348,351,353,356,358,361,364, 366,369,372,374,377,380,382,385,388,390,393,396, 399,401,404,407,410,412,415,418,421,424,427,429, 432,435,438,441,444,447,450,453,456,458,461,464, 467,470,473,476,479,482,485,488,492,495,498,501, 504,507,510,513,516,519,523,526,529,532,535,538, 542,545,548,551,554,558,561,564,567,571,574,577, 581,584,587,591,594,597,601,604,607,611,614,618, 621,625,628,631,635,638,642,645,649,652,656,659, 663,666,670,674,677,681,684,688,691,695,699,702, 706,710,713,717,721,724,728,732,735,739,743,747, 750,754,758,762,766,769,773,777,781,785,788,792, 796,800,804,808,812,816,820,823,827,831,835,839, 843,847,851,855,859,863,867,871,875,879,884,888, 892,896,900,904,908,912,916,921,925,929,933,937, 941,946,950,954,958,962,967,971,975,980,984,988, 992,997,1001,1005,1010,1014,1018,1023,1027,1032,1036,1040, 1045,1049,1054,1058,1062,1067,1071,1076,1080,1085,1089,1094, 1098,1103,1107,1112,1117,1121,1126,1130,1135,1139,1144,1149, 1153,1158,1163,1167,1172,1177,1181,1186,1191,1195,1200,1205, 1209,1214,1219,1224,1228,1233,1238,1243,1248,1252,1257,1262, 1267,1272,1277,1282,1286,1291,1296,1301,1306,1311,1316,1321, 1326,1331,1336,1341,1346,1351,1356,1361,1366,1371,1376,1381, 1386,1391,1396,1401,1406,1411,1416,1421,1427,1432,1437,1442, 1447,1452,1457,1463,1468,1473,1478,1483,1489,1494,1499,1504, 1510,1515,1520,1526,1531,1536,1541,1547,1552,1557,1563,1568, 1574,1579,1584,1590,1595,1601,1606,1611,1617,1622,1628,1633, 1639,1644,1650,1655,1661,1666,1672,1677,1683,1688,1694,1699, 1705,1711,1716,1722,1727,1733,1739,1744,1750,1756,1761,1767, 1773,1778,1784,1790,1795,1801,1807,1813,1818,1824,1830,1836, 1841,1847,1853,1859,1865,1870,1876,1882,1888,1894,1900,1906, 1911,1917,1923,1929,1935,1941,1947,1953,1959,1965,1971,1977, 1983,1989,1995,2001,2007,2013,2019,2025,2031,2037,2043,2049, 2055,2061,2067,2074,2080,2086,2092,2098,2104,2110,2117,2123, 2129,2135,2141,2148,2154,2160,2166,2173,2179,2185,2191,2198, 2204,2210,2217,2223,2229,2236,2242,2248,2255,2261,2267,2274, 2280,2286,2293,2299,2306,2312,2319,2325,2331,2338,2344,2351, 2357,2364,2370,2377,2383,2390,2396,2403,2410,2416,2423,2429, 2436,2442,2449,2456,2462,2469,2476,2482,2489,2496,2502,2509, 2516,2522,2529,2536,2542,2549,2556,2563,2569,2576,2583,2590, 2596,2603,2610,2617,2624,2631,2637,2644,2651,2658,2665,2672, 2679,2685,2692,2699,2706,2713,2720,2727,2734,2741,2748,2755, 2762,2769,2776,2783,2790,2797,2804,2811,2818,2825,2832,2839, 2846,2853,2860,2867,2874,2882,2889,2896,2903,2910,2917,2924, 2932,2939,2946,2953,2960,2968,2975,2982,2989,2996,3004,3011, 3018,3025,3033,3040,3047,3055,3062,3069,3077,3084,3091,3099, 3106,3113,3121,3128,3135,3143,3150,3158,3165,3173,3180,3187, 3195,3202,3210,3217,3225,3232,3240,3247,3255,3262,3270,3277, 3285,3292,3300,3308,3315,3323,3330,3338,3346,3353,3361,3368, 3376,3384,3391,3399,3407,3414,3422,3430,3437,3445,3453,3461, 3468,3476,3484,3491,3499,3507,3515,3523,3530,3538,3546,3554, 3562,3569,3577,3585,3593,3601,3609,3616,3624,3632,3640,3648, 3656,3664,3672,3680,3688,3696,3704,3712,3719,3727,3735,3743, 3751,3759,3767,3775,3784,3792,3800,3808,3816,3824,3832,3840, 3848,3856,3864,3872,3880,3889,3897,3905,3913,3921,3929,3937, 3946,3954,3962,3970,3978,3987,3995,4003,4011,4020,4028,4036, 4044,4053,4061,4069,4077,4086,4094,4102,4111,4119,4127,4136, 4144,4152,4161,4169,4177,4186,4194,4203,4211,4219,4228,4236, 4245,4253,4262,4270,4279,4287,4296,4304,4312,4321,4330,4338, 4347,4355,4364,4372,4381,4389,4398,4406,4415,4424,4432,4441, 4449,4458,4467,4475,4484,4492,4501,4510,4518,4527,4536,4544, 4553,4562,4571,4579,4588,4597,4605,4614,4623,4632,4640,4649, 4658,4667,4676,4684,4693,4702,4711,4720,4728,4737,4746,4755, 4764,4773,4782,4790,4800,4809,4818,4827,4836,4845,4854,4863, 4872,4881,4890,4899,4908,4916,4925,4934,4943,4952,4961,4970, 4979,4988,4998,5007,5016,5025,5034,5043,5052,5061,5070,5079, 5088,5097,5106,5116,5125,5134,5143,5152,5161,5170,5180,5189, 5198,5207,5216,5225,5235,5244,5253,5262,5272,5281,5290,5299, 5309,5318,5327,5336,5346,5355,5364,5374,5383,5392,5401,5411, 5420,5429,5439,5448,5458,5467,5476,5486,5495,5504,5514,5523, 5533,5542,5551,5561,5570,5580,5589,5599,5608,5618,5627,5637, 5646,5656,5665,5675,5684,5694,5703,5713,5722,5732,5741,5751, 5760,5770,5780,5789,5799,5808,5818,5828,5837,5847,5856,5866, 5876,5885,5895,5905,5914,5924,5934,5943,5953,5963,5972,5982, 5992,6002,6011,6021,6031,6040,6050,6060,6070,6079,6089,6099, 6109,6119,6128,6138,6148,6158,6168,6177,6187,6197,6207,6217, 6227,6237,6246,6256,6266,6276,6286,6296,6306,6316,6326,6336, 6345,6355,6365,6375,6385,6395,6405,6415,6425,6435,6445,6455, 6465,6475,6485,6495,6505,6515,6525,6535,6545,6555,6565,6575, 6585,6596,6606,6616,6626,6636,6646,6656,6666,6676,6686,6697, 6707,6717,6727,6737,6747,6758,6768,6778,6788,6798,6808,6819, 6829,6839,6849,6859,6870,6880,6890,6900,6911,6921,6931,6941, 6952,6962,6972,6983,6993,7003,7013,7024,7034,7044,7055,7065, 7075,7086,7096,7106,7117,7127,7138,7148,7158,7169,7179,7190, 7200,7210,7221,7231,7242,7252,7262,7273,7283,7294,7304,7315, 7325,7336,7346,7357,7367,7378,7388,7399,7409,7420,7430,7441, 7451,7462,7472,7483,7493,7504,7515,7525,7536,7546,7557,7567, 7578,7589,7599,7610,7620,7631,7642,7652,7663,7674,7684,7695, 7706,7716,7727,7738,7748,7759,7770,7780,7791,7802,7812,7823, 7834,7845,7855,7866,7877,7887,7898,7909,7920,7930,7941,7952, 7963,7974,7984,7995,8006,8017,8028,8038,8049,8060,8071,8082, 8092,8103,8114,8125,8136,8147,8158,8168,8179,8190,8201,8212, 8223,8234,8245,8256,8267,8277,8288,8299,8310,8321,8332,8343, 8354,8365,8376,8387,8398,8409,8420,8431,8442,8453,8464,8475, 8486,8497,8508,8519,8530,8541,8552,8563,8574,8585,8596,8607, 8618,8629,8640,8651,8663,8674,8685,8696,8707,8718,8729,8740, 8751,8762,8774,8785,8796,8807,8818,8829,8840,8852,8863,8874, 8885,8896,8907,8919,8930,8941,8952,8963,8975,8986,8997,9008, 9019,9031,9042,9053,9064,9076,9087,9098,9109,9121,9132,9143, 9154,9166,9177,9188,9200,9211,9222,9234,9245,9256,9267,9279, 9290,9301,9313,9324,9335,9347,9358,9369,9381,9392,9404,9415, 9426,9438,9449,9460,9472,9483,9495,9506,9517,9529,9540,9552, 9563,9575,9586,9597,9609,9620,9632,9643,9655,9666,9678,9689, 9701,9712,9723,9735,9746,9758,9769,9781,9792,9804,9815,9827, 9838,9850,9862,9873,9885,9896,9908,9919,9931,9942,9954,9965, 9977,9989,10000,10012,10023,10035,10046,10058,10070,10081,10093,10104, 10116,10128,10139,10151,10163,10174,10186,10197,10209,10221,10232,10244, 10256,10267,10279,10291,10302,10314,10326,10337,10349,10361,10372,10384, 10396,10407,10419,10431,10443,10454,10466,10478,10489,10501,10513,10525, 10536,10548,10560,10572,10583,10595,10607,10619,10630,10642,10654,10666, 10677,10689,10701,10713,10725,10736,10748,10760,10772,10784,10795,10807, 10819,10831,10843,10855,10866,10878,10890,10902,10914,10926,10937,10949, 10961,10973,10985,10997,11009,11020,11032,11044,11056,11068,11080,11092, 11104,11116,11127,11139,11151,11163,11175,11187,11199,11211,11223,11235, 11247,11259,11271,11282,11294,11306,11318,11330,11342,11354,11366,11378, 11390,11402,11414,11426,11438,11450,11462,11474,11486,11498,11510,11522, 11534,11546,11558,11570,11582,11594,11606,11618,11630,11642,11654,11666, 11678,11690,11702,11714,11726,11738,11750,11762,11774,11787,11799,11811, 11823,11835,11847,11859,11871,11883,11895,11907,11919,11931,11944,11956, 11968,11980,11992,12004,12016,12028,12040,12053,12065,12077,12089,12101, 12113,12125,12137,12150,12162,12174,12186,12198,12210,12222,12235,12247, 12259,12271,12283,12295,12308,12320,12332,12344,12356,12368,12381,12393, 12405,12417,12429,12442,12454,12466,12478,12490,12503,12515,12527,12539, 12551,12564,12576,12588,12600,12613,12625,12637,12649,12662,12674,12686, 12698,12711,12723,12735,12747,12760,12772,12784,12796,12809,12821,12833, 12845,12858,12870,12882,12894,12907,12919,12931,12944,12956,12968,12980, 12993,13005,13017,13030,13042,13054,13067,13079,13091,13103,13116,13128, 13140,13153,13165,13177,13190,13202,13214,13227,13239,13251,13264,13276, 13288,13301,13313,13325,13338,13350,13362,13375,13387,13399,13412,13424, 13437,13449,13461,13474,13486,13498,13511,13523,13535,13548,13560,13573, 13585,13597,13610,13622,13635,13647,13659,13672,13684,13697,13709,13721, 13734,13746,13759,13771,13783,13796,13808,13821,13833,13845,13858,13870, 13883,13895,13907,13920,13932,13945,13957,13970,13982,13994,14007,14019, 14032,14044,14057,14069,14082,14094,14106,14119,14131,14144,14156,14169, 14181,14194,14206,14218,14231,14243,14256,14268,14281,14293,14306,14318, 14331,14343,14356,14368,14380,14393,14405,14418,14430,14443,14455,14468, 14480,14493,14505,14518,14530,14543,14555,14568,14580,14593,14605,14618, 14630,14643,14655,14668,14680,14693,14705,14718,14730,14743,14755,14768, 14780,14793,14805,14818,14830,14843,14855,14868,14880,14893,14905,14918, 14930,14943,14955,14968,14980,14993,15005,15018,15030,15043,15055,15068, 15081,15093,15106,15118,15131,15143,15156,15168,15181,15193,15206,15218, 15231,15243,15256,15269,15281,15294,15306,15319,15331,15344,15356,15369, 15381,15394,15406,15419,15432,15444,15457,15469,15482,15494,15507,15519, 15532,15544,15557,15570,15582,15595,15607,15620,15632,15645,15657,15670, 15683,15695,15708,15720,15733,15745,15758,15770,15783,15796,15808,15821, 15833,15846,15858,15871,15883,15896,15909,15921,15934,15946,15959,15971, 15984,15997,16009,16022,16034,16047,16059,16072,16084,16097,16110,16122, 16135,16147,16160,16172,16185,16198,16210,16223,16235,16248,16260,16273, 16286,16298,16311,16323,16336,16348,16361,16374,16388,16400,16413,16425, 16438,16450,16463,16476,16488,16501,16513,16526,16538,16551,16564,16576, 16589,16601,16614,16626,16639,16652,16664,16677,16689,16702,16714,16727, 16739,16752,16765,16777,16790,16802,16815,16827,16840,16853,16865,16878, 16890,16903,16915,16928,16940,16953,16966,16978,16991,17003,17016,17028, 17041,17053,17066,17079,17091,17104,17116,17129,17141,17154,17166,17179, 17192,17204,17217,17229,17242,17254,17267,17279,17292,17305,17317,17330, 17342,17355,17367,17380,17392,17405,17417,17430,17442,17455,17468,17480, 17493,17505,17518,17530,17543,17555,17568,17580,17593,17605,17618,17631, 17643,17656,17668,17681,17693,17706,17718,17731,17743,17756,17768,17781, 17793,17806,17818,17831,17843,17856,17868,17881,17893,17906,17918,17931, 17944,17956,17969,17981,17994,18006,18019,18031,18044,18056,18069,18081, 18094,18106,18119,18131,18144,18156,18169,18181,18194,18206,18218,18231, 18243,18256,18268,18281,18293,18306,18318,18331,18343,18356,18368,18381, 18393,18406,18418,18431,18443,18456,18468,18480,18493,18505,18518,18530, 18543,18555,18568,18580,18593,18605,18617,18630,18642,18655,18667,18680, 18692,18705,18717,18729,18742,18754,18767,18779,18792,18804,18816,18829, 18841,18854,18866,18879,18891,18903,18916,18928,18941,18953,18966,18978, 18990,19003,19015,19028,19040,19052,19065,19077,19090,19102,19114,19127, 19139,19151,19164,19176,19189,19201,19213,19226,19238,19251,19263,19275, 19288,19300,19312,19325,19337,19349,19362,19374,19387,19399,19411,19424, 19436,19448,19461,19473,19485,19498,19510,19522,19535,19547,19559,19572, 19584,19596,19609,19621,19633,19646,19658,19670,19682,19695,19707,19719, 19732,19744,19756,19769,19781,19793,19805,19818,19830,19842,19855,19867, 19879,19891,19904,19916,19928,19941,19953,19965,19977,19990,20002,20014, 20026,20039,20051,20063,20075,20088,20100,20112,20124,20137,20149,20161, 20173,20185,20198,20210,20222,20234,20247,20259,20271,20283,20295,20308, 20320,20332,20344,20356,20369,20381,20393,20405,20417,20429,20442,20454, 20466,20478,20490,20502,20515,20527,20539,20551,20563,20575,20588,20600, 20612,20624,20636,20648,20660,20673,20685,20697,20709,20721,20733,20745, 20757,20769,20782,20794,20806,20818,20830,20842,20854,20866,20878,20890, 20902,20915,20927,20939,20951,20963,20975,20987,20999,21011,21023,21035, 21047,21059,21071,21083,21095,21107,21119,21132,21144,21156,21168,21180, 21192,21204,21216,21228,21240,21252,21264,21276,21288,21300,21312,21324, 21336,21348,21360,21371,21383,21395,21407,21419,21431,21443,21455,21467, 21479,21491,21503,21515,21527,21539,21551,21563,21575,21586,21598,21610, 21622,21634,21646,21658,21670,21682,21694,21705,21717,21729,21741,21753, 21765,21777,21789,21800,21812,21824,21836,21848,21860,21872,21883,21895, 21907,21919,21931,21943,21954,21966,21978,21990,22002,22013,22025,22037, 22049,22061,22072,22084,22096,22108,22119,22131,22143,22155,22167,22178, 22190,22202,22214,22225,22237,22249,22260,22272,22284,22296,22307,22319, 22331,22343,22354,22366,22378,22389,22401,22413,22424,22436,22448,22459, 22471,22483,22494,22506,22518,22529,22541,22553,22564,22576,22588,22599, 22611,22622,22634,22646,22657,22669,22680,22692,22704,22715,22727,22738, 22750,22762,22773,22785,22796,22808,22819,22831,22843,22854,22866,22877, 22889,22900,22912,22923,22935,22946,22958,22969,22981,22992,23004,23015, 23027,23038,23050,23061,23073,23084,23096,23107,23119,23130,23142,23153, 23164,23176,23187,23199,23210,23222,23233,23244,23256,23267,23279,23290, 23301,23313,23324,23336,23347,23358,23370,23381,23392,23404,23415,23426, 23438,23449,23460,23472,23483,23494,23506,23517,23528,23540,23551,23562, 23574,23585,23596,23607,23619,23630,23641,23653,23664,23675,23686,23698, 23709,23720,23731,23743,23754,23765,23776,23787,23799,23810,23821,23832, 23843,23855,23866,23877,23888,23899,23910,23922,23933,23944,23955,23966, 23977,23988,24000,24011,24022,24033,24044,24055,24066,24077,24088,24100, 24111,24122,24133,24144,24155,24166,24177,24188,24199,24210,24221,24232, 24243,24254,24265,24276,24287,24298,24309,24320,24331,24342,24353,24364, 24375,24386,24397,24408,24419,24430,24441,24452,24463,24474,24485,24496, 24507,24517,24528,24539,24550,24561,24572,24583,24594,24605,24615,24626, 24637,24648,24659,24670,24681,24691,24702,24713,24724,24735,24746,24756, 24767,24778,24789,24799,24810,24821,24832,24843,24853,24864,24875,24886, 24896,24907,24918,24929,24939,24950,24961,24971,24982,24993,25003,25014, 25025,25035,25046,25057,25067,25078,25089,25099,25110,25121,25131,25142, 25153,25163,25174,25184,25195,25206,25216,25227,25237,25248,25258,25269, 25280,25290,25301,25311,25322,25332,25343,25353,25364,25374,25385,25395, 25406,25416,25427,25437,25448,25458,25469,25479,25490,25500,25510,25521, 25531,25542,25552,25563,25573,25583,25594,25604,25615,25625,25635,25646, 25656,25666,25677,25687,25697,25708,25718,25728,25739,25749,25759,25770, 25780,25790,25801,25811,25821,25831,25842,25852,25862,25872,25883,25893, 25903,25913,25924,25934,25944,25954,25964,25975,25985,25995,26005,26015, 26025,26036,26046,26056,26066,26076,26086,26096,26107,26117,26127,26137, 26147,26157,26167,26177,26187,26197,26207,26217,26228,26238,26248,26258, 26268,26278,26288,26298,26308,26318,26328,26338,26348,26358,26368,26378, 26388,26397,26407,26417,26427,26437,26447,26457,26467,26477,26487,26497, 26507,26516,26526,26536,26546,26556,26566,26576,26585,26595,26605,26615, 26625,26634,26644,26654,26664,26674,26683,26693,26703,26713,26722,26732, 26742,26752,26761,26771,26781,26791,26800,26810,26820,26829,26839,26849, 26858,26868,26878,26887,26897,26907,26916,26926,26935,26945,26955,26964, 26974,26983,26993,27003,27012,27022,27031,27041,27050,27060,27069,27079, 27088,27098,27107,27117,27126,27136,27145,27155,27164,27174,27183,27193, 27202,27212,27221,27230,27240,27249,27259,27268,27277,27287,27296,27306, 27315,27324,27334,27343,27352,27362,27371,27380,27390,27399,27408,27418, 27427,27436,27445,27455,27464,27473,27482,27492,27501,27510,27519,27529, 27538,27547,27556,27565,27575,27584,27593,27602,27611,27620,27629,27639, 27648,27657,27666,27675,27684,27693,27702,27711,27721,27730,27739,27748, 27757,27766,27775,27784,27793,27802,27811,27820,27829,27838,27847,27856, 27865,27874,27883,27892,27901,27910,27919,27927,27936,27945,27954,27963, 27973,27982,27991,28000,28009,28017,28026,28035,28044,28053,28062,28070, 28079,28088,28097,28106,28114,28123,28132,28141,28149,28158,28167,28176, 28184,28193,28202,28210,28219,28228,28236,28245,28254,28262,28271,28280, 28288,28297,28306,28314,28323,28331,28340,28349,28357,28366,28374,28383, 28392,28400,28409,28417,28426,28434,28443,28451,28460,28468,28477,28485, 28494,28502,28511,28519,28527,28536,28544,28553,28561,28569,28578,28586, 28595,28603,28611,28620,28628,28636,28645,28653,28661,28670,28678,28686, 28695,28703,28711,28720,28728,28736,28744,28753,28761,28769,28777,28785, 28794,28802,28810,28818,28826,28835,28843,28851,28859,28867,28875,28884, 28892,28900,28908,28916,28924,28932,28940,28948,28956,28964,28972,28980, 28989,28997,29005,29013,29021,29029,29037,29045,29052,29060,29068,29076, 29084,29092,29100,29108,29116,29124,29132,29140,29148,29155,29163,29171, 29179,29187,29195,29203,29210,29218,29226,29234,29242,29249,29257,29265, 29273,29280,29288,29296,29304,29311,29319,29327,29335,29342,29350,29358, 29365,29373,29381,29388,29396,29403,29411,29419,29426,29434,29442,29449, 29457,29464,29472,29479,29487,29494,29502,29510,29517,29525,29532,29540, 29547,29555,29562,29569,29577,29584,29592,29599,29607,29614,29621,29629, 29636,29644,29651,29658,29666,29673,29680,29688,29695,29702,29710,29717, 29724,29732,29739,29746,29754,29761,29768,29775,29783,29790,29797,29804, 29811,29819,29826,29833,29840,29847,29854,29862,29869,29876,29883,29890, 29897,29904,29911,29919,29926,29933,29940,29947,29954,29961,29968,29975, 29982,29989,29996,30003,30010,30017,30024,30031,30038,30045,30052,30059, 30065,30072,30079,30086,30093,30100,30107,30114,30121,30127,30134,30141, 30148,30155,30161,30168,30175,30182,30189,30195,30202,30209,30216,30222, 30229,30236,30243,30249,30256,30263,30269,30276,30283,30289,30296,30303, 30309,30316,30322,30329,30336,30342,30349,30355,30362,30368,30375,30381, 30388,30395,30401,30408,30414,30421,30427,30433,30440,30446,30453,30459, 30466,30472,30479,30485,30491,30498,30504,30510,30517,30523,30530,30536, 30542,30549,30555,30561,30567,30574,30580,30586,30593,30599,30605,30611, 30617,30624,30630,30636,30642,30649,30655,30661,30667,30673,30679,30685, 30692,30698,30704,30710,30716,30722,30728,30734,30740,30746,30752,30758, 30764,30770,30776,30782,30788,30794,30800,30806,30812,30818,30824,30830, 30836,30842,30848,30854,30860,30866,30871,30877,30883,30889,30895,30901, 30907,30912,30918,30924,30930,30936,30941,30947,30953,30959,30964,30970, 30976,30981,30987,30993,30999,31004,31010,31016,31021,31027,31032,31038, 31044,31049,31055,31061,31066,31072,31077,31083,31088,31094,31099,31105, 31110,31116,31121,31127,31132,31138,31143,31149,31154,31160,31165,31171, 31176,31181,31187,31192,31197,31203,31208,31214,31219,31224,31230,31235, 31240,31245,31251,31256,31261,31267,31272,31277,31282,31287,31293,31298, 31303,31308,31313,31319,31324,31329,31334,31339,31344,31350,31355,31360, 31365,31370,31375,31380,31385,31390,31395,31400,31405,31410,31415,31420, 31425,31430,31435,31440,31445,31450,31455,31460,31465,31470,31475,31480, 31484,31489,31494,31499,31504,31509,31514,31518,31523,31528,31533,31538, 31542,31547,31552,31557,31561,31566,31571,31575,31580,31585,31590,31594, 31599,31604,31608,31613,31617,31622,31627,31631,31636,31640,31645,31650, 31654,31659,31663,31668,31672,31677,31681,31686,31690,31695,31699,31704, 31708,31713,31717,31722,31726,31730,31735,31739,31744,31748,31752,31757, 31761,31765,31770,31774,31778,31783,31787,31791,31795,31800,31804,31808, 31812,31817,31821,31825,31829,31833,31838,31842,31846,31850,31854,31858, 31862,31867,31871,31875,31879,31883,31887,31891,31895,31899,31903,31907, 31911,31915,31919,31923,31927,31931,31935,31939,31943,31947,31951,31955, 31959,31963,31967,31970,31974,31978,31982,31986,31990,31993,31997,32001, 32005,32009,32012,32016,32020,32024,32027,32031,32035,32039,32042,32046, 32050,32053,32057,32061,32064,32068,32072,32075,32079,32082,32086,32090, 32093,32097,32100,32104,32107,32111,32114,32118,32122,32125,32128,32132, 32135,32139,32142,32146,32149,32153,32156,32159,32163,32166,32170,32173, 32176,32180,32183,32186,32190,32193,32196,32199,32203,32206,32209,32213, 32216,32219,32222,32225,32229,32232,32235,32238,32241,32245,32248,32251, 32254,32257,32260,32263,32266,32269,32273,32276,32279,32282,32285,32288, 32291,32294,32297,32300,32303,32306,32309,32312,32315,32317,32320,32323, 32326,32329,32332,32335,32338,32341,32343,32346,32349,32352,32355,32358, 32360,32363,32366,32369,32371,32374,32377,32380,32382,32385,32388,32390, 32393,32396,32398,32401,32404,32406,32409,32412,32414,32417,32419,32422, 32425,32427,32430,32432,32435,32437,32440,32442,32445,32447,32450,32452, 32455,32457,32459,32462,32464,32467,32469,32472,32474,32476,32479,32481, 32483,32486,32488,32490,32493,32495,32497,32499,32502,32504,32506,32508, 32511,32513,32515,32517,32519,32522,32524,32526,32528,32530,32532,32534, 32537,32539,32541,32543,32545,32547,32549,32551,32553,32555,32557,32559, 32561,32563,32565,32567,32569,32571,32573,32575,32577,32579,32581,32583, 32584,32586,32588,32590,32592,32594,32596,32597,32599,32601,32603,32605, 32606,32608,32610,32612,32613,32615,32617,32618,32620,32622,32623,32625, 32627,32628,32630,32632,32633,32635,32636,32638,32640,32641,32643,32644, 32646,32647,32649,32650,32652,32653,32655,32656,32658,32659,32661,32662, 32664,32665,32666,32668,32669,32671,32672,32673,32675,32676,32677,32679, 32680,32681,32683,32684,32685,32686,32688,32689,32690,32691,32693,32694, 32695,32696,32697,32698,32700,32701,32702,32703,32704,32705,32706,32707, 32708,32710,32711,32712,32713,32714,32715,32716,32717,32718,32719,32720, 32721,32722,32723,32724,32724,32725,32726,32727,32728,32729,32730,32731, 32732,32732,32733,32734,32735,32736,32736,32737,32738,32739,32739,32740, 32741,32742,32742,32743,32744,32744,32745,32746,32746,32747,32748,32748, 32749,32750,32750,32751,32751,32752,32752,32753,32754,32754,32755,32755, 32756,32756,32757,32757,32758,32758,32758,32759,32759,32760,32760,32761, 32761,32761,32762,32762,32762,32763,32763,32763,32764,32764,32764,32765, 32765,32765,32765,32766,32766,32766,32766,32766,32767,32767,32767,32767, 32767,32767,32768,32768,32768,32768,32768,32768,32768,32768,32768,32768, 32768,32768,32768,32768,32768,32768,32768,32768,32768,32768,32768,32768, 32768,32768,32768,32768,32768,32768,32767,32767,32767,32767,32767,32767, 32766,32766,32766,32766,32766,32765,32765,32765,32765,32764,32764,32764, 32763,32763,32763,32762,32762,32762,32761,32761,32761,32760,32760,32759, 32759,32759,32758,32758,32757,32757,32756,32756,32755,32755,32754,32754, 32753,32753,32752,32751,32751,32750,32750,32749,32748,32748,32747,32747, 32746,32745,32745,32744,32743,32742,32742,32741,32740,32740,32739,32738, 32737,32737,32736,32735,32734,32733,32732,32732,32731,32730,32729,32728, 32727,32726,32725,32725,32724,32723,32722,32721,32720,32719,32718,32717, 32716,32715,32714,32713,32712,32711,32710,32709,32708,32706,32705,32704, 32703,32702,32701,32700,32699,32697,32696,32695,32694,32693,32691,32690, 32689,32688,32686,32685,32684,32683,32681,32680,32679,32677,32676,32675, 32673,32672,32671,32669,32668,32667,32665,32664,32662,32661,32659,32658, 32657,32655,32654,32652,32651,32649,32648,32646,32645,32643,32641,32640, 32638,32637,32635,32633,32632,32630,32629,32627,32625,32624,32622,32620, 32619,32617,32615,32613,32612,32610,32608,32606,32605,32603,32601,32599, 32598,32596,32594,32592,32590,32588,32587,32585,32583,32581,32579,32577, 32575,32573,32571,32569,32567,32565,32563,32561,32559,32557,32555,32553, 32551,32549,32547,32545,32543,32541,32539,32537,32535,32533,32531,32528, 32526,32524,32522,32520,32518,32515,32513,32511,32509,32506,32504,32502, 32500,32497,32495,32493,32491,32488,32486,32484,32481,32479,32477,32474, 32472,32469,32467,32465,32462,32460,32457,32455,32452,32450,32448,32445, 32443,32440,32438,32435,32433,32430,32427,32425,32422,32420,32417,32415, 32412,32409,32407,32404,32401,32399,32396,32393,32391,32388,32385,32383, 32380,32377,32375,32372,32369,32366,32363,32361,32358,32355,32352,32349, 32347,32344,32341,32338,32335,32332,32329,32327,32324,32321,32318,32315, 32312,32309,32306,32303,32300,32297,32294,32291,32288,32285,32282,32279, 32276,32273,32270,32267,32264,32261,32257,32254,32251,32248,32245,32242, 32239,32235,32232,32229,32226,32223,32219,32216,32213,32210,32206,32203, 32200,32197,32193,32190,32187,32183,32180,32177,32173,32170,32167,32163, 32160,32156,32153,32150,32146,32143,32139,32136,32132,32129,32125,32122, 32118,32115,32111,32108,32104,32101,32097,32094,32090,32087,32083,32079, 32076,32072,32068,32065,32061,32058,32054,32050,32047,32043,32039,32035, 32032,32028,32024,32020,32017,32013,32009,32005,32002,31998,31994,31990, 31986,31982,31979,31975,31971,31967,31963,31959,31955,31951,31947,31944, 31940,31936,31932,31928,31924,31920,31916,31912,31908,31904,31900,31896, 31892,31888,31883,31879,31875,31871,31867,31863,31859,31855,31851,31846, 31842,31838,31834,31830,31826,31821,31817,31813,31809,31804,31800,31796, 31792,31787,31783,31779,31774,31770,31766,31761,31757,31753,31748,31744, 31740,31735,31731,31726,31722,31718,31713,31709,31704,31700,31695,31691, 31686,31682,31677,31673,31668,31664,31659,31655,31650,31646,31641,31636, 31632,31627,31623,31618,31613,31609,31604,31599,31595,31590,31585,31581, 31576,31571,31567,31562,31557,31552,31548,31543,31538,31533,31529,31524, 31519,31514,31509,31504,31500,31495,31490,31485,31480,31475,31470,31465, 31461,31456,31451,31446,31441,31436,31431,31426,31421,31416,31411,31406, 31401,31396,31391,31386,31381,31376,31371,31365,31360,31355,31350,31345, 31340,31335,31330,31324,31319,31314,31309,31304,31299,31293,31288,31283, 31278,31272,31267,31262,31257,31251,31246,31241,31236,31230,31225,31220, 31214,31209,31204,31198,31193,31187,31182,31177,31171,31166,31160,31155, 31149,31144,31139,31133,31128,31122,31117,31111,31106,31100,31095,31089, 31083,31078,31072,31067,31061,31056,31050,31044,31039,31033,31028,31022, 31016,31011,31005,30999,30994,30988,30982,30976,30971,30965,30959,30954, 30948,30942,30936,30930,30925,30919,30913,30907,30901,30896,30890,30884, 30878,30872,30866,30860,30855,30849,30843,30837,30831,30825,30819,30813, 30807,30801,30795,30789,30783,30777,30771,30765,30759,30753,30747,30741, 30735,30729,30723,30717,30711,30705,30698,30692,30686,30680,30674,30668, 30662,30655,30649,30643,30637,30631,30624,30618,30612,30606,30600,30593, 30587,30581,30575,30568,30562,30556,30549,30543,30537,30530,30524,30518, 30511,30505,30499,30492,30486,30479,30473,30467,30460,30454,30447,30441, 30434,30428,30421,30415,30408,30402,30395,30389,30382,30376,30369,30363, 30356,30350,30343,30336,30330,30323,30317,30310,30303,30297,30290,30283, 30277,30270,30263,30257,30250,30243,30237,30230,30223,30216,30210,30203, 30196,30189,30183,30176,30169,30162,30156,30149,30142,30135,30128,30121, 30115,30108,30101,30094,30087,30080,30073,30066,30059,30053,30046,30039, 30032,30025,30018,30011,30004,29997,29990,29983,29976,29969,29962,29955, 29948,29941,29934,29926,29919,29912,29905,29898,29891,29884,29877,29870, 29862,29855,29848,29841,29834,29827,29819,29812,29805,29798,29791,29783, 29776,29769,29762,29754,29747,29740,29733,29725,29718,29711,29703,29696, 29689,29681,29674,29667,29659,29652,29645,29637,29630,29622,29615,29608, 29600,29593,29585,29578,29570,29563,29555,29548,29541,29533,29526,29518, 29510,29503,29495,29488,29480,29473,29465,29458,29450,29442,29435,29427, 29420,29412,29404,29397,29389,29382,29374,29366,29359,29351,29343,29335, 29328,29320,29312,29305,29297,29289,29281,29274,29266,29258,29250,29243, 29235,29227,29219,29211,29204,29196,29188,29180,29172,29164,29156,29149, 29141,29133,29125,29117,29109,29101,29093,29085,29077,29069,29061,29053, 29046,29038,29030,29022,29014,29006,28998,28990,28981,28973,28965,28957, 28949,28941,28933,28925,28917,28909,28901,28893,28885,28876,28868,28860, 28852,28844,28836,28827,28819,28811,28803,28795,28787,28778,28770,28762, 28754,28745,28737,28729,28721,28712,28704,28696,28687,28679,28671,28663, 28654,28646,28638,28629,28621,28612,28604,28596,28587,28579,28571,28562, 28554,28545,28537,28528,28520,28512,28503,28495,28486,28478,28469,28461, 28452,28444,28435,28427,28418,28410,28401,28393,28384,28375,28367,28358, 28350,28341,28333,28324,28315,28307,28298,28289,28281,28272,28264,28255, 28246,28238,28229,28220,28212,28203,28194,28185,28177,28168,28159,28150, 28142,28133,28124,28115,28107,28098,28089,28080,28071,28063,28054,28045, 28036,28027,28019,28010,28001,27992,27983,27974,27964,27955,27946,27937, 27929,27920,27911,27902,27893,27884,27875,27866,27857,27848,27839,27830, 27821,27812,27803,27794,27785,27776,27767,27758,27749,27740,27731,27722, 27713,27704,27694,27685,27676,27667,27658,27649,27640,27631,27621,27612, 27603,27594,27585,27576,27567,27557,27548,27539,27530,27520,27511,27502, 27493,27484,27474,27465,27456,27447,27437,27428,27419,27409,27400,27391, 27382,27372,27363,27354,27344,27335,27325,27316,27307,27297,27288,27279, 27269,27260,27250,27241,27232,27222,27213,27203,27194,27184,27175,27166, 27156,27147,27137,27128,27118,27109,27099,27090,27080,27071,27061,27052, 27042,27032,27023,27013,27004,26994,26985,26975,26965,26956,26946,26937, 26927,26917,26908,26898,26888,26879,26869,26860,26850,26840,26831,26821, 26811,26801,26792,26782,26772,26763,26753,26743,26733,26724,26714,26704, 26694,26685,26675,26665,26655,26645,26636,26626,26616,26606,26596,26587, 26577,26567,26557,26547,26537,26527,26518,26508,26498,26488,26478,26468, 26458,26448,26438,26429,26419,26409,26399,26389,26379,26369,26359,26349, 26339,26329,26319,26309,26299,26289,26279,26269,26259,26249,26239,26229, 26219,26209,26199,26189,26178,26168,26158,26148,26138,26128,26118,26108, 26098,26088,26077,26067,26057,26047,26037,26027,26017,26006,25996,25986, 25976,25966,25955,25945,25935,25925,25915,25904,25894,25884,25874,25863, 25853,25843,25833,25822,25812,25802,25792,25781,25771,25761,25750,25740, 25730,25719,25709,25699,25688,25678,25668,25657,25647,25637,25626,25616, 25605,25595,25585,25574,25564,25553,25543,25533,25522,25512,25501,25491, 25480,25470,25460,25449,25439,25428,25418,25407,25397,25386,25376,25365, 25355,25344,25334,25323,25313,25302,25291,25281,25270,25260,25249,25239, 25228,25217,25207,25196,25186,25175,25164,25154,25143,25133,25122,25111, 25101,25090,25079,25069,25058,25047,25037,25026,25015,25005,24994,24983, 24973,24962,24951,24941,24930,24919,24908,24898,24887,24876,24865,24855, 24844,24833,24822,24812,24801,24790,24779,24768,24758,24747,24736,24725, 24714,24704,24693,24682,24671,24660,24649,24639,24628,24617,24606,24595, 24584,24573,24562,24552,24541,24530,24519,24508,24497,24486,24475,24464, 24453,24442,24431,24420,24410,24399,24388,24377,24366,24355,24344,24333, 24322,24311,24300,24289,24278,24267,24256,24245,24234,24223,24212,24201, 24189,24178,24167,24156,24145,24134,24123,24112,24101,24090,24079,24068, 24057,24045,24034,24023,24012,24001,23990,23979,23968,23956,23945,23934, 23923,23912,23901,23890,23878,23867,23856,23845,23834,23822,23811,23800, 23789,23778,23766,23755,23744,23733,23721,23710,23699,23688,23676,23665, 23654,23643,23631,23620,23609,23598,23586,23575,23564,23552,23541,23530, 23519,23507,23496,23485,23473,23462,23451,23439,23428,23417,23405,23394, 23382,23371,23360,23348,23337,23326,23314,23303,23291,23280,23269,23257, 23246,23234,23223,23212,23200,23189,23177,23166,23154,23143,23132,23120, 23109,23097,23086,23074,23063,23051,23040,23028,23017,23005,22994,22982, 22971,22959,22948,22936,22925,22913,22902,22890,22879,22867,22856,22844, 22832,22821,22809,22798,22786,22775,22763,22751,22740,22728,22717,22705, 22694,22682,22670,22659,22647,22636,22624,22612,22601,22589,22577,22566, 22554,22542,22531,22519,22508,22496,22484,22473,22461,22449,22438,22426, 22414,22402,22391,22379,22367,22356,22344,22332,22321,22309,22297,22285, 22274,22262,22250,22238,22227,22215,22203,22192,22180,22168,22156,22144, 22133,22121,22109,22097,22086,22074,22062,22050,22038,22027,22015,22003, 21991,21979,21968,21956,21944,21932,21920,21909,21897,21885,21873,21861, 21849,21837,21826,21814,21802,21790,21778,21766,21754,21743,21731,21719, 21707,21695,21683,21671,21659,21647,21636,21624,21612,21600,21588,21576, 21564,21552,21540,21528,21516,21504,21493,21481,21469,21457,21445,21433, 21421,21409,21397,21385,21373,21361,21349,21337,21325,21313,21301,21289, 21277,21265,21253,21241,21229,21217,21205,21193,21181,21169,21157,21145, 21133,21121,21109,21097,21085,21073,21061,21049,21037,21025,21013,21001, 20988,20976,20964,20952,20940,20928,20916,20904,20892,20880,20868,20856, 20844,20831,20819,20807,20795,20783,20771,20759,20747,20735,20723,20710, 20698,20686,20674,20662,20650,20638,20625,20613,20601,20589,20577,20565, 20553,20540,20528,20516,20504,20492,20480,20467,20455,20443,20431,20419, 20407,20394,20382,20370,20358,20346,20333,20321,20309,20297,20285,20272, 20260,20248,20236,20224,20211,20199,20187,20175,20163,20150,20138,20126, 20114,20101,20089,20077,20065,20052,20040,20028,20016,20003,19991,19979, 19967,19954,19942,19930,19918,19905,19893,19881,19868,19856,19844,19832, 19819,19807,19795,19782,19770,19758,19746,19733,19721,19709,19696,19684, 19672,19659,19647,19635,19622,19610,19598,19585,19573,19561,19549,19536, 19524,19512,19499,19487,19474,19462,19450,19437,19425,19413,19400,19388, 19376,19363,19351,19339,19326,19314,19302,19289,19277,19264,19252,19240, 19227,19215,19203,19190,19178,19165,19153,19141,19128,19116,19103,19091, 19079,19066,19054,19041,19029,19017,19004,18992,18979,18967,18955,18942, 18930,18917,18905,18893,18880,18868,18855,18843,18830,18818,18806,18793, 18781,18768,18756,18743,18731,18719,18706,18694,18681,18669,18656,18644, 18631,18619,18607,18594,18582,18569,18557,18544,18532,18519,18507,18494, 18482,18470,18457,18445,18432,18420,18407,18395,18382,18370,18357,18345, 18332,18320,18307,18295,18282,18270,18257,18245,18233,18220,18208,18195, 18183,18170,18158,18145,18133,18120,18108,18095,18083,18070,18058,18045, 18033,18020,18008,17995,17983,17970,17958,17945,17933,17920,17908,17895, 17883,17870,17857,17845,17832,17820,17807,17795,17782,17770,17757,17745, 17732,17720,17707,17695,17682,17670,17657,17645,17632,17620,17607,17594, 17582,17569,17557,17544,17532,17519,17507,17494,17482,17469,17457,17444, 17432,17419,17406,17394,17381,17369,17356,17344,17331,17319,17306,17294, 17281,17268,17256,17243,17231,17218,17206,17193,17181,17168,17155,17143, 17130,17118,17105,17093,17080,17068,17055,17042,17030,17017,17005,16992, 16980,16967,16955,16942,16929,16917,16904,16892,16879,16867,16854,16842, 16829,16816,16804,16791,16779,16766,16754,16741,16728,16716,16703,16691, 16678,16666,16653,16641,16628,16615,16603,16590,16578,16565,16553,16540, 16527,16515,16502,16490,16477,16465,16452,16439,16427,16414,16402,16389, 16375,16363,16350,16337,16325,16312,16300,16287,16275,16262,16249,16237, 16224,16212,16199,16187,16174,16161,16149,16136,16124,16111,16099,16086, 16074,16061,16048,16036,16023,16011,15998,15986,15973,15960,15948,15935, 15923,15910,15898,15885,15873,15860,15847,15835,15822,15810,15797,15785, 15772,15759,15747,15734,15722,15709,15697,15684,15672,15659,15646,15634, 15621,15609,15596,15584,15571,15559,15546,15534,15521,15508,15496,15483, 15471,15458,15446,15433,15421,15408,15395,15383,15370,15358,15345,15333, 15320,15308,15295,15283,15270,15258,15245,15232,15220,15207,15195,15182, 15170,15157,15145,15132,15120,15107,15095,15082,15070,15057,15045,15032, 15019,15007,14994,14982,14969,14957,14944,14932,14919,14907,14894,14882, 14869,14857,14844,14832,14819,14807,14794,14782,14769,14757,14744,14732, 14719,14707,14694,14682,14669,14657,14644,14632,14619,14607,14594,14582, 14569,14557,14544,14532,14519,14507,14494,14482,14469,14457,14444,14432, 14419,14407,14395,14382,14370,14357,14345,14332,14320,14307,14295,14282, 14270,14257,14245,14232,14220,14208,14195,14183,14170,14158,14145,14133, 14120,14108,14096,14083,14071,14058,14046,14033,14021,14008,13996,13984, 13971,13959,13946,13934,13921,13909,13897,13884,13872,13859,13847,13835, 13822,13810,13797,13785,13772,13760,13748,13735,13723,13710,13698,13686, 13673,13661,13648,13636,13624,13611,13599,13587,13574,13562,13549,13537, 13525,13512,13500,13488,13475,13463,13450,13438,13426,13413,13401,13389, 13376,13364,13352,13339,13327,13315,13302,13290,13278,13265,13253,13241, 13228,13216,13204,13191,13179,13167,13154,13142,13130,13117,13105,13093, 13080,13068,13056,13043,13031,13019,13007,12994,12982,12970,12957,12945, 12933,12921,12908,12896,12884,12871,12859,12847,12835,12822,12810,12798, 12786,12773,12761,12749,12737,12724,12712,12700,12688,12675,12663,12651, 12639,12626,12614,12602,12590,12577,12565,12553,12541,12529,12516,12504, 12492,12480,12468,12455,12443,12431,12419,12407,12394,12382,12370,12358, 12346,12333,12321,12309,12297,12285,12273,12260,12248,12236,12224,12212, 12200,12188,12175,12163,12151,12139,12127,12115,12103,12090,12078,12066, 12054,12042,12030,12018,12006,11993,11981,11969,11957,11945,11933,11921, 11909,11897,11885,11873,11860,11848,11836,11824,11812,11800,11788,11776, 11764,11752,11740,11728,11716,11704,11692,11680,11668,11656,11644,11631, 11619,11607,11595,11583,11571,11559,11547,11535,11523,11511,11499,11487, 11475,11463,11451,11439,11427,11415,11404,11392,11380,11368,11356,11344, 11332,11320,11308,11296,11284,11272,11260,11248,11236,11224,11212,11200, 11188,11177,11165,11153,11141,11129,11117,11105,11093,11081,11069,11058, 11046,11034,11022,11010,10998,10986,10974,10963,10951,10939,10927,10915, 10903,10892,10880,10868,10856,10844,10832,10821,10809,10797,10785,10773, 10761,10750,10738,10726,10714,10703,10691,10679,10667,10655,10644,10632, 10620,10608,10597,10585,10573,10561,10550,10538,10526,10514,10503,10491, 10479,10467,10456,10444,10432,10421,10409,10397,10386,10374,10362,10350, 10339,10327,10315,10304,10292,10280,10269,10257,10245,10234,10222,10211, 10199,10187,10176,10164,10152,10141,10129,10118,10106,10094,10083,10071, 10060,10048,10036,10025,10013,10002,9990,9978,9967,9955,9944,9932, 9921,9909,9898,9886,9875,9863,9851,9840,9828,9817,9805,9794, 9782,9771,9759,9748,9736,9725,9713,9702,9691,9679,9668,9656, 9645,9633,9622,9610,9599,9587,9576,9565,9553,9542,9530,9519, 9507,9496,9485,9473,9462,9451,9439,9428,9416,9405,9394,9382, 9371,9360,9348,9337,9326,9314,9303,9292,9280,9269,9258,9246, 9235,9224,9212,9201,9190,9178,9167,9156,9145,9133,9122,9111, 9100,9088,9077,9066,9055,9043,9032,9021,9010,8998,8987,8976, 8965,8954,8942,8931,8920,8909,8898,8886,8875,8864,8853,8842, 8831,8820,8808,8797,8786,8775,8764,8753,8742,8730,8719,8708, 8697,8686,8675,8664,8653,8642,8631,8620,8609,8597,8586,8575, 8564,8553,8542,8531,8520,8509,8498,8487,8476,8465,8454,8443, 8432,8421,8410,8399,8388,8377,8366,8355,8344,8333,8323,8312, 8301,8290,8279,8268,8257,8246,8235,8224,8213,8202,8192,8181, 8170,8159,8148,8137,8126,8116,8105,8094,8083,8072,8061,8051, 8040,8029,8018,8007,7996,7986,7975,7964,7953,7943,7932,7921, 7910,7900,7889,7878,7867,7857,7846,7835,7824,7814,7803,7792, 7782,7771,7760,7750,7739,7728,7718,7707,7696,7686,7675,7664, 7654,7643,7632,7622,7611,7601,7590,7579,7569,7558,7548,7537, 7526,7516,7505,7495,7484,7474,7463,7453,7442,7431,7421,7410, 7400,7389,7379,7368,7358,7347,7337,7326,7316,7306,7295,7285, 7274,7264,7253,7243,7232,7222,7212,7201,7191,7180,7170,7160, 7149,7139,7129,7118,7108,7097,7087,7077,7066,7056,7046,7035, 7025,7015,7004,6994,6984,6974,6963,6953,6943,6932,6922,6912, 6902,6891,6881,6871,6861,6851,6840,6830,6820,6810,6800,6789, 6779,6769,6759,6749,6738,6728,6718,6708,6698,6688,6678,6668, 6657,6647,6637,6627,6617,6607,6597,6587,6577,6567,6557,6547, 6536,6526,6516,6506,6496,6486,6476,6466,6456,6446,6436,6426, 6416,6406,6396,6386,6377,6367,6357,6347,6337,6327,6317,6307, 6297,6287,6277,6267,6258,6248,6238,6228,6218,6208,6198,6189, 6179,6169,6159,6149,6139,6130,6120,6110,6100,6090,6081,6071, 6061,6051,6042,6032,6022,6012,6003,5993,5983,5974,5964,5954, 5945,5935,5925,5916,5906,5896,5887,5877,5867,5858,5848,5838, 5829,5819,5810,5800,5790,5781,5771,5762,5752,5743,5733,5723, 5714,5704,5695,5685,5676,5666,5657,5647,5638,5628,5619,5609, 5600,5590,5581,5572,5562,5553,5543,5534,5524,5515,5506,5496, 5487,5477,5468,5459,5449,5440,5431,5421,5412,5403,5393,5384, 5375,5365,5356,5347,5338,5328,5319,5310,5300,5291,5282,5273, 5263,5254,5245,5236,5227,5217,5208,5199,5190,5181,5172,5162, 5153,5144,5135,5126,5117,5108,5098,5089,5080,5071,5062,5053, 5044,5035,5026,5017,5008,4999,4990,4981,4972,4963,4954,4945, 4936,4927,4918,4909,4900,4891,4882,4873,4864,4855,4846,4837, 4828,4819,4810,4801,4791,4783,4774,4765,4756,4747,4738,4729, 4721,4712,4703,4694,4685,4677,4668,4659,4650,4642,4633,4624, 4615,4607,4598,4589,4580,4572,4563,4554,4546,4537,4528,4520, 4511,4502,4494,4485,4476,4468,4459,4450,4442,4433,4425,4416, 4407,4399,4390,4382,4373,4365,4356,4348,4339,4331,4322,4314, 4305,4297,4288,4280,4271,4263,4254,4246,4237,4229,4221,4212, 4204,4195,4187,4179,4170,4162,4153,4145,4137,4128,4120,4112, 4103,4095,4087,4078,4070,4062,4054,4045,4037,4029,4021,4012, 4004,3996,3988,3979,3971,3963,3955,3947,3938,3930,3922,3914, 3906,3898,3890,3881,3873,3865,3857,3849,3841,3833,3825,3817, 3809,3801,3793,3785,3776,3768,3760,3752,3744,3736,3728,3720, 3713,3705,3697,3689,3681,3673,3665,3657,3649,3641,3633,3625, 3617,3610,3602,3594,3586,3578,3570,3563,3555,3547,3539,3531, 3524,3516,3508,3500,3492,3485,3477,3469,3461,3454,3446,3438, 3431,3423,3415,3408,3400,3392,3385,3377,3369,3362,3354,3346, 3339,3331,3324,3316,3309,3301,3293,3286,3278,3271,3263,3256, 3248,3241,3233,3226,3218,3211,3203,3196,3188,3181,3173,3166, 3159,3151,3144,3136,3129,3122,3114,3107,3100,3092,3085,3078, 3070,3063,3056,3048,3041,3034,3026,3019,3012,3005,2997,2990, 2983,2976,2968,2961,2954,2947,2940,2932,2925,2918,2911,2904, 2897,2890,2882,2875,2868,2861,2854,2847,2840,2833,2826,2819, 2812,2805,2798,2791,2784,2777,2770,2763,2756,2749,2742,2735, 2728,2721,2714,2707,2700,2693,2686,2679,2672,2666,2659,2652, 2645,2638,2631,2625,2618,2611,2604,2597,2591,2584,2577,2570, 2563,2557,2550,2543,2537,2530,2523,2516,2510,2503,2496,2490, 2483,2476,2470,2463,2457,2450,2443,2437,2430,2424,2417,2410, 2404,2397,2391,2384,2378,2371,2365,2358,2352,2345,2339,2332, 2326,2319,2313,2307,2300,2294,2287,2281,2274,2268,2262,2255, 2249,2243,2236,2230,2224,2217,2211,2205,2198,2192,2186,2180, 2173,2167,2161,2155,2148,2142,2136,2130,2124,2117,2111,2105, 2099,2093,2087,2080,2074,2068,2062,2056,2050,2044,2038,2032, 2026,2020,2014,2008,2002,1996,1990,1984,1978,1972,1966,1960, 1954,1948,1942,1936,1930,1924,1918,1912,1906,1900,1895,1889, 1883,1877,1871,1865,1860,1854,1848,1842,1836,1831,1825,1819, 1813,1808,1802,1796,1790,1785,1779,1773,1768,1762,1756,1751, 1745,1739,1734,1728,1722,1717,1711,1706,1700,1695,1689,1683, 1678,1672,1667,1661,1656,1650,1645,1639,1634,1628,1623,1617, 1612,1607,1601,1596,1590,1585,1580,1574,1569,1563,1558,1553, 1547,1542,1537,1531,1526,1521,1516,1510,1505,1500,1495,1489, 1484,1479,1474,1468,1463,1458,1453,1448,1443,1437,1432,1427, 1422,1417,1412,1407,1402,1397,1391,1386,1381,1376,1371,1366, 1361,1356,1351,1346,1341,1336,1331,1326,1321,1316,1312,1307, 1302,1297,1292,1287,1282,1277,1272,1268,1263,1258,1253,1248, 1243,1239,1234,1229,1224,1220,1215,1210,1205,1201,1196,1191, 1186,1182,1177,1172,1168,1163,1158,1154,1149,1145,1140,1135, 1131,1126,1122,1117,1113,1108,1103,1099,1094,1090,1085,1081, 1076,1072,1067,1063,1059,1054,1050,1045,1041,1036,1032,1028, 1023,1019,1015,1010,1006,1002,997,993,989,984,980,976, 972,967,963,959,955,950,946,942,938,934,929,925, 921,917,913,909,904,900,896,892,888,884,880,876, 872,868,864,860,856,852,848,844,840,836,832,828, 824,820,816,812,808,804,801,797,793,789,785,781, 777,774,770,766,762,758,755,751,747,743,740,736, 732,729,725,721,717,714,710,706,703,699,696,692, 688,685,681,678,674,670,667,663,660,656,653,649, 646,642,639,635,632,628,625,622,618,615,611,608, 605,601,598,594,591,588,584,581,578,574,571,568, 565,561,558,555,552,548,545,542,539,536,532,529, 526,523,520,517,514,510,507,504,501,498,495,492, 489,486,483,480,477,474,471,468,465,462,459,456, 453,450,447,444,441,438,436,433,430,427,424,421, 418,416,413,410,407,404,402,399,396,393,391,388, 385,383,380,377,375,372,369,367,364,361,359,356, 353,351,348,346,343,341,338,336,333,331,328,326, 323,321,318,316,313,311,308,306,303,301,299,296, 294,292,289,287,285,282,280,278,275,273,271,268, 266,264,262,259,257,255,253,251,248,246,244,242, 240,238,236,233,231,229,227,225,223,221,219,217, 215,213,211,209,207,205,203,201,199,197,195,193, 191,189,187,186,184,182,180,178,176,174,173,171, 169,167,165,164,162,160,158,157,155,153,151,150, 148,146,145,143,141,140,138,137,135,133,132,130, 129,127,125,124,122,121,119,118,116,115,113,112, 110,109,108,106,105,103,102,101,99,98,96,95, 94,92,91,90,88,87,86,85,83,82,81,80, 78,77,76,75,74,72,71,70,69,68,67,65, 64,63,62,61,60,59,58,57,56,55,54,53, 52,51,50,49,48,47,46,45,44,43,42,41, 41,40,39,38,37,36,35,35,34,33,32,31, 31,30,29,28,28,27,26,26,25,24,24,23, 22,22,21,20,20,19,19,18,17,17,16,16, 15,15,14,14,13,13,12,12,11,11,10,10, 9,9,9,8,8,8,7,7,6,6,6,5, 5,5,5,4,4,4,4,3,3,3,3,2, 2,2,2,2,2,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1}; const int16_t hann_4096[4096] = { 1,1,1,1,1,1,1,1,2,2,2,3, 3,4,4,5,5,6,7,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21,23,24, 25,27,28,30,31,33,34,36,38,40,41,43, 45,47,49,51,53,55,57,59,61,63,65,68, 70,72,75,77,79,82,84,87,90,92,95,98, 100,103,106,109,112,115,118,121,124,127,130,133, 136,140,143,146,150,153,156,160,163,167,171,174, 178,182,185,189,193,197,201,205,209,213,217,221, 225,229,233,237,242,246,250,255,259,264,268,273, 277,282,287,291,296,301,306,310,315,320,325,330, 335,340,345,351,356,361,366,372,377,382,388,393, 399,404,410,415,421,427,432,438,444,450,456,461, 467,473,479,485,492,498,504,510,516,523,529,535, 542,548,554,561,567,574,581,587,594,601,607,614, 621,628,635,642,649,656,663,670,677,684,691,699, 706,713,721,728,735,743,750,758,766,773,781,788, 796,804,812,820,827,835,843,851,859,867,875,884, 892,900,908,916,925,933,941,950,958,967,975,984, 992,1001,1010,1018,1027,1036,1045,1054,1062,1071,1080,1089, 1098,1107,1117,1126,1135,1144,1153,1163,1172,1181,1191,1200, 1209,1219,1228,1238,1248,1258,1268,1277,1287,1297,1307,1316, 1326,1336,1346,1356,1366,1376,1386,1397,1407,1417,1427,1437, 1448,1458,1468,1479,1489,1500,1510,1521,1531,1542,1553,1563, 1574,1585,1596,1607,1617,1628,1639,1650,1661,1672,1683,1695, 1706,1717,1728,1739,1751,1762,1773,1785,1796,1808,1819,1831, 1842,1854,1865,1877,1889,1900,1912,1924,1936,1948,1960,1972, 1984,1996,2008,2020,2032,2044,2056,2068,2080,2093,2105,2117, 2130,2142,2155,2167,2180,2192,2205,2217,2230,2243,2255,2268, 2281,2294,2307,2319,2332,2345,2358,2371,2384,2397,2410,2424, 2437,2450,2463,2476,2490,2503,2516,2530,2543,2557,2570,2584, 2597,2611,2625,2638,2652,2666,2679,2693,2707,2721,2735,2749, 2763,2777,2791,2805,2819,2833,2847,2861,2875,2890,2904,2918, 2932,2947,2961,2976,2990,3005,3019,3034,3048,3063,3078,3092, 3107,3122,3136,3151,3166,3181,3196,3211,3226,3241,3256,3271, 3286,3301,3316,3331,3346,3362,3377,3392,3408,3423,3438,3454, 3469,3485,3500,3516,3531,3547,3563,3578,3594,3610,3625,3641, 3657,3673,3689,3705,3720,3736,3752,3768,3785,3801,3817,3833, 3849,3865,3881,3898,3914,3930,3947,3963,3979,3996,4012,4029, 4045,4062,4078,4095,4112,4128,4145,4162,4179,4195,4212,4229, 4246,4263,4280,4297,4314,4331,4348,4365,4382,4399,4416,4433, 4450,4468,4485,4502,4520,4537,4554,4572,4589,4607,4624,4642, 4659,4677,4694,4712,4729,4747,4765,4783,4801,4819,4837,4855, 4873,4891,4909,4927,4945,4963,4981,4999,5017,5035,5053,5071, 5089,5108,5126,5144,5162,5181,5199,5217,5236,5254,5273,5291, 5310,5328,5347,5365,5384,5403,5421,5440,5459,5477,5496,5515, 5534,5553,5572,5590,5609,5628,5647,5666,5685,5704,5723,5743, 5762,5781,5800,5819,5838,5858,5877,5896,5916,5935,5954,5974, 5993,6012,6032,6051,6071,6090,6110,6130,6149,6169,6189,6208, 6228,6248,6267,6287,6307,6327,6347,6367,6386,6406,6426,6446, 6466,6486,6506,6526,6547,6567,6587,6607,6627,6647,6668,6688, 6708,6728,6749,6769,6789,6810,6830,6851,6871,6891,6912,6932, 6953,6974,6994,7015,7035,7056,7077,7097,7118,7139,7160,7180, 7201,7222,7243,7264,7285,7306,7326,7347,7368,7389,7410,7431, 7453,7474,7495,7516,7537,7558,7579,7601,7622,7643,7664,7686, 7707,7728,7750,7771,7792,7814,7835,7857,7878,7900,7921,7943, 7964,7986,8007,8029,8051,8072,8094,8116,8137,8159,8181,8202, 8224,8246,8268,8290,8312,8333,8355,8377,8399,8421,8443,8465, 8487,8509,8531,8553,8575,8597,8620,8642,8664,8686,8708,8730, 8753,8775,8797,8820,8842,8864,8886,8909,8931,8954,8976,8998, 9021,9043,9066,9088,9111,9133,9156,9178,9201,9224,9246,9269, 9292,9314,9337,9360,9382,9405,9428,9451,9473,9496,9519,9542, 9565,9587,9610,9633,9656,9679,9702,9725,9748,9771,9794,9817, 9840,9863,9886,9909,9932,9955,9978,10002,10025,10048,10071,10094, 10119,10142,10165,10189,10212,10235,10259,10282,10305,10329,10352,10375, 10399,10422,10446,10469,10492,10516,10539,10563,10586,10610,10633,10657, 10680,10704,10728,10751,10775,10798,10822,10846,10869,10893,10917,10940, 10964,10988,11012,11035,11059,11083,11107,11130,11154,11178,11202,11226, 11250,11273,11297,11321,11345,11369,11393,11417,11441,11465,11489,11513, 11537,11561,11585,11609,11633,11657,11681,11705,11729,11753,11778,11802, 11826,11850,11874,11898,11922,11947,11971,11995,12019,12043,12068,12092, 12116,12140,12165,12189,12213,12238,12262,12286,12311,12335,12359,12384, 12408,12432,12457,12481,12506,12530,12555,12579,12603,12628,12652,12677, 12701,12726,12750,12775,12799,12824,12848,12873,12898,12922,12947,12971, 12996,13020,13045,13070,13094,13119,13143,13168,13193,13217,13242,13267, 13291,13316,13341,13366,13390,13415,13440,13464,13489,13514,13539,13563, 13588,13613,13638,13662,13687,13712,13737,13762,13786,13811,13836,13861, 13886,13911,13935,13960,13985,14010,14035,14060,14085,14110,14134,14159, 14184,14209,14234,14259,14284,14309,14334,14359,14384,14409,14433,14458, 14483,14508,14533,14558,14583,14608,14633,14658,14683,14708,14733,14758, 14783,14808,14833,14858,14883,14908,14933,14958,14983,15009,15034,15059, 15084,15109,15134,15159,15184,15209,15234,15259,15284,15309,15334,15359, 15385,15410,15435,15460,15485,15510,15535,15560,15585,15610,15635,15661, 15686,15711,15736,15761,15786,15811,15836,15862,15887,15912,15937,15962, 15987,16012,16037,16063,16088,16113,16138,16163,16188,16213,16238,16264, 16289,16314,16339,16364,16391,16416,16441,16466,16491,16516,16542,16567, 16592,16617,16642,16667,16692,16717,16743,16768,16793,16818,16843,16868, 16893,16918,16944,16969,16994,17019,17044,17069,17094,17119,17144,17170, 17195,17220,17245,17270,17295,17320,17345,17370,17395,17421,17446,17471, 17496,17521,17546,17571,17596,17621,17646,17671,17696,17721,17746,17771, 17796,17822,17847,17872,17897,17922,17947,17972,17997,18022,18047,18072, 18097,18122,18147,18172,18197,18222,18247,18272,18297,18321,18346,18371, 18396,18421,18446,18471,18496,18521,18546,18571,18596,18621,18645,18670, 18695,18720,18745,18770,18795,18820,18844,18869,18894,18919,18944,18969, 18993,19018,19043,19068,19093,19117,19142,19167,19192,19216,19241,19266, 19291,19315,19340,19365,19390,19414,19439,19464,19488,19513,19538,19562, 19587,19612,19636,19661,19686,19710,19735,19759,19784,19809,19833,19858, 19882,19907,19931,19956,19980,20005,20029,20054,20078,20103,20127,20152, 20176,20201,20225,20250,20274,20298,20323,20347,20372,20396,20420,20445, 20469,20493,20518,20542,20566,20591,20615,20639,20663,20688,20712,20736, 20760,20785,20809,20833,20857,20881,20906,20930,20954,20978,21002,21026, 21050,21074,21098,21122,21147,21171,21195,21219,21243,21267,21291,21315, 21339,21363,21386,21410,21434,21458,21482,21506,21530,21554,21578,21601, 21625,21649,21673,21697,21720,21744,21768,21792,21815,21839,21863,21886, 21910,21934,21957,21981,22005,22028,22052,22075,22099,22122,22146,22169, 22193,22216,22240,22263,22287,22310,22334,22357,22381,22404,22427,22451, 22474,22497,22521,22544,22567,22590,22614,22637,22662,22685,22708,22731, 22754,22778,22801,22824,22847,22870,22893,22916,22939,22962,22985,23008, 23031,23054,23077,23100,23123,23146,23169,23192,23214,23237,23260,23283, 23306,23328,23351,23374,23397,23419,23442,23465,23487,23510,23533,23555, 23578,23600,23623,23646,23668,23691,23713,23735,23758,23780,23803,23825, 23848,23870,23892,23915,23937,23959,23982,24004,24026,24048,24070,24093, 24115,24137,24159,24181,24203,24225,24247,24269,24291,24313,24335,24357, 24379,24401,24423,24445,24467,24489,24511,24532,24554,24576,24598,24620, 24641,24663,24685,24706,24728,24750,24771,24793,24814,24836,24857,24879, 24900,24922,24943,24965,24986,25007,25029,25050,25071,25093,25114,25135, 25157,25178,25199,25220,25241,25262,25284,25305,25326,25347,25368,25389, 25410,25431,25452,25473,25493,25514,25535,25556,25577,25598,25618,25639, 25660,25681,25701,25722,25743,25763,25784,25804,25825,25845,25866,25886, 25907,25927,25948,25968,25989,26009,26029,26050,26070,26090,26110,26131, 26151,26171,26191,26211,26231,26251,26271,26291,26311,26331,26351,26371, 26391,26411,26431,26451,26471,26490,26510,26530,26550,26569,26589,26609, 26628,26648,26668,26687,26707,26726,26746,26765,26784,26804,26823,26843, 26862,26881,26901,26920,26939,26958,26977,26997,27016,27035,27054,27073, 27092,27111,27130,27149,27168,27187,27206,27225,27243,27262,27281,27300, 27318,27337,27356,27375,27393,27412,27430,27449,27467,27486,27504,27523, 27541,27560,27578,27596,27615,27633,27651,27669,27688,27706,27724,27742, 27760,27778,27796,27814,27832,27850,27868,27886,27904,27922,27940,27958, 27976,27994,28012,28030,28047,28065,28082,28100,28118,28135,28153,28170, 28188,28205,28222,28240,28257,28274,28292,28309,28326,28343,28360,28378, 28395,28412,28429,28446,28463,28480,28497,28514,28531,28547,28564,28581, 28598,28615,28631,28648,28665,28681,28698,28714,28731,28747,28764,28780, 28797,28813,28830,28846,28862,28878,28895,28911,28927,28943,28959,28975, 28992,29008,29024,29040,29055,29071,29087,29103,29119,29135,29151,29166, 29182,29198,29213,29229,29245,29260,29276,29291,29307,29322,29337,29353, 29368,29383,29399,29414,29429,29444,29460,29475,29490,29505,29520,29535, 29550,29565,29580,29595,29609,29624,29639,29654,29669,29683,29698,29713, 29727,29742,29756,29771,29785,29800,29814,29828,29843,29857,29871,29886, 29900,29914,29928,29942,29956,29971,29985,29999,30013,30026,30040,30054, 30068,30082,30096,30109,30123,30137,30150,30164,30178,30191,30205,30218, 30232,30245,30258,30272,30285,30298,30312,30325,30338,30351,30364,30377, 30390,30403,30416,30429,30442,30455,30468,30481,30494,30506,30519,30532, 30545,30557,30570,30582,30595,30607,30620,30632,30645,30657,30669,30682, 30694,30706,30718,30730,30743,30755,30767,30779,30791,30803,30815,30826, 30838,30850,30862,30874,30885,30897,30909,30920,30932,30943,30955,30966, 30978,30989,31001,31012,31023,31035,31046,31057,31068,31079,31090,31101, 31113,31124,31134,31145,31156,31167,31178,31189,31199,31210,31221,31232, 31242,31253,31263,31274,31284,31295,31305,31315,31326,31336,31346,31357, 31367,31377,31387,31397,31407,31417,31427,31437,31447,31457,31467,31476, 31486,31496,31506,31515,31526,31535,31545,31554,31564,31573,31583,31592, 31601,31611,31620,31629,31638,31647,31656,31666,31675,31684,31693,31702, 31710,31719,31728,31737,31746,31754,31763,31772,31780,31789,31797,31806, 31814,31823,31831,31840,31848,31856,31865,31873,31881,31889,31897,31905, 31913,31921,31929,31937,31945,31953,31961,31968,31976,31984,31992,31999, 32007,32014,32022,32029,32037,32044,32052,32059,32066,32073,32081,32088, 32095,32102,32109,32116,32123,32130,32137,32144,32151,32158,32164,32171, 32178,32185,32191,32198,32204,32211,32217,32224,32230,32237,32243,32249, 32255,32262,32268,32274,32280,32286,32292,32298,32304,32310,32316,32322, 32328,32333,32339,32345,32351,32356,32362,32367,32373,32378,32384,32389, 32394,32400,32405,32410,32416,32421,32426,32431,32436,32441,32446,32451, 32456,32461,32466,32470,32475,32480,32484,32489,32494,32498,32503,32507, 32512,32516,32521,32525,32529,32533,32538,32542,32546,32550,32554,32558, 32562,32566,32570,32574,32578,32582,32585,32589,32593,32596,32600,32604, 32607,32611,32614,32618,32621,32624,32628,32631,32634,32637,32640,32644, 32647,32650,32653,32656,32659,32661,32664,32667,32670,32673,32675,32678, 32681,32683,32686,32688,32691,32693,32695,32698,32700,32702,32705,32707, 32709,32711,32713,32715,32717,32719,32721,32723,32725,32727,32728,32730, 32732,32734,32735,32737,32738,32740,32741,32743,32744,32745,32747,32748, 32749,32750,32752,32753,32754,32755,32756,32757,32758,32759,32760,32760, 32761,32762,32763,32763,32764,32764,32765,32765,32766,32766,32767,32767, 32767,32768,32768,32768,32768,32768,32768,32768,32768,32768,32768,32768, 32768,32768,32768,32767,32767,32767,32766,32766,32765,32765,32764,32764, 32763,32763,32762,32761,32760,32760,32759,32758,32757,32756,32755,32754, 32753,32752,32751,32749,32748,32747,32746,32744,32743,32741,32740,32738, 32737,32735,32734,32732,32730,32729,32727,32725,32723,32721,32719,32717, 32715,32713,32711,32709,32707,32705,32703,32700,32698,32696,32693,32691, 32688,32686,32683,32681,32678,32675,32673,32670,32667,32664,32662,32659, 32656,32653,32650,32647,32644,32641,32637,32634,32631,32628,32624,32621, 32618,32614,32611,32607,32604,32600,32597,32593,32589,32586,32582,32578, 32574,32570,32566,32562,32558,32554,32550,32546,32542,32538,32534,32529, 32525,32521,32516,32512,32508,32503,32499,32494,32489,32485,32480,32475, 32471,32466,32461,32456,32451,32446,32441,32436,32431,32426,32421,32416, 32411,32405,32400,32395,32389,32384,32379,32373,32368,32362,32357,32351, 32345,32340,32334,32328,32322,32316,32311,32305,32299,32293,32287,32281, 32274,32268,32262,32256,32250,32243,32237,32231,32224,32218,32211,32205, 32198,32192,32185,32178,32172,32165,32158,32151,32144,32138,32131,32124, 32117,32110,32103,32095,32088,32081,32074,32067,32059,32052,32045,32037, 32030,32022,32015,32007,32000,31992,31984,31977,31969,31961,31953,31946, 31938,31930,31922,31914,31906,31898,31890,31881,31873,31865,31857,31848, 31840,31832,31823,31815,31807,31798,31789,31781,31772,31764,31755,31746, 31737,31729,31720,31711,31702,31693,31684,31675,31666,31657,31648,31639, 31630,31620,31611,31602,31592,31583,31574,31564,31555,31545,31536,31526, 31516,31506,31497,31487,31477,31467,31457,31448,31438,31428,31418,31408, 31398,31388,31378,31367,31357,31347,31337,31326,31316,31306,31295,31285, 31274,31264,31253,31243,31232,31222,31211,31200,31189,31179,31168,31157, 31146,31135,31124,31113,31102,31091,31080,31069,31058,31047,31035,31024, 31013,31001,30990,30979,30967,30956,30944,30933,30921,30909,30898,30886, 30874,30863,30851,30839,30827,30815,30803,30791,30779,30767,30755,30743, 30731,30719,30707,30695,30682,30670,30658,30645,30633,30621,30608,30596, 30583,30571,30558,30545,30533,30520,30507,30495,30482,30469,30456,30443, 30430,30417,30404,30391,30378,30365,30352,30339,30326,30312,30299,30286, 30273,30259,30246,30232,30219,30206,30192,30178,30165,30151,30138,30124, 30110,30097,30083,30069,30055,30041,30027,30013,29999,29985,29971,29957, 29943,29929,29915,29901,29887,29872,29858,29844,29829,29815,29801,29786, 29772,29757,29743,29728,29713,29699,29684,29669,29655,29640,29625,29610, 29596,29581,29566,29551,29536,29521,29506,29491,29476,29460,29445,29430, 29415,29400,29384,29369,29354,29338,29323,29308,29292,29277,29261,29245, 29230,29214,29199,29183,29167,29152,29136,29120,29104,29088,29072,29056, 29041,29025,29009,28993,28976,28960,28944,28928,28912,28896,28879,28863, 28847,28831,28814,28798,28781,28765,28748,28732,28715,28699,28682,28666, 28649,28632,28616,28599,28582,28565,28548,28532,28515,28498,28481,28464, 28447,28430,28413,28396,28379,28362,28344,28327,28310,28293,28275,28258, 28241,28223,28206,28189,28171,28154,28136,28119,28101,28084,28066,28048, 28031,28013,27995,27978,27959,27941,27923,27905,27887,27869,27851,27833, 27815,27797,27779,27761,27743,27725,27707,27689,27671,27652,27634,27616, 27597,27579,27561,27542,27524,27506,27487,27469,27450,27431,27413,27394, 27376,27357,27338,27320,27301,27282,27263,27245,27226,27207,27188,27169, 27150,27131,27112,27093,27074,27055,27036,27017,26998,26979,26959,26940, 26921,26902,26882,26863,26844,26824,26805,26786,26766,26747,26727,26708, 26688,26669,26649,26630,26610,26590,26571,26551,26531,26511,26492,26472, 26452,26432,26412,26392,26373,26353,26333,26313,26293,26273,26253,26233, 26212,26192,26172,26152,26132,26112,26091,26071,26051,26031,26010,25990, 25969,25949,25929,25908,25888,25867,25847,25826,25806,25785,25765,25744, 25723,25703,25682,25661,25640,25620,25599,25578,25557,25537,25516,25495, 25474,25453,25432,25411,25390,25369,25348,25327,25306,25285,25264,25243, 25221,25200,25179,25158,25137,25115,25094,25073,25051,25030,25009,24987, 24966,24945,24923,24902,24880,24859,24837,24816,24794,24773,24751,24729, 24708,24686,24664,24643,24621,24599,24577,24556,24534,24512,24490,24468, 24446,24425,24403,24381,24359,24337,24315,24293,24271,24249,24227,24205, 24183,24160,24138,24116,24094,24072,24050,24027,24005,23983,23961,23938, 23916,23894,23871,23849,23827,23804,23782,23759,23737,23714,23692,23669, 23647,23624,23602,23579,23557,23534,23511,23489,23466,23443,23421,23398, 23375,23353,23330,23307,23284,23262,23239,23216,23193,23170,23147,23124, 23101,23078,23056,23033,23010,22987,22964,22941,22918,22894,22871,22848, 22825,22802,22779,22756,22733,22709,22686,22663,22638,22615,22592,22569, 22545,22522,22499,22475,22452,22429,22405,22382,22359,22335,22312,22288, 22265,22241,22218,22194,22171,22147,22124,22100,22077,22053,22030,22006, 21982,21959,21935,21911,21888,21864,21840,21817,21793,21769,21746,21722, 21698,21674,21650,21627,21603,21579,21555,21531,21507,21484,21460,21436, 21412,21388,21364,21340,21316,21292,21268,21244,21220,21196,21172,21148, 21124,21100,21076,21052,21028,21004,20979,20955,20931,20907,20883,20859, 20835,20810,20786,20762,20738,20713,20689,20665,20641,20616,20592,20568, 20544,20519,20495,20471,20446,20422,20397,20373,20349,20324,20300,20276, 20251,20227,20202,20178,20153,20129,20104,20080,20055,20031,20006,19982, 19957,19933,19908,19884,19859,19835,19810,19785,19761,19736,19712,19687, 19662,19638,19613,19589,19564,19539,19515,19490,19465,19441,19416,19391, 19366,19342,19317,19292,19268,19243,19218,19193,19169,19144,19119,19094, 19069,19045,19020,18995,18970,18945,18921,18896,18871,18846,18821,18796, 18771,18747,18722,18697,18672,18647,18622,18597,18572,18547,18523,18498, 18473,18448,18423,18398,18373,18348,18323,18298,18273,18248,18223,18198, 18173,18148,18123,18098,18073,18048,18023,17998,17973,17948,17923,17898, 17873,17848,17823,17798,17773,17748,17723,17698,17673,17648,17623,17598, 17573,17547,17522,17497,17472,17447,17422,17397,17372,17347,17322,17297, 17272,17246,17221,17196,17171,17146,17121,17096,17071,17046,17021,16995, 16970,16945,16920,16895,16870,16845,16820,16794,16769,16744,16719,16694, 16669,16644,16619,16593,16568,16543,16518,16493,16468,16443,16417,16392, 16366,16341,16315,16290,16265,16240,16215,16190,16165,16139,16114,16089, 16064,16039,16014,15989,15964,15938,15913,15888,15863,15838,15813,15788, 15763,15738,15712,15687,15662,15637,15612,15587,15562,15537,15512,15486, 15461,15436,15411,15386,15361,15336,15311,15286,15261,15236,15211,15185, 15160,15135,15110,15085,15060,15035,15010,14985,14960,14935,14910,14885, 14860,14835,14810,14785,14760,14735,14710,14685,14660,14635,14610,14585, 14560,14535,14510,14485,14460,14435,14410,14385,14360,14335,14310,14285, 14260,14236,14211,14186,14161,14136,14111,14086,14061,14036,14012,13987, 13962,13937,13912,13887,13862,13838,13813,13788,13763,13738,13714,13689, 13664,13639,13614,13590,13565,13540,13515,13491,13466,13441,13416,13392, 13367,13342,13318,13293,13268,13244,13219,13194,13170,13145,13120,13096, 13071,13047,13022,12997,12973,12948,12924,12899,12874,12850,12825,12801, 12776,12752,12727,12703,12678,12654,12629,12605,12581,12556,12532,12507, 12483,12458,12434,12410,12385,12361,12337,12312,12288,12263,12239,12215, 12191,12166,12142,12118,12093,12069,12045,12021,11997,11972,11948,11924, 11900,11876,11851,11827,11803,11779,11755,11731,11707,11683,11659,11634, 11610,11586,11562,11538,11514,11490,11466,11442,11418,11395,11371,11347, 11323,11299,11275,11251,11227,11203,11180,11156,11132,11108,11084,11061, 11037,11013,10989,10966,10942,10918,10894,10871,10847,10824,10800,10776, 10753,10729,10705,10682,10658,10635,10611,10588,10564,10541,10517,10494, 10470,10447,10424,10400,10377,10353,10330,10307,10283,10260,10237,10213, 10190,10167,10144,10120,10096,10073,10049,10026,10003,9980,9957,9934, 9911,9887,9864,9841,9818,9795,9772,9749,9726,9703,9680,9658, 9635,9612,9589,9566,9543,9520,9498,9475,9452,9429,9406,9384, 9361,9338,9316,9293,9270,9248,9225,9202,9180,9157,9135,9112, 9090,9067,9045,9022,9000,8977,8955,8933,8910,8888,8866,8843, 8821,8799,8776,8754,8732,8710,8687,8665,8643,8621,8599,8577, 8555,8533,8511,8489,8467,8445,8423,8401,8379,8357,8335,8313, 8291,8269,8247,8226,8204,8182,8160,8139,8117,8095,8074,8052, 8030,8009,7987,7965,7944,7922,7901,7879,7858,7836,7815,7794, 7772,7751,7730,7708,7687,7666,7644,7623,7602,7581,7559,7538, 7517,7496,7475,7454,7433,7412,7391,7370,7349,7328,7307,7286, 7265,7244,7223,7203,7182,7161,7140,7119,7099,7078,7057,7037, 7016,6995,6975,6954,6934,6913,6893,6872,6852,6831,6811,6791, 6770,6750,6730,6709,6689,6669,6649,6628,6608,6588,6568,6548, 6528,6508,6488,6468,6448,6428,6408,6388,6368,6348,6328,6308, 6288,6269,6249,6229,6209,6190,6170,6150,6131,6111,6092,6072, 6053,6033,6014,5994,5975,5955,5936,5917,5897,5878,5859,5840, 5820,5801,5782,5763,5744,5725,5706,5686,5667,5648,5629,5611, 5592,5573,5554,5535,5516,5497,5479,5460,5441,5422,5404,5385, 5367,5348,5329,5311,5292,5274,5255,5237,5219,5200,5182,5164, 5145,5127,5109,5090,5072,5054,5036,5018,5000,4982,4964,4946, 4928,4910,4892,4874,4856,4838,4820,4803,4784,4766,4748,4731, 4713,4695,4678,4660,4643,4625,4608,4590,4573,4555,4538,4521, 4503,4486,4469,4451,4434,4417,4400,4383,4366,4349,4332,4315, 4298,4281,4264,4247,4230,4213,4196,4180,4163,4146,4129,4113, 4096,4079,4063,4046,4030,4013,3997,3980,3964,3948,3931,3915, 3899,3882,3866,3850,3834,3818,3802,3786,3769,3753,3737,3721, 3706,3690,3674,3658,3642,3626,3611,3595,3579,3564,3548,3532, 3517,3501,3486,3470,3455,3439,3424,3409,3393,3378,3363,3347, 3332,3317,3302,3287,3272,3257,3242,3227,3212,3197,3182,3167, 3152,3137,3123,3108,3093,3078,3064,3049,3035,3020,3005,2991, 2977,2962,2948,2933,2919,2905,2890,2876,2862,2848,2834,2820, 2805,2791,2777,2763,2749,2736,2722,2708,2694,2680,2666,2653, 2639,2625,2612,2598,2585,2571,2558,2544,2531,2517,2504,2491, 2477,2464,2451,2438,2424,2411,2398,2385,2372,2359,2346,2333, 2320,2307,2294,2282,2269,2256,2243,2231,2218,2205,2193,2180, 2168,2155,2143,2131,2118,2106,2094,2081,2069,2057,2045,2032, 2020,2008,1996,1984,1972,1960,1948,1937,1925,1913,1901,1889, 1878,1866,1854,1843,1831,1820,1808,1797,1785,1774,1763,1751, 1740,1729,1718,1706,1695,1684,1673,1662,1651,1640,1629,1618, 1607,1596,1586,1575,1564,1553,1543,1532,1522,1511,1500,1490, 1480,1469,1459,1448,1438,1428,1418,1407,1397,1387,1377,1367, 1357,1347,1337,1327,1317,1307,1297,1288,1278,1268,1259,1249, 1239,1229,1220,1210,1201,1191,1182,1172,1163,1154,1145,1135, 1126,1117,1108,1099,1090,1081,1072,1063,1054,1045,1036,1028, 1019,1010,1002,993,984,976,967,959,950,942,934,925, 917,909,900,892,884,876,868,860,852,844,836,828, 820,812,804,797,789,781,774,766,758,751,743,736, 729,721,714,706,699,692,685,678,670,663,656,649, 642,635,628,622,615,608,601,594,588,581,574,568, 561,555,548,542,536,529,523,517,510,504,498,492, 486,480,474,468,462,456,450,444,438,433,427,421, 416,410,404,399,393,388,383,377,372,367,361,356, 351,346,341,336,331,326,321,316,311,306,301,296, 292,287,282,278,273,268,264,259,255,251,246,242, 238,233,229,225,221,217,213,209,205,201,197,193, 189,186,182,178,174,171,167,164,160,157,153,150, 146,143,140,137,133,130,127,124,121,118,115,112, 109,106,103,101,98,95,92,90,87,85,82,80, 77,75,72,70,68,65,63,61,59,57,55,53, 51,49,47,45,43,41,40,38,36,35,33,31, 30,28,27,26,24,23,22,20,19,18,17,16, 15,14,13,12,11,10,9,8,8,7,6,5, 5,4,4,3,3,2,2,2,1,1,1,1, 1,1,1,1}; const int16_t hann_2048[2048] = { 1,1,1,1,2,2,3,4,5,7,8,10, 12,14,16,18,20,23,25,28,31,34,38,41, 45,49,53,57,61,65,70,75,79,84,90,95, 100,106,112,118,124,130,136,143,150,156,163,171, 178,185,193,201,209,217,225,233,242,250,259,268, 277,287,296,306,316,326,336,346,356,367,377,388, 399,410,421,433,444,456,468,480,492,504,517,529, 542,555,568,581,594,608,622,635,649,663,678,692, 706,721,736,751,766,781,797,812,828,844,860,876, 892,909,925,942,959,976,993,1010,1028,1045,1063,1081, 1099,1117,1135,1154,1172,1191,1210,1229,1249,1268,1288,1307, 1327,1347,1367,1387,1407,1428,1448,1469,1490,1511,1532,1553, 1575,1596,1618,1640,1662,1684,1706,1729,1751,1774,1797,1820, 1843,1866,1889,1913,1937,1960,1984,2008,2032,2057,2081,2106, 2131,2155,2180,2205,2231,2256,2282,2307,2333,2359,2385,2411, 2438,2464,2491,2517,2544,2571,2598,2625,2653,2680,2708,2736, 2764,2792,2820,2849,2877,2906,2934,2963,2992,3021,3050,3079, 3109,3138,3168,3198,3228,3258,3288,3318,3348,3379,3410,3440, 3471,3502,3533,3564,3596,3627,3659,3691,3722,3754,3787,3819, 3851,3883,3916,3949,3981,4014,4047,4081,4114,4147,4181,4214, 4248,4282,4316,4350,4384,4418,4453,4487,4522,4556,4591,4626, 4661,4696,4732,4767,4804,4839,4875,4911,4947,4983,5019,5055, 5092,5128,5165,5201,5238,5275,5312,5349,5386,5424,5461,5499, 5536,5574,5612,5650,5688,5726,5764,5802,5841,5879,5918,5957, 5995,6034,6073,6113,6152,6191,6230,6270,6309,6349,6389,6429, 6469,6509,6549,6589,6630,6670,6711,6751,6792,6833,6874,6915, 6956,6997,7038,7079,7121,7162,7204,7246,7289,7330,7372,7414, 7456,7499,7541,7583,7626,7668,7711,7754,7796,7839,7882,7925, 7968,8011,8055,8098,8141,8185,8228,8272,8316,8359,8403,8447, 8491,8535,8580,8624,8668,8712,8757,8801,8846,8891,8935,8980, 9025,9070,9115,9160,9205,9250,9296,9341,9387,9432,9478,9523, 9569,9615,9660,9706,9752,9798,9844,9890,9937,9983,10029,10075, 10123,10170,10216,10263,10310,10356,10403,10450,10497,10544,10591,10638, 10685,10732,10779,10826,10874,10921,10969,11016,11064,11111,11159,11206, 11254,11302,11350,11398,11445,11493,11541,11589,11637,11686,11734,11782, 11830,11879,11927,11975,12024,12072,12121,12169,12218,12267,12315,12364, 12413,12461,12510,12559,12608,12657,12706,12755,12804,12853,12902,12951, 13000,13050,13099,13148,13199,13248,13298,13347,13396,13446,13495,13545, 13594,13644,13693,13743,13793,13842,13892,13942,13991,14041,14091,14141, 14190,14240,14290,14340,14390,14440,14490,14540,14590,14640,14690,14740, 14790,14840,14890,14940,14990,15040,15090,15140,15190,15240,15290,15341, 15391,15441,15491,15541,15592,15642,15692,15742,15792,15843,15893,15943, 15993,16044,16094,16144,16194,16245,16295,16345,16397,16447,16498,16548, 16598,16648,16699,16749,16799,16849,16900,16950,17000,17050,17101,17151, 17201,17251,17301,17352,17402,17452,17502,17552,17602,17652,17703,17753, 17803,17853,17903,17953,18003,18053,18103,18153,18203,18253,18303,18353, 18403,18452,18502,18552,18602,18652,18701,18751,18801,18851,18900,18950, 19000,19049,19099,19148,19198,19247,19297,19346,19396,19445,19495,19544, 19595,19644,19693,19742,19792,19841,19890,19939,19988,20037,20086,20135, 20184,20233,20282,20330,20379,20428,20477,20525,20574,20622,20671,20719, 20768,20816,20865,20913,20961,21010,21058,21106,21154,21202,21250,21298, 21346,21394,21442,21490,21537,21585,21633,21680,21728,21775,21823,21870, 21917,21965,22012,22059,22106,22153,22200,22247,22294,22341,22388,22435, 22481,22528,22574,22621,22669,22715,22762,22808,22854,22900,22946,22992, 23038,23084,23130,23176,23222,23267,23313,23358,23404,23449,23494,23540, 23585,23630,23675,23720,23765,23810,23855,23899,23944,23988,24033,24077, 24122,24166,24210,24254,24298,24342,24386,24430,24474,24517,24561,24605, 24648,24691,24735,24778,24821,24864,24907,24950,24993,25035,25078,25121, 25163,25206,25248,25290,25332,25374,25416,25458,25501,25543,25585,25626, 25668,25709,25750,25792,25833,25874,25915,25955,25996,26037,26077,26118, 26158,26199,26239,26279,26319,26359,26399,26438,26478,26518,26557,26596, 26636,26675,26714,26753,26792,26831,26869,26908,26946,26985,27023,27061, 27099,27137,27175,27213,27250,27288,27325,27363,27400,27437,27474,27511, 27548,27585,27621,27658,27694,27731,27767,27803,27839,27875,27911,27946, 27983,28019,28054,28089,28124,28159,28194,28229,28264,28298,28333,28367, 28401,28435,28469,28503,28537,28571,28604,28638,28671,28704,28737,28770, 28803,28836,28868,28901,28933,28965,28998,29030,29061,29093,29125,29156, 29188,29219,29250,29281,29312,29343,29374,29404,29435,29465,29495,29526, 29555,29585,29615,29645,29674,29703,29733,29762,29791,29819,29848,29877, 29905,29934,29962,29990,30019,30046,30074,30102,30129,30156,30184,30211, 30237,30264,30291,30317,30344,30370,30396,30422,30448,30474,30499,30525, 30550,30575,30600,30625,30650,30675,30699,30724,30748,30772,30796,30820, 30844,30867,30891,30914,30937,30960,30983,31006,31028,31051,31073,31095, 31117,31139,31161,31183,31204,31226,31247,31268,31289,31310,31330,31351, 31371,31391,31412,31431,31451,31471,31491,31510,31530,31549,31568,31587, 31605,31624,31642,31660,31679,31697,31714,31732,31750,31767,31784,31801, 31818,31835,31852,31868,31884,31901,31917,31933,31948,31964,31980,31995, 32010,32025,32040,32055,32069,32084,32098,32112,32126,32140,32154,32167, 32181,32194,32207,32220,32233,32246,32258,32271,32283,32295,32307,32319, 32330,32342,32353,32364,32375,32386,32397,32407,32418,32428,32438,32448, 32458,32468,32477,32487,32496,32505,32514,32523,32531,32540,32548,32556, 32564,32572,32580,32587,32595,32602,32609,32616,32623,32629,32636,32642, 32648,32654,32660,32666,32671,32677,32682,32687,32692,32697,32701,32706, 32710,32714,32718,32722,32726,32729,32733,32736,32739,32742,32745,32747, 32750,32752,32754,32756,32758,32760,32761,32763,32764,32765,32766,32767, 32768,32768,32768,32768,32768,32768,32768,32768,32767,32766,32765,32764, 32763,32762,32760,32758,32756,32754,32752,32750,32748,32745,32742,32739, 32736,32733,32729,32726,32722,32718,32714,32710,32706,32701,32697,32692, 32687,32682,32677,32671,32666,32660,32654,32648,32642,32636,32629,32623, 32616,32609,32602,32595,32587,32580,32572,32564,32556,32548,32540,32532, 32523,32514,32505,32496,32487,32478,32468,32459,32448,32438,32428,32418, 32408,32397,32386,32376,32365,32353,32342,32331,32319,32307,32295,32283, 32271,32259,32246,32233,32221,32208,32195,32181,32168,32154,32141,32127, 32113,32099,32084,32070,32055,32040,32026,32011,31995,31980,31965,31949, 31933,31917,31901,31885,31869,31852,31835,31819,31802,31785,31767,31750, 31733,31715,31697,31679,31661,31643,31624,31606,31587,31568,31549,31530, 31510,31491,31472,31452,31432,31412,31392,31372,31351,31331,31310,31289, 31269,31247,31226,31205,31183,31162,31140,31118,31096,31074,31051,31029, 31006,30984,30961,30938,30915,30891,30868,30844,30821,30797,30773,30749, 30724,30700,30675,30651,30626,30601,30576,30551,30526,30500,30475,30449, 30423,30397,30371,30345,30318,30292,30265,30238,30211,30184,30157,30130, 30103,30075,30047,30020,29991,29963,29934,29906,29878,29849,29820,29792, 29763,29734,29704,29675,29646,29616,29586,29556,29526,29496,29466,29436, 29405,29375,29344,29313,29282,29251,29220,29189,29157,29126,29094,29062, 29031,28999,28966,28934,28902,28869,28837,28804,28771,28738,28705,28672, 28639,28605,28572,28538,28504,28470,28436,28402,28368,28334,28299,28265, 28230,28195,28160,28125,28090,28055,28020,27984,27948,27912,27876,27840, 27804,27768,27732,27696,27659,27623,27586,27549,27512,27475,27438,27401, 27364,27327,27289,27252,27214,27176,27138,27100,27062,27024,26986,26947, 26909,26870,26832,26793,26754,26715,26676,26637,26598,26558,26519,26479, 26440,26400,26360,26320,26280,26240,26200,26160,26119,26079,26038,25997, 25957,25916,25875,25834,25793,25752,25710,25669,25628,25586,25544,25503, 25460,25418,25376,25334,25291,25249,25207,25164,25122,25079,25037,24994, 24951,24908,24865,24822,24779,24736,24693,24649,24606,24562,24519,24475, 24431,24388,24344,24300,24256,24212,24167,24123,24079,24034,23990,23945, 23901,23856,23811,23766,23721,23676,23631,23586,23541,23496,23451,23405, 23360,23314,23269,23223,23177,23132,23086,23040,22994,22948,22902,22856, 22809,22763,22717,22670,22622,22576,22529,22483,22436,22389,22343,22296, 22249,22202,22155,22108,22061,22013,21966,21919,21872,21824,21777,21729, 21682,21634,21586,21539,21491,21443,21395,21348,21300,21252,21204,21156, 21107,21059,21011,20963,20915,20866,20818,20769,20721,20673,20624,20575, 20527,20478,20429,20381,20332,20283,20234,20185,20137,20088,20039,19990, 19941,19891,19842,19793,19744,19695,19646,19596,19545,19496,19447,19397, 19348,19298,19249,19199,19150,19100,19051,19001,18952,18902,18852,18803, 18753,18703,18653,18603,18554,18504,18454,18404,18354,18304,18254,18204, 18154,18104,18054,18004,17954,17904,17854,17804,17754,17704,17654,17604, 17554,17504,17453,17403,17353,17303,17253,17203,17152,17102,17052,17002, 16951,16901,16851,16801,16750,16700,16650,16600,16549,16499,16449,16399, 16347,16297,16246,16196,16146,16095,16045,15995,15945,15894,15844,15794, 15744,15694,15643,15593,15543,15493,15443,15392,15342,15292,15242,15192, 15142,15092,15041,14991,14941,14891,14841,14791,14741,14691,14641,14591, 14541,14491,14441,14391,14342,14292,14242,14192,14142,14092,14043,13993, 13943,13893,13844,13794,13745,13695,13645,13596,13546,13497,13447,13398, 13349,13299,13250,13200,13150,13100,13051,13002,12953,12904,12855,12805, 12756,12707,12658,12610,12561,12512,12463,12414,12365,12317,12268,12219, 12171,12122,12074,12025,11977,11928,11880,11832,11784,11735,11687,11639, 11591,11543,11495,11447,11399,11351,11303,11256,11208,11160,11113,11065, 11017,10970,10923,10875,10828,10781,10733,10686,10639,10592,10545,10498, 10451,10405,10358,10311,10264,10218,10171,10125,10077,10031,9984,9938, 9892,9846,9800,9754,9708,9662,9616,9570,9525,9479,9433,9388, 9343,9297,9252,9207,9162,9116,9071,9026,8982,8937,8892,8847, 8803,8758,8714,8669,8625,8581,8537,8493,8449,8405,8361,8317, 8273,8230,8186,8143,8099,8056,8013,7970,7926,7883,7840,7798, 7755,7712,7670,7627,7585,7542,7500,7458,7416,7374,7332,7290, 7247,7205,7164,7122,7081,7039,6998,6957,6916,6875,6834,6793, 6752,6712,6671,6631,6591,6550,6510,6470,6430,6390,6350,6311, 6271,6232,6192,6153,6114,6075,6036,5997,5958,5919,5881,5842, 5804,5765,5727,5689,5651,5613,5575,5537,5500,5462,5425,5387, 5350,5313,5276,5239,5202,5166,5129,5093,5056,5020,4984,4948, 4912,4876,4840,4805,4768,4733,4698,4662,4627,4592,4557,4523, 4488,4454,4419,4385,4351,4317,4283,4249,4215,4182,4148,4115, 4082,4048,4015,3982,3950,3917,3884,3852,3820,3788,3755,3723, 3692,3660,3628,3597,3565,3534,3503,3472,3441,3410,3380,3349, 3319,3289,3259,3228,3199,3169,3139,3110,3080,3051,3022,2993, 2964,2935,2907,2878,2850,2821,2793,2765,2736,2709,2681,2654, 2626,2599,2572,2545,2518,2491,2465,2438,2412,2386,2360,2334, 2308,2282,2257,2232,2206,2181,2156,2131,2107,2082,2058,2033, 2009,1985,1961,1937,1914,1890,1867,1844,1820,1798,1775,1752, 1729,1707,1685,1663,1641,1619,1597,1576,1554,1533,1512,1491, 1470,1449,1428,1408,1388,1368,1347,1328,1308,1288,1269,1249, 1230,1211,1192,1173,1154,1136,1118,1099,1081,1064,1046,1028, 1011,993,976,959,942,926,909,893,876,860,844,828, 813,797,782,766,751,736,722,707,692,678,664,650, 636,622,608,595,581,568,555,542,530,517,505,492, 480,468,456,445,433,422,410,399,388,378,367,356, 346,336,326,316,306,296,287,278,268,259,251,242, 233,225,217,209,201,193,186,178,171,164,157,150, 143,137,130,124,118,112,106,101,95,90,85,80, 75,70,65,61,57,53,49,45,41,38,35,31, 28,26,23,20,18,16,14,12,10,8,7,5, 4,3,2,2,1,1,1,1}; const int16_t hann_1024[1024] = { 1,1,2,3,5,8,12,16,20,25,31,38, 45,53,61,70,80,90,101,112,124,137,150,164, 178,193,209,225,242,259,278,296,316,336,356,378, 399,422,445,468,492,517,542,568,595,622,650,678, 707,737,767,798,829,861,893,926,960,994,1029,1064, 1100,1137,1174,1211,1250,1289,1328,1368,1409,1450,1491,1533, 1576,1620,1663,1708,1753,1798,1844,1891,1939,1987,2035,2084, 2133,2183,2233,2284,2336,2388,2440,2493,2547,2601,2655,2710, 2767,2823,2880,2937,2995,3053,3111,3171,3230,3291,3351,3412, 3474,3536,3599,3662,3726,3791,3855,3920,3986,4052,4118,4185, 4252,4320,4388,4457,4526,4596,4666,4736,4808,4880,4951,5024, 5096,5169,5243,5317,5391,5466,5541,5616,5692,5769,5846,5923, 6002,6079,6158,6237,6316,6395,6475,6555,6636,6717,6798,6880, 6962,7044,7127,7210,7295,7379,7463,7548,7632,7718,7803,7889, 7975,8061,8148,8235,8323,8410,8498,8586,8676,8765,8854,8944, 9034,9123,9214,9304,9395,9486,9577,9669,9761,9853,9945,10038, 10132,10225,10318,10412,10506,10600,10694,10788,10883,10977,11072,11168, 11263,11359,11454,11550,11648,11744,11841,11938,12034,12131,12229,12326, 12423,12521,12619,12717,12815,12913,13011,13110,13210,13308,13407,13506, 13605,13704,13803,13903,14002,14102,14201,14301,14401,14501,14600,14700, 14802,14902,15002,15102,15203,15303,15403,15504,15604,15705,15805,15905, 16006,16106,16207,16308,16410,16510,16611,16711,16812,16912,17013,17113, 17214,17314,17414,17515,17615,17715,17815,17915,18017,18117,18217,18317, 18417,18516,18616,18715,18815,18914,19014,19113,19212,19311,19410,19508, 19609,19707,19805,19904,20002,20100,20198,20295,20393,20490,20588,20685, 20782,20878,20975,21071,21169,21265,21361,21457,21552,21647,21743,21837, 21932,22027,22121,22215,22309,22402,22496,22589,22683,22776,22869,22961, 23053,23144,23236,23327,23418,23509,23599,23689,23779,23869,23958,24047, 24137,24225,24313,24401,24489,24576,24663,24750,24836,24922,25007,25093, 25178,25262,25347,25431,25516,25599,25682,25765,25847,25929,26010,26091, 26172,26253,26333,26412,26492,26571,26649,26727,26806,26884,26961,27037, 27113,27189,27265,27340,27414,27488,27562,27635,27708,27781,27853,27924, 27996,28067,28137,28207,28277,28345,28414,28482,28550,28617,28683,28749, 28815,28880,28945,29010,29074,29138,29201,29263,29325,29386,29447,29508, 29568,29627,29686,29744,29802,29860,29917,29973,30030,30085,30140,30195, 30248,30302,30354,30407,30458,30510,30560,30610,30660,30709,30758,30806, 30854,30901,30947,30993,31038,31083,31127,31171,31214,31256,31298,31339, 31380,31420,31460,31499,31538,31576,31613,31650,31686,31722,31757,31792, 31826,31859,31892,31924,31955,31986,32017,32047,32076,32105,32133,32160, 32187,32213,32239,32264,32288,32312,32336,32358,32380,32402,32423,32443, 32463,32482,32500,32518,32535,32552,32568,32583,32598,32612,32626,32639, 32651,32663,32674,32684,32694,32704,32712,32720,32728,32734,32741,32746, 32751,32755,32759,32762,32765,32767,32768,32768,32768,32768,32767,32765, 32762,32759,32755,32751,32746,32741,32735,32728,32720,32712,32704,32694, 32684,32674,32663,32651,32639,32626,32612,32598,32583,32568,32552,32536, 32518,32501,32482,32463,32443,32423,32402,32381,32359,32336,32313,32289, 32264,32239,32214,32188,32161,32133,32105,32077,32047,32017,31987,31956, 31924,31892,31859,31826,31792,31758,31723,31687,31651,31614,31577,31539, 31500,31461,31421,31381,31340,31299,31257,31214,31171,31128,31083,31039, 30994,30948,30901,30855,30806,30758,30710,30661,30611,30561,30510,30459, 30408,30355,30303,30249,30195,30141,30086,30031,29974,29918,29861,29803, 29745,29687,29628,29569,29509,29448,29387,29326,29264,29202,29139,29075, 29011,28946,28881,28816,28751,28684,28618,28551,28483,28415,28347,28278, 28208,28138,28068,27997,27925,27854,27782,27709,27636,27563,27489,27415, 27341,27266,27190,27115,27038,26962,26885,26808,26729,26650,26572,26493, 26414,26334,26254,26173,26093,26011,25930,25848,25766,25683,25600,25517, 25432,25348,25264,25179,25094,25009,24923,24837,24751,24664,24577,24490, 24403,24315,24227,24138,24048,23959,23870,23780,23691,23600,23510,23419, 23328,23237,23146,23054,22962,22870,22778,22685,22590,22497,22404,22310, 22216,22122,22028,21934,21839,21744,21649,21554,21458,21363,21267,21171, 21073,20976,20880,20783,20686,20589,20492,20394,20297,20199,20101,20003, 19905,19807,19709,19610,19510,19411,19312,19213,19114,19015,18916,18816, 18717,18617,18518,18418,18318,18218,18119,18019,17917,17817,17717,17616, 17516,17416,17315,17215,17115,17014,16914,16813,16713,16612,16512,16411, 16309,16209,16108,16008,15907,15807,15706,15606,15505,15405,15305,15204, 15104,15004,14904,14804,14702,14602,14502,14402,14303,14203,14103,14004, 13904,13805,13706,13607,13508,13409,13310,13211,13111,13013,12914,12816, 12718,12620,12522,12425,12327,12230,12133,12036,11939,11842,11746,11650, 11552,11456,11360,11265,11169,11074,10979,10884,10790,10695,10601,10507, 10413,10320,10227,10133,10039,9947,9854,9762,9670,9579,9488,9396, 9306,9215,9125,9035,8945,8856,8767,8678,8588,8500,8412,8324, 8237,8149,8063,7976,7890,7804,7719,7634,7549,7464,7380,7296, 7212,7129,7046,6963,6881,6800,6718,6637,6557,6476,6396,6317, 6238,6159,6081,6003,5924,5847,5770,5694,5618,5542,5467,5392, 5318,5244,5170,5097,5025,4952,4881,4809,4737,4667,4597,4527, 4458,4389,4321,4253,4186,4119,4053,3987,3921,3856,3792,3727, 3663,3600,3537,3475,3413,3352,3291,3231,3172,3112,3054,2996, 2938,2881,2824,2768,2711,2656,2602,2547,2494,2441,2388,2336, 2285,2234,2184,2134,2084,2036,1987,1940,1892,1845,1799,1753, 1708,1664,1620,1577,1534,1492,1450,1409,1369,1329,1289,1251, 1212,1174,1137,1101,1065,1029,995,960,927,894,861,829, 798,767,737,708,678,650,622,595,569,543,517,493, 468,445,422,400,378,357,336,316,297,278,260,242, 225,209,193,178,164,150,137,124,112,101,90,80, 70,61,53,45,38,31,26,20,16,12,8,5, 3,2,1,1}; const int16_t hann_512[512] = { 1,2,5,12,20,31,45,61,80,101,124,150, 179,209,243,278,317,357,400,445,493,544,596,651, 709,768,830,895,962,1031,1102,1176,1252,1331,1411,1494, 1580,1667,1756,1848,1943,2039,2137,2237,2340,2445,2552,2660, 2772,2885,3000,3117,3237,3358,3481,3606,3733,3862,3993,4125, 4261,4397,4535,4674,4817,4960,5105,5252,5401,5551,5703,5856, 6012,6169,6327,6486,6649,6811,6975,7140,7308,7476,7646,7816, 7990,8163,8338,8513,8692,8870,9049,9229,9412,9595,9778,9963, 10149,10336,10523,10711,10902,11092,11282,11474,11668,11860,12054,12248, 12445,12640,12836,13033,13231,13429,13627,13825,14026,14225,14424,14624, 14825,15026,15226,15427,15629,15830,16031,16232,16435,16636,16837,17038, 17240,17441,17641,17842,18044,18243,18443,18642,18843,19041,19240,19437, 19636,19833,20029,20225,20422,20616,20810,21004,21198,21389,21581,21771, 21962,22150,22338,22525,22712,22897,23081,23264,23448,23629,23808,23987, 24166,24342,24517,24691,24865,25037,25207,25376,25544,25710,25875,26038, 26201,26361,26520,26677,26834,26988,27141,27292,27442,27589,27735,27879, 28023,28164,28302,28439,28576,28709,28841,28970,29099,29225,29349,29471, 29592,29710,29826,29940,30053,30162,30270,30376,30480,30582,30681,30778, 30874,30966,31057,31145,31232,31316,31398,31477,31555,31630,31702,31772, 31841,31906,31969,32030,32089,32145,32199,32250,32300,32346,32390,32432, 32472,32509,32543,32575,32605,32632,32657,32679,32699,32716,32731,32743, 32753,32761,32766,32768,32768,32766,32761,32753,32743,32731,32716,32699, 32679,32657,32632,32605,32575,32543,32509,32472,32433,32391,32347,32300, 32251,32199,32146,32090,32031,31970,31907,31841,31773,31703,31630,31555, 31478,31398,31317,31233,31146,31058,30967,30874,30779,30682,30582,30481, 30377,30271,30163,30053,29941,29827,29711,29593,29472,29350,29226,29100, 28971,28842,28710,28577,28441,28304,28165,28024,27881,27736,27591,27443, 27293,27142,26989,26835,26679,26521,26363,26202,26039,25876,25712,25546, 25377,25208,25038,24867,24693,24519,24344,24167,23988,23810,23630,23449, 23266,23083,22899,22714,22526,22340,22152,21963,21772,21582,21391,21199, 21005,20812,20618,20423,20227,20031,19835,19638,19439,19241,19043,18844, 18644,18445,18245,18045,17843,17643,17442,17242,17039,16838,16637,16436, 16234,16033,15832,15631,15428,15228,15027,14827,14625,14426,14226,14027, 13827,13628,13430,13233,13034,12838,12642,12446,12250,12056,11862,11669, 11475,11284,11093,10903,10713,10525,10337,10151,9964,9780,9596,9414, 9231,9050,8871,8693,8515,8339,8164,7991,7818,7647,7478,7309, 7141,6976,6812,6650,6488,6328,6170,6014,5858,5704,5553,5403, 5253,5106,4961,4818,4676,4536,4398,4262,4126,3994,3863,3734, 3607,3482,3359,3238,3118,3001,2886,2773,2661,2553,2446,2341, 2238,2138,2039,1943,1849,1757,1668,1580,1495,1412,1331,1253, 1177,1103,1032,962,895,831,769,709,651,597,544,494, 446,400,357,317,278,243,210,179,150,124,101,80, 61,45,32,20,12,5,2,1};