/**
 * Copyright 2019-2020 Huawei Technologies Co., Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <gtest/gtest.h>

#include "common/formats/format_transfers/format_transfer_transpose.h"

namespace ge {
namespace formats {
class UtestFormatTranspose : public testing::Test {
 protected:
  void SetUp() {}
  void TearDown() {}
};

TEST_F(UtestFormatTranspose, one) {
  uint8_t data[1] = {100};
  uint8_t ret[1] = {100};

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 1}), std::vector<int64_t>({1, 1, 1, 1}),
                                    DT_UINT8, std::vector<int64_t>({3, 2, 1, 0}), result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((result.data.get())[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, no_trans) {
  uint8_t data[5] = {1, 2, 3, 4, 5};
  uint8_t ret[5] = {1, 2, 3, 4, 5};

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({2, 1, 0, 3}), result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((result.data.get())[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, param_invalid) {
  uint8_t data[5] = {1, 2, 3, 4, 5};

  TransResult result;
  EXPECT_NE(TransposeWithShapeCheck(nullptr, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({2, 1, 0, 3}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({}), std::vector<int64_t>({1, 1, 1, 5}), DT_UINT8,
                                    std::vector<int64_t>({2, 1, 0, 3}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({2, 1, 0}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({2, 1, 0, 0}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UNDEFINED, std::vector<int64_t>({2, 1, 0, 3}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({2, 1, 0, 3, 4}), result),
            SUCCESS);
  EXPECT_NE(TransposeWithShapeCheck(data, std::vector<int64_t>({1, 1, 1, 5}), std::vector<int64_t>({1, 1, 1, 5}),
                                    DT_UINT8, std::vector<int64_t>({3, 1, 0, 2}), result),
            SUCCESS);
}

TEST_F(UtestFormatTranspose, transpose_with_shape_check_2d) {
  uint8_t data[4] = {1, 2, 3, 4};
  uint8_t ret[4] = {1, 3, 2, 4};

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(data, std::vector<int64_t>({2, 2}), std::vector<int64_t>({2, 2}), DT_UINT8,
                                    std::vector<int64_t>({1, 0}), result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((result.data.get())[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nchw_to_hwcn1) {
  uint16_t data[1 * 3 * 4 * 4] = {
      15322, 14946, 12601, 14058, 12641, 14470, 14686, 15052, 11964, 14846, 13154, 13571, 14947, 12467, 12786, 14238,
      15334, 14814, 13608, 12163, 14169, 15274, 14780, 15303, 14986, 14841, 14290, 13785, 13878, 11576, 14411, 14522,
      14394, 13508, 13021, 14691, 13263, 15145, 14724, 15167, 14523, 13334, 14834, 13844, 9902,  14984, 15051, 14511,
  };
  uint16_t ret[4 * 4 * 3 * 1] = {
      15322, 15334, 14394, 14946, 14814, 13508, 12601, 13608, 13021, 14058, 12163, 14691, 12641, 14169, 13263, 14470,
      15274, 15145, 14686, 14780, 14724, 15052, 15303, 15167, 11964, 14986, 14523, 14846, 14841, 13334, 13154, 14290,
      14834, 13571, 13785, 13844, 14947, 13878, 9902,  12467, 11576, 14984, 12786, 14411, 15051, 14238, 14522, 14511,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({1, 3, 4, 4}),
                                    std::vector<int64_t>({4, 4, 3, 1}), DT_FLOAT16, std::vector<int64_t>({2, 3, 1, 0}),
                                    result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nchw_to_hwcn2) {
  uint16_t data[8 * 3 * 16 * 16] = {
      15218, 13789, 13063, 9806,  14988, 15221, 11097, 15162, 11381, 15333, 14921, 14612, 14806, 13951, 13796, 9764,
      12642, 12389, 15154, 14243, 14542, 13551, 14819, 14219, 12500, 11825, 13389, 13967, 14601, 12846, 12777, 14399,
      13604, 15360, 14275, 1482,  12466, 12181, 15129, 13778, 15327, 14392, 14481, 14440, 14443, 13718, 15180, 14864,
      14155, 14405, 13414, 13070, 15013, 15134, 12188, 12467, 14942, 14851, 13225, 14767, 14392, 15052, 13812, 15322,
      15092, 13656, 15121, 14915, 14587, 15050, 13050, 14725, 14548, 15140, 14582, 15256, 14727, 14590, 14849, 13786,
      11356, 14817, 12373, 12298, 13860, 11082, 14150, 13574, 14752, 14076, 14821, 14959, 14625, 15264, 14614, 14827,
      14355, 10344, 14213, 14615, 15061, 12439, 14468, 13154, 15284, 14383, 14890, 14412, 14149, 14472, 14926, 13993,
      14641, 15171, 14781, 13145, 12947, 14460, 15079, 14334, 12615, 14999, 15186, 15196, 14353, 14469, 14463, 13002,
      13222, 12367, 15230, 14639, 11884, 13924, 14306, 10514, 14267, 14709, 13312, 14045, 14767, 15236, 13136, 13564,
      15090, 13879, 14777, 13060, 14849, 13626, 14772, 12754, 13192, 11059, 14809, 13715, 14743, 15326, 11682, 14940,
      15001, 15259, 12495, 13345, 14374, 14623, 12469, 14286, 15152, 14539, 13554, 12103, 14891, 15214, 14792, 14589,
      13333, 14774, 13236, 15267, 12822, 15313, 13400, 10680, 15178, 11675, 14763, 14768, 13488, 12296, 15327, 13629,
      10754, 15079, 15134, 13082, 13724, 12625, 15072, 12016, 12175, 8693,  12380, 15244, 14810, 13580, 14749, 14387,
      14789, 13201, 15287, 14421, 11550, 14539, 15190, 15051, 15165, 14662, 15348, 13068, 15344, 14915, 14271, 15164,
      15139, 14424, 14958, 14993, 14808, 13020, 13805, 14455, 14005, 11593, 14578, 13430, 13973, 14623, 13813, 14042,
      15117, 14152, 14845, 13981, 13084, 15173, 15197, 12494, 15290, 15310, 15113, 15059, 14753, 13861, 14350, 9261,
      14570, 15273, 10601, 14614, 13511, 12111, 10253, 14059, 13561, 13971, 14712, 13934, 13660, 15269, 14971, 12354,
      14996, 14591, 13842, 12773, 13814, 12790, 14484, 12382, 14624, 14191, 12378, 15116, 12684, 12997, 14967, 14958,
      13047, 15269, 11493, 14822, 13442, 14588, 15007, 15143, 14340, 15358, 15114, 14642, 14519, 14391, 13350, 14960,
      14955, 15137, 12575, 15041, 14078, 11693, 13219, 14677, 12349, 14568, 13739, 12587, 15351, 13895, 13355, 14526,
      14910, 14515, 14676, 15074, 13644, 13561, 12228, 13685, 12776, 14880, 14721, 14385, 13613, 14790, 14501, 15228,
      14632, 12788, 11308, 8196,  12790, 11970, 14845, 14754, 14978, 13231, 13764, 14244, 14707, 14632, 9242,  14691,
      14346, 13486, 14071, 14448, 15003, 12118, 14713, 14558, 14760, 14422, 13875, 13085, 14393, 14779, 13814, 13111,
      13383, 14018, 14014, 14839, 14210, 12437, 15339, 13604, 13255, 14629, 15189, 11812, 15144, 14950, 13682, 12963,
      14100, 14212, 14821, 14517, 15276, 14529, 8493,  13500, 10752, 14522, 14509, 13676, 14529, 12640, 11053, 15280,
      14044, 13446, 11286, 11612, 14305, 14579, 13706, 12916, 14970, 13922, 15135, 15114, 13592, 15021, 14016, 15263,
      14702, 15000, 13327, 14491, 11318, 14949, 14963, 12681, 14150, 9512,  11371, 14225, 12227, 14448, 13459, 14305,
      15239, 14422, 14733, 13827, 14706, 14982, 12596, 14136, 9851,  9769,  14905, 15025, 14162, 15093, 14252, 12626,
      12374, 12762, 12035, 13241, 10954, 14646, 13949, 14180, 14235, 14558, 10275, 11083, 14919, 13859, 13848, 13996,
      14710, 13592, 12164, 14703, 13770, 14721, 14737, 10447, 15344, 14407, 14465, 12551, 12164, 14097, 14774, 11433,
      15191, 13576, 14643, 14531, 14848, 14582, 15327, 12373, 13330, 14428, 13499, 14613, 15328, 14293, 12528, 12854,
      15050, 11194, 13966, 10159, 12044, 15323, 12442, 14291, 13730, 7621,  12430, 14331, 15017, 14669, 14306, 14172,
      13537, 13048, 14247, 14831, 14781, 14660, 14549, 15142, 14835, 14988, 12002, 14360, 13185, 15315, 14304, 14346,
      13827, 14474, 14714, 10817, 13536, 13742, 11544, 13650, 13566, 11179, 14200, 9798,  14579, 14496, 14902, 13323,
      14848, 13776, 14646, 13786, 14569, 12899, 14372, 13270, 14343, 13424, 15342, 14625, 11393, 15071, 14705, 14128,
      14430, 14405, 15129, 14692, 12506, 15086, 15131, 9296,  14861, 13993, 12487, 10378, 7262,  14524, 14602, 12789,
      15325, 14425, 13418, 15162, 14152, 14702, 15297, 15187, 13744, 15250, 14461, 14875, 10122, 14458, 14063, 12743,
      14546, 14711, 14665, 14763, 14571, 12480, 14459, 15059, 12350, 14258, 15143, 14633, 14291, 14381, 13334, 13746,
      11936, 13767, 14704, 14724, 15269, 10572, 14916, 14240, 14564, 14939, 13403, 14049, 14328, 12835, 14571, 13628,
      15218, 14857, 14581, 14943, 15309, 14376, 14452, 14178, 14727, 14594, 15309, 14408, 15190, 15155, 13353, 14081,
      14178, 14753, 12683, 14510, 14358, 8334,  15131, 13286, 14329, 11491, 12389, 14982, 14191, 11493, 14472, 12930,
      14930, 14031, 14943, 14279, 14742, 13768, 12287, 14877, 13965, 13996, 14883, 14902, 11537, 14967, 11473, 15198,
      14982, 13857, 14537, 14448, 14696, 14388, 14096, 14829, 15314, 12586, 14195, 14287, 13738, 14967, 14392, 15152,
      14879, 15328, 14645, 14385, 14702, 14024, 14833, 15136, 13371, 13783, 13702, 13579, 12598, 15077, 13490, 10935,
      15127, 11977, 14303, 12646, 12844, 14046, 8742,  14972, 14982, 14420, 14442, 15101, 14515, 14755, 11503, 14877,
      13653, 14387, 14611, 14332, 15150, 13412, 14739, 13091, 8129,  13834, 14871, 15002, 12871, 13629, 13654, 15171,
      15009, 15085, 12316, 11567, 15009, 15261, 13573, 15056, 14732, 13588, 14379, 15171, 15325, 13221, 11819, 12691,
      14416, 7682,  14939, 12788, 15052, 14503, 11688, 14527, 11339, 15313, 15150, 14100, 13396, 14594, 14431, 15039,
      12000, 14817, 13488, 15202, 14710, 14741, 14217, 14517, 13382, 14079, 12370, 14990, 14584, 12725, 14595, 12642,
      11533, 14510, 9512,  14471, 14828, 12574, 14521, 14982, 13539, 14860, 14720, 10552, 14985, 13661, 11420, 13696,
      14362, 10515, 14653, 13420, 13574, 13842, 14508, 14830, 14449, 11494, 14313, 14673, 14209, 14817, 14760, 15325,
      12427, 14847, 14085, 13609, 10869, 14273, 14995, 14660, 11322, 11275, 13323, 14472, 14533, 13474, 14696, 14739,
      14767, 8285,  14735, 14583, 13389, 13920, 14861, 14999, 14418, 14663, 13542, 10913, 14829, 14093, 15194, 13299,
      14175, 14737, 13490, 15007, 13549, 14065, 14150, 9607,  12753, 14712, 14758, 12337, 13471, 13781, 15016, 12606,
      14779, 15001, 13475, 14449, 14971, 12807, 13895, 14198, 14598, 14393, 13989, 15225, 15306, 14117, 15039, 13918,
      14849, 12393, 14612, 13905, 14883, 15059, 13914, 14043, 14936, 14430, 13070, 12897, 13972, 14337, 13769, 14968,
      14557, 14746, 13365, 13025, 15023, 15299, 14620, 13806, 14778, 15358, 14191, 12524, 12255, 14752, 15312, 9470,
      12437, 15227, 14637, 15304, 14797, 12762, 10875, 12814, 3788,  15006, 14751, 14499, 14294, 14850, 14893, 14214,
      15286, 13012, 14822, 12537, 11468, 14371, 14215, 14813, 15033, 15196, 14925, 14348, 14536, 12966, 14970, 11085,
      13579, 14872, 14248, 11043, 13828, 14114, 14287, 14391, 13944, 15329, 15003, 11492, 14154, 13456, 12964, 12496,
      15261, 14923, 15336, 15037, 13390, 14493, 14713, 15019, 14293, 13816, 12662, 15160, 14489, 13974, 15213, 14889,
      15212, 15267, 14752, 8384,  14623, 14903, 11864, 9326,  15255, 11005, 13914, 14549, 14398, 15244, 13693, 14341,
      11535, 14654, 14674, 15241, 15328, 12293, 13321, 15081, 12861, 13159, 14620, 13644, 14188, 14633, 14903, 13592,
      15103, 14350, 15345, 14846, 14388, 13738, 10832, 14052, 14990, 12614, 14796, 13244, 12419, 14204, 12856, 10574,
      14500, 14512, 13559, 15188, 15274, 13894, 13515, 13458, 12779, 15261, 14628, 15334, 8955,  13353, 15231, 14660,
      11967, 4435,  14773, 15006, 14794, 14499, 14999, 11392, 13341, 11410, 14180, 14814, 13278, 11612, 14759, 15079,
      13932, 15020, 14475, 14692, 14334, 15157, 13972, 12724, 13396, 14572, 13554, 15306, 9348,  12110, 14500, 14187,
      14349, 15306, 11988, 15276, 13176, 13510, 15352, 11060, 10274, 14055, 13916, 13974, 13812, 14888, 9789,  14606,
      14849, 14668, 14740, 12950, 14676, 10339, 13928, 6121,  13608, 14449, 13549, 14252, 14362, 14584, 15153, 15264,
      14961, 14122, 14968, 14814, 14811, 9819,  14972, 13767, 14648, 13956, 14341, 13975, 13825, 13647, 13696, 15314,
      13906, 14318, 10364, 12538, 14474, 12996, 15339, 8103,  14442, 15331, 14930, 14339, 13716, 14063, 14031, 14113,
      15074, 13536, 14418, 12597, 14481, 14542, 15172, 14849, 14469, 14431, 14729, 13943, 15047, 14663, 15267, 13504,
      13551, 14845, 11375, 12531, 14638, 14169, 14607, 15284, 13715, 13134, 14272, 10766, 11235, 11853, 15015, 15210,
      13829, 15151, 13477, 10944, 13181, 12564, 12647, 14486, 13412, 15301, 12634, 14011, 11887, 14983, 14634, 14411,
      10804, 9485,  12962, 11214, 12328, 12395, 13989, 14528, 13806, 12067, 15158, 13410, 15067, 14638, 14541, 14087,
      12958, 13592, 14412, 14995, 14641, 11765, 15090, 14705, 15000, 12734, 15234, 14372, 14295, 13277, 14770, 14771,
      12810, 14520, 11019, 15314, 13267, 14179, 12742, 13361, 14904, 12140, 11992, 12478, 14525, 14825, 11815, 15216,
      13662, 14363, 14692, 14344, 12561, 14433, 14937, 13507, 15345, 6760,  15265, 13347, 15342, 15000, 12328, 14138,
      15350, 14572, 14830, 14685, 14397, 13494, 15258, 14661, 11364, 15343, 11424, 14350, 15078, 14725, 10612, 15315,
      12576, 15192, 14077, 13441, 11546, 14829, 12268, 12293, 14655, 14450, 13528, 13954, 15103, 14345, 14934, 13875,
      12185, 14507, 12663, 12896, 15354, 14390, 14705, 13549, 12529, 13556, 12874, 13536, 13400, 14685, 14849, 14374,
      14298, 13022, 14550, 11880, 14537, 14675, 14003, 15281, 15122, 14851, 15039, 15298, 14211, 13042, 14503, 14517,
      13683, 14763, 11346, 15044, 15321, 15096, 15189, 14985, 15021, 15196, 14337, 14357, 14564, 14943, 14373, 13649,
      14416, 14748, 14960, 14525, 13729, 13920, 14933, 14221, 13133, 15164, 9397,  15266, 14966, 14091, 14537, 13835,
      12753, 14873, 12268, 12311, 13190, 14888, 13878, 12792, 14889, 11654, 13777, 14329, 14540, 14158, 12539, 14376,
      14553, 14089, 13427, 14262, 14407, 14149, 14517, 13011, 14917, 13779, 14755, 13513, 14555, 14474, 13286, 14699,
      15067, 14412, 14982, 11359, 15004, 14990, 15069, 14919, 14950, 13937, 14195, 12140, 14201, 14802, 13937, 15146,
      15181, 11793, 14301, 14790, 13138, 14787, 14514, 15099, 13834, 13912, 15017, 14093, 12065, 12842, 13406, 14385,
      15135, 15214, 14418, 11339, 12475, 13842, 12559, 13595, 14595, 14670, 13792, 15253, 11269, 14291, 15079, 13200,
      12335, 12378, 14434, 11908, 13681, 14793, 15127, 14356, 12978, 14811, 11775, 13919, 12760, 14758, 13115, 13031,
      14185, 14786, 14407, 12650, 13962, 14642, 15049, 13677, 15335, 14354, 14537, 14108, 14673, 14002, 14507, 13544,
      15122, 13339, 15089, 14106, 11694, 14445, 12387, 12979, 14687, 15034, 13409, 14313, 15168, 15124, 10487, 13561,
      14101, 12167, 14054, 13066, 14116, 14450, 14392, 13553, 12829, 15132, 14744, 13027, 14425, 14314, 14351, 14538,
      13429, 15317, 13803, 15163, 13876, 11961, 13437, 14771, 15096, 14590, 14350, 13138, 12992, 11998, 14850, 14797,
      15226, 15234, 11873, 14678, 12445, 13654, 15166, 10400, 13354, 11459, 11870, 14241, 12585, 12391, 11801, 13821,
      15332, 15356, 15000, 14560, 14702, 12324, 11848, 15176, 15082, 14412, 13784, 14528, 14376, 14842, 15115, 13823,
      14363, 11269, 13465, 13087, 13715, 12974, 14681, 15022, 12342, 14265, 14674, 12826, 14340, 14520, 13047, 15316,
      14807, 14481, 12598, 14704, 13351, 15082, 15067, 13866, 13518, 14341, 14837, 15240, 14617, 14434, 10382, 14981,
      12757, 15213, 15012, 14836, 15098, 14446, 14205, 11360, 14867, 11183, 14925, 14973, 15132, 14662, 15281, 14472,
      13549, 13569, 14746, 14360, 13577, 13462, 13398, 13902, 15106, 12754, 15259, 13547, 13611, 14983, 14772, 14599,
      12614, 14450, 10473, 13737, 14772, 13969, 11955, 10848, 14957, 14402, 11446, 14605, 14938, 12756, 15299, 14719,
      12453, 14875, 12038, 14527, 12941, 11553, 13448, 13231, 14153, 14431, 13622, 14480, 14111, 12829, 10315, 14477,
      14403, 13575, 14268, 9819,  12755, 10403, 13660, 13787, 13443, 13699, 13385, 8281,  14241, 13847, 13816, 14800,
      13570, 14818, 13494, 14393, 14849, 14506, 14615, 13788, 13944, 13122, 15143, 15217, 15164, 12921, 12855, 13307,
      15167, 14993, 12959, 14562, 13566, 13639, 13129, 15091, 14359, 13464, 15020, 13249, 13602, 15278, 15101, 14380,
      11149, 14829, 13966, 13610, 14757, 13690, 15147, 14562, 9557,  14820, 10297, 15225, 12498, 12835, 13894, 13180,
      14180, 14472, 15092, 15186, 14861, 15154, 15050, 14575, 14916, 11435, 11264, 12924, 14926, 11680, 12350, 14206,
      11983, 12585, 13831, 14440, 9680,  14165, 14189, 15262, 12423, 14919, 15232, 12348, 14704, 11942, 13874, 14876,
      14497, 13414, 15086, 14382, 14736, 13597, 15042, 14514, 13887, 12503, 14151, 10874, 12706, 14781, 11952, 15081,
      13753, 14921, 10081, 14791, 14602, 14387, 14731, 14813, 14692, 15260, 12198, 15102, 7559,  15310, 15000, 12493,
      13863, 14925, 15108, 15296, 15195, 13642, 10878, 14602, 12378, 13938, 12365, 11940, 12834, 14280, 10956, 13874,
      12301, 13047, 15057, 11779, 15144, 13292, 15326, 14378, 15042, 12083, 14036, 14905, 14105, 11852, 14379, 13007,
      15076, 11791, 14982, 14432, 13345, 12955, 12652, 12331, 13562, 13186, 14600, 15088, 14488, 11367, 9824,  14634,
      10852, 8895,  14501, 14407, 12460, 11978, 12420, 13791, 14591, 13477, 12615, 13527, 13335, 12086, 12608, 14836,
      15036, 12800, 12850, 10882, 14328, 14603, 14703, 14957, 15217, 14357, 13375, 15151, 12154, 13324, 14318, 13470,
      13695, 12912, 14830, 15347, 10255, 11560, 14822, 11273, 13541, 13047, 12132, 11038, 14862, 13650, 15021, 13383,
      14704, 15064, 12557, 14741, 15103, 15065, 13970, 13449, 15065, 14729, 13885, 14012, 11767, 12651, 13736, 11480,
      10809, 14768, 12047, 10174, 14746, 13892, 14563, 13479, 13101, 14285, 11775, 14068, 13810, 12422, 13599, 12848,
      10933, 13937, 14770, 14699, 6755,  14867, 12798, 14866, 13186, 14845, 14471, 14563, 13181, 15190, 14848, 15338,
      13435, 15224, 13233, 14862, 15286, 14406, 14487, 11236, 14493, 12916, 15208, 15183, 14474, 14285, 14420, 13579,
      13761, 13549, 14512, 14650, 12536, 14683, 13692, 15078, 14256, 15032, 15239, 12488, 14582, 14558, 13495, 15244,
      12941, 14475, 14822, 13426, 14937, 15092, 14967, 13737, 11368, 8816,  12385, 13206, 13019, 14724, 13788, 15160,
      14782, 13039, 14092, 9339,  14015, 14925, 14904, 14032, 15160, 15310, 9672,  14639, 15305, 13544, 12614, 14706,
      15357, 14737, 15114, 15205, 14450, 14460, 14702, 14517, 14558, 14919, 12885, 14779, 9461,  15319, 12568, 13550,
      13249, 15267, 14166, 12426, 14439, 14854, 15035, 13305, 12616, 14024, 14951, 14754, 13931, 13462, 14956, 13139,
      13726, 12398, 15305, 15256, 13080, 14628, 13610, 14813, 14644, 14243, 10331, 12727, 13859, 14606, 13554, 15157,
      14667, 13664, 14833, 14667, 13740, 12873, 15189, 14387, 14935, 13890, 13907, 15342, 12773, 13886, 15152, 14829,
      14052, 15030, 14446, 13166, 11313, 13975, 12073, 15246, 13404, 13810, 14752, 13630, 12629, 14754, 14912, 15334,
      15248, 13617, 14580, 13750, 15094, 11908, 13645, 12972, 15324, 13209, 14508, 14948, 14917, 10841, 13988, 14567,
      15046, 14293, 14564, 15061, 13722, 14086, 13305, 12296, 15074, 11627, 13281, 14549, 15352, 15279, 10810, 12869,
      13563, 13654, 14388, 14615, 13898, 8926,  12892, 15250, 13918, 11639, 14022, 14410, 14616, 15294, 12059, 14953,
      14264, 12695, 14934, 12955, 12851, 12398, 14708, 14724, 15006, 14703, 13545, 14384, 12363, 14777, 13486, 14228,
      10036, 15317, 14048, 14216, 12377, 14131, 14999, 13452, 14206, 14608, 14568, 14954, 15056, 14978, 14941, 13611,
      14465, 10974, 11154, 13454, 13849, 15128, 13232, 13263, 13805, 12720, 14753, 15302, 14813, 13988, 15097, 14569,
      14419, 14515, 13400, 14627, 15072, 14987, 14911, 12918, 15047, 14054, 14510, 12601, 13932, 13963, 14796, 14262,
      14543, 14954, 13863, 15314, 14891, 15044, 15000, 10362, 13999, 14362, 14886, 15260, 13733, 14715, 13677, 14179,
      13461, 15171, 13255, 12089, 13883, 14715, 13940, 12857, 15187, 14448, 11068, 12947, 14766, 14592, 14554, 14713,
      12549, 14724, 13530, 14049, 13640, 14975, 15169, 14740, 14781, 14982, 13547, 14360, 14404, 14653, 12007, 14521,
      15066, 13764, 14341, 14599, 12674, 13646, 15312, 14299, 13950, 11480, 14820, 14926, 11365, 14436, 13748, 14521,
      14343, 12673, 15240, 14511, 14531, 14921, 11856, 10672, 14513, 11422, 14267, 14624, 14096, 14264, 14773, 12577,
      14849, 14396, 13814, 14431, 14493, 14454, 15094, 14543, 13719, 14999, 14623, 14355, 14927, 13783, 11995, 13354,
      13517, 15226, 12717, 13305, 11503, 13058, 14477, 14143, 14676, 14797, 15093, 15280, 13727, 14812, 12558, 15080,
      13425, 15139, 9968,  14118, 15199, 14935, 15126, 12173, 12127, 14356, 11130, 14839, 14669, 12827, 13560, 14363,
      13291, 12197, 14606, 13961, 12407, 13838, 13609, 10933, 14797, 14693, 14894, 12819, 15181, 14266, 12483, 14778,
      13803, 15112, 13295, 13649, 15304, 14515, 14509, 13828, 13939, 12574, 14691, 11065, 15267, 13477, 15307, 12992,
      14477, 15151, 15050, 14785, 15320, 13844, 14343, 12466, 13747, 11589, 15058, 14497, 12988, 15079, 11984, 13057,
      9645,  14557, 12935, 12120, 12978, 13611, 15133, 15224, 14521, 12592, 11947, 11948, 13705, 13194, 15241, 14754,
      14016, 15197, 14378, 13162, 15305, 14933, 14654, 14238, 12331, 12860, 14858, 14483, 14264, 14769, 13967, 15119,
      13986, 14493, 14432, 13412, 14617, 11662, 15196, 13119, 14498, 13529, 15286, 15321, 11370, 14532, 15227, 13392,
      14097, 14637, 15208, 14817, 12945, 14095, 14846, 12191, 10899, 15228, 14225, 13875, 15100, 10730, 10770, 13969,
      12594, 13401, 14523, 12975, 15331, 12924, 13689, 12641, 15094, 13801, 13510, 14202, 14975, 14560, 15164, 13450,
      13354, 14846, 14516, 11089, 7334,  14847, 15098, 15210, 14816, 13192, 11889, 13900, 14064, 13592, 13239, 15359,
      12686, 13006, 14305, 15181, 15206, 14598, 14896, 13860, 11996, 14719, 13409, 13244, 13598, 9775,  13135, 15343,
      15321, 9551,  15133, 13243, 14185, 14265, 15254, 14978, 12747, 14091, 11499, 13492, 14328, 10964, 14113, 14227,
      15138, 11925, 12754, 3873,  15047, 13736, 12350, 11932, 11774, 13963, 13048, 14789, 14451, 12479, 6610,  15154,
      14789, 13080, 12579, 12129, 14038, 14687, 14069, 14857, 15255, 14685, 13454, 14171, 14347, 14007, 14237, 14108,
      14757, 14436, 13444, 13824, 15123, 13518, 15019, 13228, 11665, 15206, 15109, 13958, 14803, 13359, 14668, 14707,
      15034, 14941, 14339, 10120, 10777, 14487, 14812, 15274, 15104, 12058, 13964, 14993, 14475, 15261, 13037, 14607,
      15140, 14810, 14837, 13388, 14050, 14805, 12317, 14722, 15357, 14709, 15157, 13555, 15254, 12942, 14840, 14920,
      14759, 11817, 13541, 14296, 15199, 14513, 13584, 14362, 12359, 14684, 11194, 14668, 12307, 13418, 11673, 15172,
      15145, 13068, 15264, 13351, 15274, 14581, 14805, 11564, 14730, 14527, 13492, 14449, 13701, 13942, 13481, 11407,
      12956, 11925, 15310, 14960, 12303, 14335, 15054, 14477, 11355, 14784, 14305, 11761, 12263, 10673, 14744, 15214,
      13724, 13674, 14046, 15184, 13808, 12558, 14618, 14923, 14989, 13734, 14786, 13873, 14346, 12346, 15316, 15288,
      14388, 14784, 13808, 14683, 10925, 11547, 15095, 13958, 12414, 14936, 15114, 14561, 15177, 14050, 15211, 13883,
      11972, 13692, 12668, 15067, 14932, 13989, 13546, 15029, 15103, 13987, 13977, 14628, 15011, 13745, 14388, 11339,
      14239, 14823, 12055, 14385, 13505, 15069, 12890, 10847, 11435, 13030, 14225, 14338, 15158, 14754, 14950, 14383,
      14993, 13348, 14562, 11122, 14869, 14116, 14956, 10588, 15139, 14888, 15055, 13713, 14514, 12954, 13654, 14003,
      15148, 15120, 14750, 12962, 13575, 14642, 12932, 13262, 7181,  15037, 11619, 15023, 15027, 13120, 14309, 14964,
      13036, 14128, 13901, 14874, 11956, 14804, 14831, 13670, 15066, 13214, 14680, 14584, 12729, 15291, 13680, 13619,
      14114, 13117, 14525, 13116, 13796, 12870, 14526, 12798, 15348, 13716, 14632, 13739, 12766, 12730, 13864, 13454,
      14219, 15095, 14938, 12190, 14505, 12490, 15038, 12884, 14871, 14775, 14986, 14809, 14545, 13664, 14730, 15043,
      15191, 14277, 14629, 14008, 12450, 13827, 15191, 13931, 12636, 15311, 14901, 15084, 14400, 13334, 12484, 12524,
      12832, 14005, 14077, 12812, 13717, 12661, 14230, 14921, 14051, 14707, 15135, 14413, 12917, 13698, 11471, 10725,
      9615,  15022, 14500, 13365, 10421, 12536, 15188, 14197, 14375, 14979, 14090, 11338, 14550, 14559, 14190, 14574,
      13334, 14657, 14981, 14456, 14528, 13325, 13570, 14126, 15008, 14939, 12215, 15002, 14911, 14418, 14687, 14352,
      15172, 14618, 14715, 14737, 15282, 11515, 14128, 14516, 10892, 14651, 14423, 14152, 12103, 14863, 14561, 14580,
      11807, 10206, 14894, 15341, 15113, 14223, 15313, 13059, 14871, 14364, 14857, 13826, 13969, 14695, 14633, 12700,
      14038, 14457, 12936, 15023, 12474, 12787, 14232, 12032, 14352, 12403, 14806, 14551, 8254,  14803, 15345, 15280,
      14507, 13762, 14437, 14300, 15086, 11288, 15235, 13770, 12362, 15320, 13930, 12560, 13735, 14187, 14893, 14958,
      15265, 13859, 14610, 13824, 12803, 13576, 14577, 13724, 11331, 13781, 14589, 14848, 14746, 10967, 14184, 13019,
      12384, 13919, 14315, 12791, 15187, 14963, 14643, 15157, 14968, 15017, 15013, 14565, 13542, 15084, 12332, 14269,
      12474, 14828, 14313, 11836, 12849, 13760, 12379, 14538, 13680, 14697, 14845, 14326, 12735, 13501, 12418, 15339,
      12468, 13051, 15024, 14892, 14594, 12898, 13940, 15119, 15303, 15293, 14412, 13927, 15358, 13362, 14022, 13883,
      14468, 15259, 10314, 14310, 15146, 12298, 15256, 14378, 13156, 15276, 15095, 14001, 12988, 15194, 15009, 13693,
      14962, 14035, 13504, 14565, 12695, 14892, 12042, 13467, 15086, 14038, 11729, 13315, 14456, 12959, 12862, 15089,
      14346, 12992, 14969, 13334, 13768, 14851, 13396, 12098, 14503, 12604, 15336, 14453, 13555, 10722, 13244, 13445,
      13920, 13408, 15168, 13464, 14124, 14604, 13870, 11290, 15340, 14406, 13358, 15271, 14384, 15092, 14459, 14571,
      14709, 14353, 12653, 14996, 14869, 12916, 14074, 13844, 14472, 14444, 14147, 12691, 15213, 9991,  13987, 14988,
      13418, 14775, 14085, 12471, 14547, 14435, 14419, 14479, 14598, 14469, 14816, 14536, 13478, 14464, 14050, 15085,
      14479, 13123, 14959, 14630, 15040, 13672, 13936, 13157, 14915, 14868, 8012,  14958, 14921, 15230, 14213, 13767,
      15009, 14914, 12673, 15290, 14073, 13147, 14785, 14703, 15058, 14363, 14600, 13354, 13537, 14100, 14118, 14160,
      14982, 15317, 14821, 13578, 14833, 14695, 10473, 15351, 14057, 14503, 13681, 14499, 14926, 14095, 14415, 14327,
      13850, 13011, 14528, 13618, 13647, 14029, 15139, 15048, 13493, 15079, 12291, 11978, 12003, 14520, 15266, 13406,
      10919, 12541, 14721, 6213,  13008, 13471, 15245, 14307, 12178, 13278, 15199, 13721, 14651, 11570, 10743, 14344,
      9351,  10886, 15040, 8793,  15014, 14733, 12420, 13812, 15314, 10682, 13903, 15294, 13948, 15268, 14805, 12245,
      11423, 15186, 14234, 11252, 13994, 13337, 15320, 14119, 13125, 14434, 14755, 12922, 13051, 12661, 14851, 14886,
      14444, 14780, 14636, 14928, 14993, 14768, 15256, 14787, 14566, 11765, 13914, 15150, 14661, 14130, 14170, 12957,
      12306, 14572, 13578, 14560, 15185, 14704, 15304, 14897, 14641, 15101, 15017, 14766, 15304, 11597, 14300, 12834,
      15025, 14367, 14320, 15194, 14342, 14914, 12288, 12544, 14335, 14707, 13957, 13680, 14040, 14595, 14003, 15131,
      14777, 14791, 15079, 13713, 14837, 14701, 15304, 14702, 12108, 13631, 14949, 14856, 14770, 14970, 13955, 14024,
      12838, 12643, 13572, 14734, 13467, 14907, 15024, 11855, 14593, 15059, 9452,  15033, 12884, 15115, 13212, 14524,
      8330,  14731, 14806, 13861, 14660, 13219, 14480, 15086, 13647, 15324, 10735, 12495, 14559, 14964, 11286, 14908,
      10278, 15282, 14825, 14374, 13156, 14627, 14667, 14242, 12257, 13120, 11541, 14376, 10429, 12219, 13593, 14905,
      14880, 15176, 11704, 15114, 14461, 14812, 14059, 14091, 14481, 13238, 11473, 11426, 15012, 14112, 13947, 14790,
      13613, 13668, 12480, 14141, 13363, 15227, 12453, 15264, 12544, 15067, 14511, 14920, 15039, 14657, 14855, 15110,
      13843, 12336, 13502, 14413, 14783, 12502, 14967, 14345, 14804, 15272, 14285, 15285, 14375, 14453, 15343, 14431,
      13657, 14740, 14844, 14972, 12547, 14985, 14362, 13985, 12274, 14815, 12668, 11610, 14759, 12743, 14528, 12898,
      14993, 14861, 14661, 12400, 14833, 13927, 15202, 14251, 14858, 12946, 13324, 15233, 13136, 11571, 12885, 15172,
      9778,  14909, 15357, 14910, 14510, 14446, 14588, 14553, 13194, 13477, 14801, 14488, 14507, 14881, 6980,  15179,
      15317, 14907, 13446, 14528, 14198, 13955, 14794, 12750, 14453, 15345, 14373, 14580, 14225, 13514, 14549, 15043,
      15292, 13611, 14208, 15058, 14236, 13492, 14752, 14762, 12984, 11133, 14288, 14261, 14909, 14264, 13359, 12165,
      14727, 14579, 12582, 13073, 14274, 14592, 15255, 10553, 15096, 15039, 15197, 13512, 12693, 14844, 10294, 14836,
      14422, 14668, 14058, 12529, 12108, 14673, 14248, 14641, 13283, 14494, 13047, 14026, 15132, 15173, 13523, 13486,
      14669, 9654,  14658, 13230, 14698, 14627, 13102, 12101, 15346, 14893, 13753, 14560, 13343, 12247, 14695, 12735,
      14622, 13441, 14692, 11659, 14188, 14914, 12839, 12889, 11337, 14973, 13190, 15100, 14512, 14047, 12658, 14248,
      14552, 14434, 15184, 13185, 14058, 12366, 14823, 15135, 15063, 15074, 14102, 14646, 15142, 14577, 13980, 10700,
      14058, 14421, 14322, 14257, 15340, 13598, 15053, 15353, 14877, 13795, 13438, 14101, 15112, 13784, 13512, 14845,
      14597, 14686, 13792, 13354, 14345, 15149, 14013, 14798, 14836, 13547, 14391, 11226, 14620, 14128, 8600,  13745,
      10650, 14735, 14656, 12519, 13206, 14149, 14049, 12914, 14021, 14062, 12689, 14512, 10419, 13706, 13723, 14920,
      14766, 15034, 14887, 12259, 12655, 15095, 14544, 15192, 13533, 14381, 13394, 14325, 15048, 13821, 13666, 14317,
      14777, 14724, 14020, 11402, 14342, 14717, 12257, 12215, 14255, 12738, 14213, 14556, 14527, 14075, 15163, 11574,
      15261, 13724, 12727, 14674, 15195, 13147, 15036, 15071, 14971, 14566, 15164, 13735, 14733, 14695, 13403, 13867,
      12648, 14275, 13749, 14945, 15214, 14233, 8642,  13952, 14929, 14409, 14274, 13879, 9378,  14429, 15062, 15340,
      12419, 11760, 13704, 13560, 13889, 14461, 14580, 14429, 15254, 14635, 12906, 13736, 13277, 12039, 14374, 13760,
      14528, 12951, 13428, 12562, 13234, 14335, 14952, 14908, 14962, 12488, 14453, 13639, 12989, 14435, 13996, 14183,
      12502, 15288, 14232, 15041, 15246, 13288, 12936, 15321, 14738, 14925, 14310, 11959, 13860, 14198, 14055, 14318,
      14787, 13512, 13965, 8042,  15030, 9184,  14467, 15078, 11620, 10594, 14474, 14681, 12986, 14248, 14275, 14052,
      14986, 12078, 13190, 15182, 14424, 14081, 13355, 14583, 14672, 14336, 15065, 14958, 13588, 14626, 14626, 14724,
      14094, 15209, 13943, 9600,  15263, 15227, 14223, 14747, 13210, 14912, 14563, 10713, 14061, 11812, 13908, 12306,
      14418, 15311, 13827, 12251, 13555, 13818, 13320, 14512, 14610, 14641, 13744, 14562, 14738, 12917, 12750, 10776,
      13335, 14306, 13834, 14762, 13481, 14799, 14599, 10128, 15349, 13570, 15279, 13927, 13434, 14618, 11660, 14290,
      15116, 11570, 12278, 13500, 15314, 13394, 15267, 14464, 14531, 14954, 14923, 13644, 14268, 14618, 11847, 12437,
      15177, 15176, 14966, 14698, 10899, 15257, 12724, 13493, 14985, 14931, 13532, 13565, 14786, 14010, 14408, 13635,
      14507, 14435, 13148, 11691, 12045, 15249, 13324, 14388, 15201, 14404, 11615, 14654, 10615, 11218, 12317, 14885,
      14677, 15129, 14463, 12614, 14815, 15046, 14393, 15163, 14271, 13957, 14957, 14697, 14209, 14757, 11000, 15283,
      12334, 14884, 14570, 13276, 15243, 14108, 9724,  12914, 14727, 10978, 15159, 15097, 14190, 15312, 11475, 13625,
      15173, 14999, 14433, 14192, 15153, 14488, 14109, 14879, 15339, 11292, 14980, 15138, 15273, 14843, 14968, 14920,
      13560, 14850, 15275, 14804, 12301, 15170, 11419, 14042, 11293, 13892, 14103, 15306, 13769, 12441, 15190, 15186,
      13384, 12808, 11371, 15342, 13814, 14588, 14972, 14868, 14753, 12697, 15187, 13871, 13549, 14736, 11961, 14156,
      14581, 14336, 14643, 14517, 13993, 14439, 14956, 14568, 15327, 11686, 11731, 12019, 8432,  14345, 9738,  13893,
      13819, 14253, 11351, 11585, 11172, 14405, 14727, 14847, 14921, 12027, 12296, 15173, 12582, 13787, 12812, 13969,
      13831, 14353, 13354, 15075, 14875, 14975, 15017, 13472, 14404, 14249, 10728, 14048, 14371, 14350, 14149, 9056,
      15264, 14431, 15066, 13852, 14604, 12457, 12733, 14755, 13486, 13945, 13586, 14673, 13291, 14990, 15345, 15133,
      11274, 5298,  14538, 7809,  14909, 13909, 14245, 13367, 15161, 15267, 14853, 14668, 15166, 12708, 6841,  14367,
      13406, 15227, 14611, 14463, 15285, 13009, 12641, 15203, 14952, 14170, 14893, 15332, 14808, 14928, 8828,  13370,
      14353, 9471,  14879, 13680, 12029, 13759, 11798, 15281, 13665, 13695, 15053, 15144, 11506, 15360, 13149, 13788,
      12565, 14364, 15162, 13179, 13781, 12637, 12878, 14301, 15152, 14471, 13554, 13816, 15245, 11918, 12444, 14729,
      13444, 14412, 14748, 15278, 14395, 14470, 15149, 14514, 14821, 13434, 13693, 14435, 13402, 14310, 15016, 10116,
      12859, 14433, 15208, 13362, 14734, 13919, 15235, 11982, 13999, 14235, 13441, 14338, 14298, 11710, 13711, 10520,
      15359, 13622, 15107, 10751, 15083, 12412, 15300, 14151, 14199, 14345, 13464, 13433, 11815, 13502, 15317, 15064,
      12604, 3463,  14300, 14415, 13232, 12790, 14926, 14338, 14702, 14100, 14679, 14403, 14776, 15315, 14699, 13691,
      13933, 13894, 12123, 15106, 12939, 12459, 13511, 13956, 12596, 14864, 13427, 10252, 14459, 14673, 13595, 13307,
      12870, 11893, 13185, 14965, 14629, 13386, 14473, 5911,  14997, 13340, 13948, 14240, 12318, 14964, 8944,  10144,
      15037, 13518, 14970, 15181, 15023, 14379, 14413, 15288, 15102, 13385, 13776, 14374, 14145, 15133, 13331, 13700,
      14668, 14365, 13477, 12767, 15165, 15359, 13335, 12995, 13801, 14599, 12980, 12834, 14886, 15341, 14866, 14769,
      14990, 15270, 10061, 14613, 14247, 14439, 11215, 12383, 15069, 12985, 15161, 15317, 13110, 15066, 15014, 14623,
      13951, 12326, 13540, 15000, 14808, 14754, 15108, 15081, 15105, 12056, 13153, 10839, 14351, 15336, 13849, 12937,
      13491, 14573, 15292, 14995, 14783, 15083, 15199, 13129, 13649, 15065, 15191, 13407, 14522, 13768, 15185, 14915,
      14114, 15216, 10627, 14860, 14427, 15048, 14640, 14423, 13988, 12462, 11858, 14583, 13965, 14271, 14372, 11429,
      13747, 12993, 14680, 13477, 13327, 15005, 13688, 14123, 14923, 14148, 13400, 10973, 15350, 11896, 11537, 14870,
      13092, 15127, 13849, 14717, 14999, 14780, 11476, 14881, 11205, 14072, 14463, 13066, 8487,  14861, 15294, 15066,
      12609, 14076, 14513, 9345,  9259,  15016, 9944,  14546, 10877, 11405, 14338, 14860, 14503, 14342, 12323, 14900,
      11873, 9967,  14211, 13594, 12061, 13727, 14286, 13564, 13649, 14378, 13026, 13793, 13369, 14360, 14666, 14407,
      15331, 14338, 15203, 14709, 13857, 15018, 14949, 14739, 14855, 14548, 11317, 14884, 13394, 14256, 14814, 12852,
      13930, 12997, 12682, 15303, 15313, 12775, 15204, 13995, 12211, 14890, 14110, 12662, 15172, 14836, 14740, 15269,
      13967, 14349, 15225, 14640, 14615, 13811, 14248, 14586, 14199, 15312, 12735, 14640, 13790, 11272, 15344, 14621,
      14608, 14802, 15003, 10266, 14296, 9500,  13383, 13953, 14877, 13651, 13840, 15110, 15032, 14695, 15236, 14370,
      15128, 14654, 14963, 14052, 13931, 14486, 15173, 13545, 13254, 13505, 12941, 12752, 14366, 15287, 12375, 13317,
      14035, 13733, 11644, 13874, 15214, 14604, 14374, 15271, 14303, 14186, 13261, 14448, 14722, 14697, 15200, 14822,
      15177, 14634, 11510, 15063, 13414, 14598, 13546, 14370, 12670, 11670, 12596, 12886, 14645, 15103, 14666, 14158,
      14441, 14176, 12283, 15338, 13723, 14997, 11677, 15221, 14799, 13601, 14806, 13039, 13856, 14066, 11499, 14808,
      15162, 12171, 14364, 14610, 13827, 14609, 15131, 13963, 12645, 12388, 14282, 13610, 15287, 12249, 13493, 14893,
      12784, 13312, 13323, 15118, 14592, 12914, 14677, 14463, 14080, 9575,  15189, 15050, 13630, 15194, 15152, 14190,
      15010, 13790, 11101, 15050, 9382,  13766, 14614, 11843, 10357, 15121, 14363, 15024, 11649, 14837, 13573, 13417,
      14678, 14697, 13620, 13494, 14008, 12382, 14931, 14526, 15024, 10531, 12578, 14999, 14688, 14988, 13990, 14695,
      15023, 10403, 13875, 13942, 15091, 14980, 14388, 11504, 14582, 13769, 14716, 11785, 12997, 14014, 15188, 14361,
      14273, 14409, 7729,  14733, 12450, 12628, 12432, 14651, 14676, 13389, 12659, 14798, 13592, 14970, 15056, 13942,
      11800, 11301, 13461, 12508, 14831, 14112, 14934, 15106, 14996, 14810, 13201, 13448, 14198, 14902, 10136, 15184,
      13244, 14972, 12665, 13937, 13947, 12821, 13638, 14208, 11331, 12622, 14734, 14825, 10915, 14744, 13737, 14355,
      15173, 11336, 14402, 13431, 12443, 14728, 11977, 15316, 14614, 12748, 13321, 15262, 13551, 15133, 14462, 15002,
      14747, 13611, 13042, 14538, 13974, 14781, 14363, 15003, 14375, 15181, 9321,  12026, 14085, 15286, 13447, 13874,
      15197, 14873, 11636, 15152, 14220, 15088, 14562, 8319,  13527, 13143, 12333, 15025, 14200, 7386,  15127, 14002,
      15130, 15040, 15110, 14152, 14592, 12306, 11117, 10956, 11308, 13804, 14272, 15225, 13817, 13673, 12988, 15145,
      15230, 13812, 14046, 12758, 13959, 14512, 14775, 15063, 14497, 14679, 11830, 13636, 11293, 13255, 10004, 14486,
      13220, 14711, 14924, 15043, 13579, 15296, 14716, 12300, 14404, 14494, 12125, 13755, 14675, 14738, 13735, 12059,
      14365, 13542, 15057, 11654, 15042, 12108, 11294, 14065, 14713, 13973, 13038, 13832, 14226, 15061, 15314, 12933,
      14392, 14482, 12975, 14081, 13749, 15178, 14077, 11318, 15253, 14473, 10576, 13982, 13447, 13369, 14980, 12925,
      15007, 14229, 14870, 11437, 15036, 10133, 15355, 10676, 13193, 13460, 11757, 14618, 15245, 14130, 12940, 12682,
      14568, 12988, 14988, 14834, 15040, 6859,  14969, 13710, 13276, 15295, 14045, 14643, 15119, 14030, 14419, 14796,
      13871, 13523, 15087, 14435, 14791, 13931, 14435, 11915, 11540, 14382, 12476, 15243, 15032, 15146, 13698, 12939,
      14635, 15311, 13406, 15073, 13591, 14331, 14409, 12316, 14905, 13886, 13896, 9780,  14564, 15196, 13183, 14094,
      15351, 14608, 13488, 15242, 11923, 15098, 14717, 12353, 14921, 8391,  15137, 15016, 13869, 14768, 9070,  9468,
      14704, 13499, 14340, 14399, 15153, 14457, 12856, 15002, 14575, 15300, 13278, 14089, 14208, 11821, 9884,  14798,
      12265, 13619, 14544, 14349, 15037, 15300, 15181, 15144, 14794, 12552, 14188, 14683, 13929, 14884, 14893, 13930,
      15181, 15120, 12783, 12751, 15117, 15030, 12678, 13724, 14812, 13078, 15161, 13756, 14738, 13928, 12667, 12744,
      14341, 14734, 15027, 12444, 13480, 11411, 14606, 8850,  13804, 14920, 15225, 14578, 14709, 12427, 9550,  14292,
      14815, 13430, 7984,  15116, 14345, 14420, 10854, 15130, 14761, 7493,  14692, 11789, 15282, 14598, 13571, 13384,
      13347, 10487, 14251, 13003, 13086, 15247, 13405, 15270, 15011, 14692, 15319, 14717, 12816, 13346, 14571, 15191,
      15328, 15005, 14003, 15235, 15156, 12527, 14719, 15221, 13280, 14704, 13151, 14133, 14185, 12821, 15261, 12364,
      13471, 15163, 14766, 13435, 15180, 11697, 14882, 15146, 15189, 14255, 14553, 10959, 11501, 13420, 14612, 12845,
      14645, 12955, 14762, 15018, 15275, 15123, 14427, 14345, 11940, 13840, 14644, 14429, 14748, 14883, 11869, 15129,
      12859, 13106, 13287, 14515, 13052, 15351, 14896, 14387, 7659,  14432, 14390, 14761, 14148, 13759, 15124, 15098,
      14583, 14450, 14415, 11894, 12305, 13454, 15309, 14256, 14742, 14394, 14444, 13531, 12184, 14542, 12247, 13452,
      13691, 14885, 11229, 13735, 15209, 14649, 13608, 14492, 14464, 13767, 14584, 13750, 14206, 12337, 10246, 12768,
      13544, 15151, 15056, 15203, 12786, 14411, 14230, 14637, 14983, 13307, 15151, 15301, 15236, 11333, 14971, 15147,
      15341, 12940, 15056, 14806, 14776, 13062, 14751, 15103, 11685, 14269, 15071, 15200, 13980, 12782, 15099, 13870,
      15108, 11671, 14815, 10845, 14341, 14987, 14131, 14740, 15118, 14677, 15050, 10537, 13065, 13681, 15191, 13329,
      15288, 14810, 15150, 14376, 13496, 15158, 14679, 9719,  14461, 13751, 12515, 14614, 14784, 14524, 14561, 13210,
      11423, 13598, 12837, 14953, 12813, 14541, 12952, 15272, 12314, 12508, 14576, 10167, 14289, 12777, 15032, 14690,
      11190, 14924, 14753, 14481, 15280, 15158, 14538, 14988, 14413, 13634, 15095, 14711, 13064, 14701, 15091, 14629,
      12820, 12348, 12769, 9412,  13498, 13272, 14303, 13326, 12813, 14723, 14621, 15013, 14669, 14032, 14840, 15187,
      14509, 9608,  11418, 15359, 12654, 14170, 13775, 15262, 13300, 14955, 14094, 15068, 15192, 11902, 15304, 14672,
      14678, 15239, 15291, 11994, 13998, 14588, 14403, 13584, 9800,  14566, 15081, 15205, 13739, 11780, 14499, 15107,
      13557, 8078,  13356, 14825, 14055, 11887, 12696, 10346, 14774, 14767, 14670, 14724, 15208, 14489, 13620, 13561,
      12825, 14804, 13142, 15239, 14432, 14430, 15100, 12811, 14641, 14262, 14482, 14535, 15119, 12861, 14437, 15337,
      15113, 15094, 15271, 14767, 13761, 15008, 13398, 14406, 14873, 15089, 14814, 14390, 13930, 14530, 11085, 13302,
      14334, 14263, 15120, 14371, 15220, 13865, 13436, 14158, 11361, 15166, 14638, 15025, 15318, 15108, 14395, 15159,
      11392, 15063, 15195, 12784, 13446, 12542, 14382, 14585, 15347, 14075, 15037, 15354, 14354, 8965,  10321, 11294,
      14355, 7897,  15016, 14919, 13248, 13559, 14902, 12035, 13180, 13637, 11185, 15265, 13974, 11685, 10559, 14762,
      13023, 15022, 14438, 13522, 14823, 13712, 14517, 13085, 14153, 14639, 14881, 13127, 14644, 13699, 14995, 13195,
      12010, 14306, 14834, 14341, 15287, 14707, 14704, 13345, 13015, 9909,  15337, 14020, 15156, 11968, 14436, 14519,
      10085, 11721, 13093, 14349, 15137, 13732, 14606, 13149, 15103, 13724, 15329, 14980, 12200, 13435, 13544, 15236,
      15129, 14940, 14020, 15266, 14598, 14553, 15119, 14959, 15193, 14209, 13286, 14481, 15104, 14666, 15247, 13656,
      14029, 13671, 14472, 14088, 12661, 15033, 14479, 15158, 14926, 14067, 14431, 14510, 14213, 10423, 12290, 14124,
      13771, 12993, 14274, 14882, 13904, 14825, 12590, 14363, 15173, 15024, 14689, 15201, 12799, 12581, 11910, 12041,
      12413, 12043, 15002, 15185, 15277, 13604, 12226, 13595, 15057, 14034, 15045, 14697, 11716, 15244, 14280, 15078,
      14906, 13513, 15240, 13580, 9321,  14993, 13161, 11324, 14676, 13584, 14727, 14796, 12385, 15108, 9792,  13514,
      15196, 14627, 14192, 12219, 15223, 13367, 15244, 13489, 14191, 14201, 14505, 15031, 14884, 14722, 13538, 8450,
      14227, 13098, 14707, 13463, 13248, 14008, 14613, 14001, 14589, 13967, 13640, 13344, 13927, 14364, 14436, 12350,
      14587, 14752, 15168, 14002, 14780, 14740, 13114, 14654, 13595, 13782, 11757, 14742, 10344, 13009, 14981, 14552,
      13893, 14579, 14388, 14455, 15317, 11047, 8780,  12909, 14503, 14526, 14122, 14813, 14672, 14346, 14385, 11685,
      15238, 14748, 12760, 14868, 12645, 13702, 13361, 14171, 15355, 14163, 13625, 14869, 13061, 14757, 12315, 12576,
      13520, 14671, 7508,  14481, 14720, 13861, 14001, 14394, 15070, 7713,  14049, 13871, 14661, 15206, 13872, 13570,
      15096, 14326, 14542, 14938, 13706, 14763, 13985, 15327, 15094, 13508, 14182, 13645, 14161, 4383,  14644, 12542,
      14513, 14543, 13444, 13721, 14462, 15073, 14350, 15124, 14545, 11041, 13935, 14845, 11770, 12553, 14604, 13580,
      14343, 14625, 14557, 14833, 13000, 14155, 14389, 12561, 14349, 15101, 14737, 10255, 14944, 14892, 14670, 2232,
      14889, 14835, 14009, 15273, 13103, 14382, 15147, 14519, 14936, 14032, 14003, 15210, 14550, 14523, 14839, 14893,
      14766, 13478, 12661, 15335, 8021,  14297, 10344, 10285, 14271, 14062, 13358, 14273, 13252, 14759, 11409, 14572,
      15235, 14200, 13630, 14782, 13523, 15120, 14672, 15050, 9742,  14868, 14365, 13785, 13874, 13291, 12751, 13469,
      14434, 12939, 14338, 14145, 12845, 14902, 13516, 15277, 13071, 14471, 13834, 13963, 13736, 14655, 14811, 12686,
      14710, 15033, 8349,  13943, 14176, 14575, 15249, 14713, 14097, 14548, 13546, 14274, 12352, 11948, 14930, 15001,
      12253, 10201, 15350, 10813, 13725, 12857, 15214, 15143, 14347, 14819, 14198, 10498, 12048, 11027, 13844, 14649,
      14636, 13847, 13239, 12471, 15155, 8549,  13449, 15019, 12616, 14065, 14869, 14512, 12852, 14485, 14322, 14013,
      14518, 14965, 13465, 12930, 14763, 14349, 14754, 14549, 14808, 13041, 12226, 14933, 13436, 13774, 14400, 14924,
      13695, 11877, 14601, 15146, 14120, 13561, 13714, 14984, 14278, 13772, 15169, 11031, 15241, 13154, 14205, 15006,
      14824, 14123, 14830, 14090, 14550, 12732, 12341, 14401, 15045, 15163, 14753, 14983, 15344, 14520, 14509, 14447,
      13592, 14904, 13538, 14480, 14724, 14965, 15360, 13579, 10575, 14523, 12729, 14512, 15016, 11102, 14400, 14489,
      14347, 15126, 15155, 14346, 13018, 13258, 13450, 15063, 14280, 15183, 13856, 14490, 13522, 14596, 13422, 14867,
      15251, 13171, 11683, 14805, 14969, 13319, 14948, 14742, 14958, 14396, 14982, 15171, 13541, 13659, 12500, 15231,
      12638, 14163, 15340, 15208, 13191, 15255, 14144, 9530,  11872, 14454, 14589, 15155, 13483, 14490, 14996, 14230,
      15274, 14457, 13963, 12362, 15107, 12713, 14007, 10500, 14413, 14043, 9338,  14526, 13463, 14565, 14756, 11904,
      13696, 13693, 12241, 13223, 14407, 13386, 12724, 15155, 14920, 13962, 14717, 11634, 12880, 15160, 15169, 14293,
      8156,  14105, 14541, 13926, 15043, 14492, 14534, 14132, 14157, 13910, 14401, 15176, 14680, 14561, 12791, 14759,
      14602, 15107, 14764, 14560, 14810, 15270, 15343, 15243, 12927, 13736, 14123, 14245, 11980, 11029, 12833, 14994,
      10386, 14840, 11634, 14103, 11899, 13417, 13614, 13277, 15184, 13904, 13702, 14158, 11270, 14291, 11789, 13538,
      12101, 15081, 14930, 14529, 11035, 15048, 15278, 15306, 12646, 14936, 14827, 12972, 15251, 15308, 14616, 15251,
      14713, 12537, 13337, 11895, 15220, 14931, 15147, 14719, 14453, 14146, 14821, 15267, 12124, 13721, 14293, 13917,
      10766, 13873, 14937, 14519, 14467, 14827, 13313, 14249, 13492, 15042, 14694, 15180, 14526, 15351, 14368, 15207,
      14145, 13564, 14676, 13211, 12484, 15066, 14791, 15270, 13457, 13080, 14377, 15243, 14937, 13190, 14399, 13989,
      13401, 15339, 15119, 13560, 5320,  13866, 15077, 14716, 12468, 13400, 14784, 15170, 7929,  15272, 14279, 15082,
      13636, 13111, 14351, 14844, 10603, 13524, 15184, 13382, 14961, 15276, 14878, 12396, 13999, 13919, 15244, 13794,
      14452, 15234, 14629, 13727, 14734, 14269, 15035, 13347, 14374, 6474,  14268, 13970, 12928, 13934, 15145, 13028,
      15166, 14517, 12997, 13460, 13886, 14586, 14570, 14850, 14298, 13117, 14339, 14037, 15032, 15086, 14547, 15328,
      13619, 15212, 15018, 12562, 14034, 15204, 14849, 11125, 14345, 14819, 14442, 13955, 14813, 14440, 14388, 14915,
      13931, 11836, 14358, 13945, 11286, 14821, 13685, 15173, 14907, 12319, 15003, 14916, 13710, 13001, 14452, 15357,
      10458, 15175, 13364, 13066, 13544, 13965, 15172, 13894, 13822, 13999, 13317, 15246, 14439, 13769, 13162, 13929,
      14197, 14221, 14267, 15104, 14051, 14385, 12467, 13062, 14211, 13401, 14403, 13916, 14897, 14340, 14533, 13414,
      11692, 11573, 14369, 13053, 12228, 14285, 15088, 14747, 14259, 10285, 14469, 14601, 13911, 14725, 14254, 14062,
      14557, 15222, 12314, 10570, 12399, 14066, 11366, 13560, 13664, 13481, 14949, 15180, 14063, 12109, 14947, 14733,
      13114, 14747, 12657, 14870, 13751, 14524, 12440, 15226, 13397, 14985, 13611, 13734, 11876, 13606, 14705, 13763,
      14046, 13856, 12965, 15320, 13556, 12985, 14126, 14429, 11914, 14094, 14810, 14479, 15152, 11322, 15193, 15314,
      13969, 14807, 10339, 14658, 14467, 14852, 14893, 15045, 14753, 12692, 14880, 13819, 14487, 11560, 14831, 13334,
      13921, 14386, 14451, 13081, 11163, 14774, 15292, 14345, 9352,  11786, 15002, 14526, 15236, 14807, 14055, 14525,
      14612, 14843, 10387, 13825, 13245, 15198, 13844, 14945, 9262,  15064, 11901, 14543, 13928, 14456, 14732, 14512,
      11881, 14126, 12565, 15311, 13871, 14886, 14648, 10251, 12139, 14471, 15136, 15181, 14061, 15144, 10329, 15286,
      9320,  12559, 13120, 7376,  15002, 14406, 12635, 9936,  15023, 14286, 13169, 12831, 10280, 8443,  12690, 14727,
      13580, 11936, 14578, 13241, 12235, 15066, 14056, 14869, 11079, 13376, 14772, 13761, 14332, 14193, 14730, 14555,
      12284, 14192, 12558, 12286, 14365, 14669, 13385, 13065, 15203, 14062, 10917, 14832, 14169, 15036, 14762, 14590,
      12606, 15305, 12166, 13768, 13982, 14372, 13964, 13587, 13364, 14632, 14652, 15033, 13618, 14445, 14667, 15097,
      15262, 13214, 14377, 12749, 12324, 12743, 13977, 14033, 14955, 11165, 13611, 13665, 15159, 10704, 10892, 14253,
      8830,  11904, 12804, 13374, 13882, 11712, 13391, 13716, 9564,  11900, 13449, 15090, 14662, 12934, 14385, 12376,
      15342, 15128, 15011, 9948,  14725, 15073, 10810, 15318, 14478, 15169, 10680, 15167, 14705, 15314, 11605, 13945,
      14169, 15276, 14462, 14660, 10582, 13592, 15220, 14719, 14729, 12083, 14998, 14074, 14526, 12458, 14019, 13318,
      13656, 15005, 10013, 15172, 15004, 15182, 12050, 14433, 15073, 11794, 13657, 15263, 14688, 13235, 11053, 15198,
  };
  uint16_t ret[16 * 16 * 3 * 8] = {
      15218, 12000, 14363, 13803, 13850, 13819, 14568, 14889, 14570, 14500, 15076, 15145, 9778,  13951, 13544, 8156,
      13537, 12185, 15248, 11807, 14528, 12784, 12010, 14557, 13789, 14817, 11269, 15112, 13011, 14253, 12988, 14835,
      15273, 14512, 11791, 13068, 14909, 12326, 15151, 14105, 13048, 14507, 13617, 10206, 12951, 13312, 14306, 15222,
      13063, 13488, 13465, 13295, 14528, 11351, 14988, 14009, 10601, 13559, 14982, 15264, 15357, 13540, 15056, 14541,
      14247, 12663, 14580, 14894, 13428, 13323, 14834, 12314, 9806,  15202, 13087, 13649, 13618, 11585, 14834, 15273,
      14614, 15188, 14432, 13351, 14910, 15000, 15203, 13926, 14831, 12896, 13750, 15341, 12562, 15118, 14341, 10570,
      14988, 14710, 13715, 15304, 13647, 11172, 15040, 13103, 13511, 15274, 13345, 15274, 14510, 14808, 12786, 15043,
      14781, 15354, 15094, 15113, 13234, 14592, 15287, 12399, 15221, 14741, 12974, 14515, 14029, 14405, 6859,  14382,
      12111, 13894, 12955, 14581, 14446, 14754, 14411, 14492, 14660, 14390, 11908, 14223, 14335, 12914, 14707, 14066,
      11097, 14217, 14681, 14509, 15139, 14727, 14969, 15147, 10253, 13515, 12652, 14805, 14588, 15108, 14230, 14534,
      14549, 14705, 13645, 15313, 14952, 14677, 14704, 11366, 15162, 14517, 15022, 13828, 15048, 14847, 13710, 14519,
      14059, 13458, 12331, 11564, 14553, 15081, 14637, 14132, 15142, 13549, 12972, 13059, 14908, 14463, 13345, 13560,
      11381, 13382, 12342, 13939, 13493, 14921, 13276, 14936, 13561, 12779, 13562, 14730, 13194, 15105, 14983, 14157,
      14835, 12529, 15324, 14871, 14962, 14080, 13015, 13664, 15333, 14079, 14265, 12574, 15079, 12027, 15295, 14032,
      13971, 15261, 13186, 14527, 13477, 12056, 13307, 13910, 14988, 13556, 13209, 14364, 12488, 9575,  9909,  13481,
      14921, 12370, 14674, 14691, 12291, 12296, 14045, 14003, 14712, 14628, 14600, 13492, 14801, 13153, 15151, 14401,
      12002, 12874, 14508, 14857, 14453, 15189, 15337, 14949, 14612, 14990, 12826, 11065, 11978, 15173, 14643, 15210,
      13934, 15334, 15088, 14449, 14488, 10839, 15301, 15176, 14360, 13536, 14948, 13826, 13639, 15050, 14020, 15180,
      14806, 14584, 14340, 15267, 12003, 12582, 15119, 14550, 13660, 8955,  14488, 13701, 14507, 14351, 15236, 14680,
      13185, 13400, 14917, 13969, 12989, 13630, 15156, 14063, 13951, 12725, 14520, 13477, 14520, 13787, 14030, 14523,
      15269, 13353, 11367, 13942, 14881, 15336, 11333, 14561, 15315, 14685, 10841, 14695, 14435, 15194, 11968, 12109,
      13796, 14595, 13047, 15307, 15266, 12812, 14419, 14839, 14971, 15231, 9824,  13481, 6980,  13849, 14971, 12791,
      14304, 14849, 13988, 14633, 13996, 15152, 14436, 14947, 9764,  12642, 15316, 12992, 13406, 13969, 14796, 14893,
      12354, 14660, 14634, 11407, 15179, 12937, 15147, 14759, 14346, 14374, 14567, 12700, 14183, 14190, 14519, 14733,
      12642, 11533, 14807, 14477, 10919, 13831, 13871, 14766, 14996, 11967, 10852, 12956, 15317, 13491, 15341, 14602,
      13827, 14298, 15046, 14038, 12502, 15010, 10085, 13114, 12389, 14510, 14481, 15151, 12541, 14353, 13523, 13478,
      14591, 4435,  8895,  11925, 14907, 14573, 12940, 15107, 14474, 13022, 14293, 14457, 15288, 13790, 11721, 14747,
      15154, 9512,  12598, 15050, 14721, 13354, 15087, 12661, 13842, 14773, 14501, 15310, 13446, 15292, 15056, 14764,
      14714, 14550, 14564, 12936, 14232, 11101, 13093, 12657, 14243, 14471, 14704, 14785, 6213,  15075, 14435, 15335,
      12773, 15006, 14407, 14960, 14528, 14995, 14806, 14560, 10817, 11880, 15061, 15023, 15041, 15050, 14349, 14870,
      14542, 14828, 13351, 15320, 13008, 14875, 14791, 8021,  13814, 14794, 12460, 12303, 14198, 14783, 14776, 14810,
      13536, 14537, 13722, 12474, 15246, 9382,  15137, 13751, 13551, 12574, 15082, 13844, 13471, 14975, 13931, 14297,
      12790, 14499, 11978, 14335, 13955, 15083, 13062, 15270, 13742, 14675, 14086, 12787, 13288, 13766, 13732, 14524,
      14819, 14521, 15067, 14343, 15245, 15017, 14435, 10344, 14484, 14999, 12420, 15054, 14794, 15199, 14751, 15343,
      11544, 14003, 13305, 14232, 12936, 14614, 14606, 12440, 14219, 14982, 13866, 12466, 14307, 13472, 11915, 10285,
      12382, 11392, 13791, 14477, 12750, 13129, 15103, 15243, 13650, 15281, 12296, 12032, 15321, 11843, 13149, 15226,
      12500, 13539, 13518, 13747, 12178, 14404, 11540, 14271, 14624, 13341, 14591, 11355, 14453, 13649, 11685, 12927,
      13566, 15122, 15074, 14352, 14738, 10357, 15103, 13397, 11825, 14860, 14341, 11589, 13278, 14249, 14382, 14062,
      14191, 11410, 13477, 14784, 15345, 15065, 14269, 13736, 11179, 14851, 11627, 12403, 14925, 15121, 13724, 14985,
      13389, 14720, 14837, 15058, 15199, 10728, 12476, 13358, 12378, 14180, 12615, 14305, 14373, 15191, 15071, 14123,
      14200, 15039, 13281, 14806, 14310, 14363, 15329, 13611, 13967, 10552, 15240, 14497, 13721, 14048, 15243, 14273,
      15116, 14814, 13527, 11761, 14580, 13407, 15200, 14245, 9798,  15298, 14549, 14551, 11959, 15024, 14980, 13734,
      14601, 14985, 14617, 12988, 14651, 14371, 15032, 13252, 12684, 13278, 13335, 12263, 14225, 14522, 13980, 11980,
      14579, 14211, 15352, 8254,  13860, 11649, 12200, 11876, 12846, 13661, 14434, 15079, 11570, 14350, 15146, 14759,
      12997, 11612, 12086, 10673, 13514, 13768, 12782, 11029, 14496, 13042, 15279, 14803, 14198, 14837, 13435, 13606,
      12777, 11420, 10382, 11984, 10743, 14149, 13698, 11409, 14967, 14759, 12608, 14744, 14549, 15185, 15099, 12833,
      14902, 14503, 10810, 15345, 14055, 13573, 13544, 14705, 14399, 13696, 14981, 13057, 14344, 9056,  12939, 14572,
      14958, 15079, 14836, 15214, 15043, 14915, 13870, 14994, 13323, 14517, 12869, 15280, 14318, 13417, 15236, 13763,
      13604, 14362, 12757, 9645,  9351,  15264, 14635, 15235, 13047, 13932, 15036, 13724, 15292, 14114, 15108, 10386,
      14848, 13683, 13563, 14507, 14787, 14678, 15129, 14046, 15360, 10515, 15213, 14557, 10886, 14431, 15311, 14200,
      15269, 15020, 12800, 13674, 13611, 15216, 11671, 14840, 13776, 14763, 13654, 13762, 13512, 14697, 14940, 13856,
      14275, 14653, 15012, 12935, 15040, 15066, 13406, 13630, 11493, 14475, 12850, 14046, 14208, 10627, 14815, 11634,
      14646, 11346, 14388, 14437, 13965, 13620, 14020, 12965, 1482,  13420, 14836, 12120, 8793,  13852, 15073, 14782,
      14822, 14692, 10882, 15184, 15058, 14860, 10845, 14103, 13786, 15044, 14615, 14300, 8042,  13494, 15266, 15320,
      12466, 13574, 15098, 12978, 15014, 14604, 13591, 13523, 13442, 14334, 14328, 13808, 14236, 14427, 14341, 11899,
      14569, 15321, 13898, 15086, 15030, 14008, 14598, 13556, 12181, 13842, 14446, 13611, 14733, 12457, 14331, 15120,
      14588, 15157, 14603, 12558, 13492, 15048, 14987, 13417, 12899, 15096, 8926,  11288, 9184,  12382, 14553, 12985,
      15129, 14508, 14205, 15133, 12420, 12733, 14409, 14672, 15007, 13972, 14703, 14618, 14752, 14640, 14131, 13614,
      14372, 15189, 12892, 15235, 14467, 14931, 15119, 14126, 13778, 14830, 11360, 15224, 13812, 14755, 12316, 15050,
      15143, 12724, 14957, 14923, 14762, 14423, 14740, 13277, 13270, 14985, 15250, 13770, 15078, 14526, 14959, 14429,
      15327, 14449, 14867, 14521, 15314, 13486, 14905, 9742,  14340, 13396, 15217, 14989, 12984, 13988, 15118, 15184,
      14343, 15021, 13918, 12362, 11620, 15024, 15193, 11914, 14392, 11494, 11183, 12592, 10682, 13945, 13886, 14868,
      15358, 14572, 14357, 13734, 11133, 12462, 14677, 13904, 13424, 15196, 11639, 15320, 10594, 10531, 14209, 14094,
      14481, 14313, 14925, 11947, 13903, 13586, 13896, 14365, 15114, 13554, 13375, 14786, 14288, 11858, 15050, 13702,
      15342, 14337, 14022, 13930, 14474, 12578, 13286, 14810, 14440, 14673, 14973, 11948, 15294, 14673, 9780,  13785,
      14642, 15306, 15151, 13873, 14261, 14583, 10537, 14158, 14625, 14357, 14410, 12560, 14681, 14999, 14481, 14479,
      14443, 14209, 15132, 13705, 13948, 13291, 14564, 13874, 14519, 9348,  12154, 14346, 14909, 13965, 13065, 11270,
      11393, 14564, 14616, 13735, 12986, 14688, 15104, 15152, 13718, 14817, 14662, 13194, 15268, 14990, 15196, 13291,
      14391, 12110, 13324, 12346, 14264, 14271, 13681, 14291, 15071, 14943, 15294, 14187, 14248, 14988, 14666, 11322,
      15180, 14760, 15281, 15241, 14805, 15345, 13183, 12751, 13350, 14500, 14318, 15316, 13359, 14372, 15191, 11789,
      14705, 14373, 12059, 14893, 14275, 13990, 15247, 15193, 14864, 15325, 14472, 14754, 12245, 15133, 14094, 13469,
      14960, 14187, 13470, 15288, 12165, 11429, 13329, 13538, 14128, 13649, 14953, 14958, 14052, 14695, 13656, 15314,
      14155, 12427, 13549, 14016, 11423, 11274, 15351, 14434, 14955, 14349, 13695, 14388, 14727, 13747, 15288, 12101,
      14430, 14416, 14264, 15265, 14986, 15023, 14029, 13969, 14405, 14847, 13569, 15197, 15186, 5298,  14608, 12939,
      15137, 15306, 12912, 14784, 14579, 12993, 14810, 15081, 14405, 14748, 12695, 13859, 12078, 10403, 13671, 14807,
      13414, 14085, 14746, 14378, 14234, 14538, 13488, 14338, 12575, 11988, 14830, 13808, 12582, 14680, 15150, 14930,
      15129, 14960, 14934, 14610, 13190, 13875, 14472, 10339, 13070, 13609, 14360, 13162, 11252, 7809,  15242, 14145,
      15041, 15276, 15347, 14683, 13073, 13477, 14376, 14529, 14692, 14525, 12955, 13824, 15182, 13942, 14088, 14658,
      15013, 10869, 13577, 15305, 13994, 14909, 11923, 12845, 14078, 13176, 10255, 10925, 14274, 13327, 13496, 11035,
      12506, 13729, 12851, 12803, 14424, 15091, 12661, 14467, 15134, 14273, 13462, 14933, 13337, 13909, 15098, 14902,
      11693, 13510, 11560, 11547, 14592, 15005, 15158, 15048, 15086, 13920, 12398, 13576, 14081, 14980, 15033, 14852,
      12188, 14995, 13398, 14654, 15320, 14245, 14717, 13516, 13219, 15352, 14822, 15095, 15255, 13688, 14679, 15278,
      15131, 14933, 14708, 14577, 13355, 14388, 14479, 14893, 12467, 14660, 13902, 14238, 14119, 13367, 12353, 15277,
      14677, 11060, 11273, 13958, 10553, 14123, 9719,  15306, 9296,  14221, 14724, 13724, 14583, 11504, 15158, 15045,
      14942, 11322, 15106, 12331, 13125, 15161, 14921, 13071, 12349, 10274, 13541, 12414, 15096, 14923, 14461, 12646,
      14861, 13133, 15006, 11331, 14672, 14582, 14926, 14753, 14851, 11275, 12754, 12860, 14434, 15267, 8391,  14471,
      14568, 14055, 13047, 14936, 15039, 14148, 13751, 14936, 13993, 15164, 14703, 13781, 14336, 13769, 14067, 12692,
      13225, 13323, 15259, 14858, 14755, 14853, 15137, 13834, 13739, 13916, 12132, 15114, 15197, 13400, 12515, 14827,
      12487, 9397,  13545, 14589, 15065, 14716, 14431, 14880, 14767, 14472, 13547, 14483, 12922, 14668, 15016, 13963,
      12587, 13974, 11038, 14561, 13512, 10973, 14614, 12972, 10378, 15266, 14384, 14848, 14958, 11785, 14510, 13819,
      14392, 14533, 13611, 14264, 13051, 15166, 13869, 13736, 15351, 13812, 14862, 15177, 12693, 15350, 14784, 15251,
      7262,  14966, 12363, 14746, 13588, 12997, 14213, 14487, 15052, 13474, 14983, 14769, 12661, 12708, 14768, 14655,
      13895, 14888, 13650, 14050, 14844, 11896, 14524, 15308, 14524, 14091, 14777, 10967, 14626, 14014, 10423, 11560,
      13812, 14696, 14772, 13967, 14851, 6841,  9070,  14811, 13355, 9789,  15021, 15211, 10294, 11537, 14561, 14616,
      14602, 14537, 13486, 14184, 14626, 15188, 12290, 14831, 15322, 14739, 14599, 15119, 14886, 14367, 9468,  12686,
      14526, 14606, 13383, 13883, 14836, 14870, 13210, 15251, 12789, 13835, 14228, 13019, 14724, 14361, 14124, 13334,
      15092, 14767, 12614, 13986, 14444, 13406, 14704, 14710, 14910, 14849, 14704, 11972, 14422, 13092, 11423, 14713,
      15325, 12753, 10036, 12384, 14094, 14273, 13771, 13921, 13656, 8285,  14450, 14493, 14780, 15227, 13499, 15033,
      14515, 14668, 15064, 13692, 14668, 15127, 13598, 12537, 14425, 14873, 15317, 13919, 15209, 14409, 12993, 14386,
      15121, 14735, 10473, 14432, 14636, 14611, 14340, 8349,  14676, 14740, 12557, 12668, 14058, 13849, 12837, 13337,
      13418, 12268, 14048, 14315, 13943, 7729,  14274, 14451, 14915, 14583, 13737, 13412, 14928, 14463, 14399, 13943,
      15074, 12950, 14741, 15067, 12529, 14717, 14953, 11895, 15162, 12311, 14216, 12791, 9600,  14733, 14882, 13081,
      14587, 13389, 14772, 14617, 14993, 15285, 15153, 14176, 13644, 14676, 15103, 14932, 12108, 14999, 12813, 15220,
      14152, 13190, 12377, 15187, 15263, 12450, 13904, 11163, 15050, 13920, 13969, 11662, 14768, 13009, 14457, 14575,
      13561, 10339, 15065, 13989, 14673, 14780, 14541, 14931, 14702, 14888, 14131, 14963, 15227, 12628, 14825, 14774,
      13050, 14861, 11955, 15196, 15256, 12641, 12856, 15249, 12228, 13928, 13970, 13546, 14248, 11476, 12952, 15147,
      15297, 13878, 14999, 14643, 14223, 12432, 12590, 15292, 14725, 14999, 10848, 13119, 14787, 15203, 15002, 14713,
      13685, 6121,  13449, 15029, 14641, 14881, 15272, 14719, 15187, 12792, 13452, 15157, 14747, 14651, 14363, 14345,
      14548, 14418, 14957, 14498, 14566, 14952, 14575, 14097, 12776, 13608, 15065, 15103, 13283, 11205, 12314, 14453,
      13744, 14889, 14206, 14968, 13210, 14676, 15173, 9352,  15140, 14663, 14402, 13529, 11765, 14170, 15300, 14548,
      14880, 14449, 14729, 13987, 14494, 14072, 12508, 14146, 15250, 11654, 14608, 15017, 14912, 13389, 15024, 11786,
      14582, 13542, 11446, 15286, 13914, 14893, 13278, 13546, 14721, 13549, 13885, 13977, 13047, 14463, 14576, 14821,
      14461, 13777, 14568, 15013, 14563, 12659, 14689, 15002, 15256, 10913, 14605, 15321, 15150, 15332, 14089, 14274,
      14385, 14252, 14012, 14628, 14026, 13066, 10167, 15267, 14875, 14329, 14954, 14565, 10713, 14798, 15201, 14526,
      14727, 14829, 14938, 11370, 14661, 14808, 14208, 12352, 13613, 14362, 11767, 15011, 15132, 8487,  14289, 12124,
      10122, 14540, 15056, 13542, 14061, 13592, 12799, 15236, 14590, 14093, 12756, 14532, 14130, 14928, 11821, 11948,
      14790, 14584, 12651, 13745, 15173, 14861, 12777, 13721, 14458, 14158, 14978, 15084, 11812, 14970, 12581, 14807,
      14849, 15194, 15299, 15227, 14170, 8828,  9884,  14930, 14501, 15153, 13736, 14388, 13523, 15294, 15032, 14293,
      14063, 12539, 14941, 12332, 13908, 15056, 11910, 14055, 13786, 13299, 14719, 13392, 12957, 13370, 14798, 15001,
      15228, 15264, 11480, 11339, 13486, 15066, 14690, 13917, 12743, 14376, 13611, 14269, 12306, 13942, 12041, 14525,
      11356, 14175, 12453, 14097, 12306, 14353, 12265, 12253, 14632, 14961, 10809, 14239, 14669, 12609, 11190, 10766,
      14546, 14553, 14465, 12474, 14418, 11800, 12413, 14612, 14817, 14737, 14875, 14637, 14572, 9471,  13619, 10201,
      12788, 14122, 14768, 14823, 9654,  14076, 14924, 13873, 14711, 14089, 10974, 14828, 15311, 11301, 12043, 14843,
      12373, 13490, 12038, 15208, 13578, 14879, 14544, 15350, 11308, 14968, 12047, 12055, 14658, 14513, 14753, 14937,
      14665, 13427, 11154, 14313, 13827, 13461, 15002, 10387, 12298, 15007, 14527, 14817, 14560, 13680, 14349, 10813,
      8196,  14814, 10174, 14385, 13230, 9345,  14481, 14519, 14763, 14262, 13454, 11836, 12251, 12508, 15185, 13825,
      13860, 13549, 12941, 12945, 15185, 12029, 15037, 13725, 12790, 14811, 14746, 13505, 14698, 9259,  15280, 14467,
      14571, 14407, 13849, 12849, 13555, 14831, 15277, 13245, 11082, 14065, 11553, 14095, 14704, 13759, 15300, 12857,
      11970, 9819,  13892, 15069, 14627, 15016, 15158, 14827, 12480, 14149, 15128, 13760, 13818, 14112, 13604, 15198,
      14150, 14150, 13448, 14846, 15304, 11798, 15181, 15214, 14845, 14972, 14563, 12890, 13102, 9944,  14538, 13313,
      14459, 14517, 13232, 12379, 13320, 14934, 12226, 13844, 13574, 9607,  13231, 12191, 14897, 15281, 15144, 15143,
      14754, 13767, 13479, 10847, 12101, 14546, 14988, 14249, 15059, 13011, 13263, 14538, 14512, 15106, 13595, 14945,
      14752, 12753, 14153, 10899, 14641, 13665, 14794, 14347, 14978, 14648, 13101, 11435, 15346, 10877, 14413, 13492,
      12350, 14917, 13805, 13680, 14610, 14996, 15057, 9262,  14076, 14712, 14431, 15228, 15101, 13695, 12552, 14819,
      13231, 13956, 14285, 13030, 14893, 11405, 13634, 15042, 14258, 13779, 12720, 14697, 14641, 14810, 14034, 15064,
      14821, 14758, 13622, 14225, 15017, 15053, 14188, 14198, 13764, 14341, 11775, 14225, 13753, 14338, 15095, 14694,
      15143, 14755, 14753, 14845, 13744, 13201, 15045, 11901, 14959, 12337, 14480, 13875, 14766, 15144, 14683, 10498,
      14244, 13975, 14068, 14338, 14560, 14860, 14711, 15180, 14633, 13513, 15302, 14326, 14562, 13448, 14697, 14543,
      14625, 13471, 14111, 15100, 15304, 11506, 13929, 12048, 14707, 13825, 13810, 15158, 13343, 14503, 13064, 14526,
      14291, 14555, 14813, 12735, 14738, 14198, 11716, 13928, 15264, 13781, 12829, 10730, 11597, 15360, 14884, 11027,
      14632, 13647, 12422, 14754, 12247, 14342, 14701, 15351, 14381, 14474, 13988, 13501, 12917, 14902, 15244, 14456,
      14614, 15016, 10315, 10770, 14300, 13149, 14893, 13844, 9242,  13696, 13599, 14950, 14695, 12323, 15091, 14368,
      13334, 13286, 15097, 12418, 12750, 10136, 14280, 14732, 14827, 12606, 14477, 13969, 12834, 13788, 13930, 14649,
      14691, 15314, 12848, 14383, 12735, 14900, 14629, 15207, 13746, 14699, 14569, 15339, 10776, 15184, 15078, 14512,
      14355, 14779, 14403, 12594, 15025, 12565, 15181, 14636, 14346, 13906, 10933, 14993, 14622, 11873, 12820, 14145,
      11936, 15067, 14419, 12468, 13335, 13244, 14906, 11881, 10344, 15001, 13575, 13401, 14367, 14364, 15120, 13847,
      13486, 14318, 13937, 13348, 13441, 9967,  12348, 13564, 13767, 14412, 14515, 13051, 14306, 14972, 13513, 14126,
      14213, 13475, 14268, 14523, 14320, 15162, 12783, 13239, 14071, 10364, 14770, 14562, 14692, 14211, 12769, 14676,
      14704, 14982, 13400, 15024, 13834, 12665, 15240, 12565, 14615, 14449, 9819,  12975, 15194, 13179, 12751, 12471,
      14448, 12538, 14699, 11122, 11659, 13594, 9412,  13211, 14724, 11359, 14627, 14892, 14762, 13937, 13580, 15311,
      15061, 14971, 12755, 15331, 14342, 13781, 15117, 15155, 15003, 14474, 6755,  14869, 14188, 12061, 13498, 12484,
      15269, 15004, 15072, 14594, 13481, 13947, 9321,  13871, 12439, 12807, 10403, 12924, 14914, 12637, 15030, 8549,
      12118, 12996, 14867, 14116, 14914, 13727, 13272, 15066, 10572, 14990, 14987, 12898, 14799, 12821, 14993, 14886,
      14468, 13895, 13660, 13689, 12288, 12878, 12678, 13449, 14713, 15339, 12798, 14956, 12839, 14286, 14303, 14791,
      14916, 15069, 14911, 13940, 14599, 13638, 13161, 14648, 13154, 14198, 13787, 12641, 12544, 14301, 13724, 15019,
      14558, 8103,  14866, 10588, 12889, 13564, 13326, 15270, 14240, 14919, 12918, 15119, 10128, 14208, 11324, 10251,
      15284, 14598, 13443, 15094, 14335, 15152, 14812, 12616, 14760, 14442, 13186, 15139, 11337, 13649, 12813, 13457,
      14564, 14950, 15047, 15303, 15349, 11331, 14676, 12139, 14383, 14393, 13699, 13801, 14707, 14471, 13078, 14065,
      14422, 15331, 14845, 14888, 14973, 14378, 14723, 13080, 14939, 13937, 14054, 15293, 13570, 12622, 13584, 14471,
      14890, 13989, 13385, 13510, 13957, 13554, 15161, 14869, 13875, 14930, 14471, 15055, 13190, 13026, 14621, 14377,
      13403, 14195, 14510, 14412, 15279, 14734, 14727, 15136, 14412, 15225, 8281,  14202, 13680, 13816, 13756, 14512,
      13085, 14339, 14563, 13713, 15100, 13793, 15013, 15243, 14049, 12140, 12601, 13927, 13927, 14825, 14796, 15181,
      14149, 15306, 14241, 14975, 14040, 15245, 14738, 12852, 14393, 13716, 13181, 14514, 14512, 13369, 14669, 14937,
      14328, 14201, 13932, 15358, 13434, 10915, 12385, 14061, 14472, 14117, 13847, 14560, 14595, 11918, 13928, 14485,
      14779, 14063, 15190, 12954, 14047, 14360, 14032, 13190, 12835, 14802, 13963, 13362, 14618, 14744, 15108, 15144,
      14926, 15039, 13816, 15164, 14003, 12444, 12667, 14322, 13814, 14031, 14848, 13654, 12658, 14666, 14840, 14399,
      14571, 13937, 14796, 14022, 11660, 13737, 9792,  10329, 13993, 13918, 14800, 13450, 15131, 14729, 12744, 14013,
      13111, 14113, 15338, 14003, 14248, 14407, 15187, 13989, 13628, 15146, 14262, 13883, 14290, 14355, 13514, 15286,
      14641, 14849, 13570, 13354, 14777, 13444, 14341, 14518, 13383, 15074, 13435, 15148, 14552, 15331, 14509, 13401,
      15218, 15181, 14543, 14468, 15116, 15173, 15196, 9320,  15171, 12393, 14818, 14846, 14791, 14412, 14734, 14965,
      14018, 13536, 15224, 15120, 14434, 14338, 9608,  15339, 14857, 11793, 14954, 15259, 11570, 11336, 14627, 12559,
      14781, 14612, 13494, 14516, 15079, 14748, 15027, 13465, 14014, 14418, 13233, 14750, 15184, 15203, 11418, 15119,
      14581, 14301, 13863, 10314, 12278, 14402, 14192, 13120, 13145, 13905, 14393, 11089, 13713, 15278, 12444, 12930,
      14839, 12597, 14862, 12962, 13185, 14709, 15359, 13560, 14943, 14790, 15314, 14310, 13500, 13431, 12219, 7376,
      12947, 14883, 14849, 7334,  14837, 14395, 13480, 14763, 14210, 14481, 15286, 13575, 14058, 13857, 12654, 5320,
      15309, 13138, 14891, 15146, 15314, 12443, 15223, 15002, 14460, 15059, 14506, 14847, 14701, 14470, 11411, 14349,
      12437, 14542, 14406, 14642, 12366, 15018, 14170, 13866, 14376, 14787, 15044, 12298, 13394, 14728, 13367, 14406,
      15079, 13914, 14615, 15098, 15304, 15149, 14606, 14754, 15339, 15172, 14487, 12932, 14823, 14949, 13775, 15077,
      14452, 14514, 15000, 15256, 15267, 11977, 15244, 12635, 14334, 14043, 13788, 15210, 14702, 14514, 8850,  14549,
      13604, 14849, 11236, 13262, 15135, 14739, 15262, 14716, 14178, 15099, 10362, 14378, 14464, 15316, 13489, 9936,
      12615, 14936, 13944, 14816, 12108, 14821, 13804, 14808, 13255, 14469, 14493, 7181,  15063, 14855, 13300, 12468,
      14727, 13834, 13999, 13156, 14531, 14614, 14191, 15023, 14999, 14430, 13122, 13192, 13631, 13434, 14920, 13041,
      14629, 14431, 12916, 15037, 15074, 14548, 14955, 13400, 14594, 13912, 14362, 15276, 14954, 12748, 14201, 14286,
      15186, 13070, 15143, 11889, 14949, 13693, 15225, 12226, 15189, 14729, 15208, 11619, 14102, 11317, 14094, 14784,
      15309, 15017, 14886, 15095, 14923, 13321, 14505, 13169, 15196, 12897, 15217, 13900, 14856, 14435, 14578, 14933,
      11812, 13943, 15183, 15023, 14646, 14884, 15068, 15170, 14408, 14093, 15260, 14001, 13644, 15262, 15031, 12831,
      14353, 13972, 15164, 14064, 14770, 13402, 14709, 13436, 15144, 15047, 14474, 15027, 15142, 13394, 15192, 7929,
      15190, 12065, 13733, 12988, 14268, 13551, 14884, 10280, 14469, 14337, 12921, 13592, 14970, 14310, 12427, 13774,
      14950, 14663, 14285, 13120, 14577, 14256, 11902, 15272, 15155, 12842, 14715, 15194, 14618, 15133, 14722, 8443,
      14463, 13769, 12855, 13239, 13955, 15016, 9550,  14400, 13682, 15267, 14420, 14309, 13980, 14814, 15304, 14279,
      13353, 13406, 13677, 15009, 11847, 14462, 13538, 12690, 13002, 14968, 13307, 15359, 14024, 10116, 14292, 14924,
      12963, 13504, 13579, 14964, 10700, 12852, 14672, 15082, 14081, 14385, 14179, 13693, 12437, 15002, 8450,  14727,
      13222, 14557, 15167, 12686, 12838, 12859, 14815, 13695, 14100, 13551, 13761, 13036, 14058, 13930, 14678, 13636,
      14178, 15135, 13461, 14962, 15177, 14747, 14227, 13580, 12367, 14746, 14993, 13006, 12643, 14433, 13430, 11877,
      14212, 14845, 13549, 14128, 14421, 12997, 15239, 13111, 14753, 15214, 15171, 14035, 15176, 13611, 13098, 11936,
      15230, 13365, 12959, 14305, 13572, 15208, 7984,  14601, 14821, 11375, 14512, 13901, 14322, 12682, 15291, 14351,
      12683, 14418, 13255, 13504, 14966, 13042, 14707, 14578, 14639, 13025, 14562, 15181, 14734, 13362, 15116, 15146,
      14517, 12531, 14650, 14874, 14257, 15303, 11994, 14844, 14510, 11339, 12089, 14565, 14698, 14538, 13463, 13241,
      11884, 15023, 13566, 15206, 13467, 14734, 14345, 14120, 15276, 14638, 12536, 11956, 15340, 15313, 13998, 10603,
      14358, 12475, 13883, 12695, 10899, 13974, 13248, 12235, 13924, 15299, 13639, 14598, 14907, 13919, 14420, 13561,
      14529, 14169, 14683, 14804, 13598, 12775, 14588, 13524, 8334,  13842, 14715, 14892, 15257, 14781, 14008, 15066,
      14306, 14620, 13129, 14896, 15024, 15235, 10854, 13714, 8493,  14607, 13692, 14831, 15053, 15204, 14403, 15184,
      15131, 12559, 13940, 12042, 12724, 14363, 14613, 14056, 10514, 13806, 15091, 13860, 11855, 11982, 15130, 14984,
      13500, 15284, 15078, 13670, 15353, 13995, 13584, 13382, 13286, 13595, 12857, 13467, 13493, 15003, 14001, 14869,
      14267, 14778, 14359, 11996, 14593, 13999, 14761, 14278, 10752, 13715, 14256, 15066, 14877, 12211, 9800,  14961,
      14329, 14595, 15187, 15086, 14985, 14375, 14589, 11079, 14709, 15358, 13464, 14719, 15059, 14235, 7493,  13772,
      14522, 13134, 15032, 13214, 13795, 14890, 14566, 15276, 11491, 14670, 14448, 14038, 14931, 15181, 13967, 13376,
      13312, 14191, 15020, 13409, 9452,  13441, 14692, 15169, 14509, 14272, 15239, 14680, 13438, 14110, 15081, 14878,
      12389, 13792, 11068, 11729, 13532, 9321,  13640, 14772, 14045, 12524, 13249, 13244, 15033, 14338, 11789, 11031,
      13676, 10766, 12488, 14584, 14101, 12662, 15205, 12396, 14982, 15253, 12947, 13315, 13565, 12026, 13344, 13761,
      14767, 12255, 13602, 13598, 12884, 14298, 15282, 15241, 14529, 11235, 14582, 12729, 15112, 15172, 13739, 13999,
      14191, 11269, 14766, 14456, 14786, 14085, 13927, 14332, 15236, 14752, 15278, 9775,  15115, 11710, 14598, 13154,
      12640, 11853, 14558, 15291, 13784, 14836, 11780, 13919, 11493, 14291, 14592, 12959, 14010, 15286, 14364, 14193,
      13136, 15312, 15101, 13135, 13212, 13711, 13571, 14205, 11053, 15015, 13495, 13680, 13512, 14740, 14499, 15244,
      14472, 15079, 14554, 12862, 14408, 13447, 14436, 14730, 13564, 9470,  14380, 15343, 14524, 10520, 13384, 15006,
      15280, 15210, 15244, 13619, 14845, 15269, 15107, 13794, 12930, 13200, 14713, 15089, 13635, 13874, 12350, 14555,
      15090, 12437, 11149, 15321, 8330,  15359, 13347, 14824, 14044, 13829, 12941, 14114, 14597, 13967, 13557, 14452,
      14930, 12335, 12549, 14346, 14507, 15197, 14587, 12284, 13879, 15227, 14829, 9551,  14731, 13622, 10487, 14123,
      13446, 15151, 14475, 13117, 14686, 14349, 8078,  15234, 14031, 12378, 14724, 12992, 14435, 14873, 14752, 14192,
      14777, 14637, 13966, 15133, 14806, 15107, 14251, 14830, 11286, 13477, 14822, 14525, 13792, 15225, 13356, 14629,
      14943, 14434, 13530, 14969, 13148, 11636, 15168, 12558, 13060, 15304, 13610, 13243, 13861, 10751, 13003, 14090,
      11612, 10944, 13426, 13116, 13354, 14640, 14825, 13727, 14279, 11908, 14049, 13334, 11691, 15152, 14002, 12286,
      14849, 14797, 14757, 14185, 14660, 15083, 13086, 14550, 14305, 13181, 14937, 13796, 14345, 14615, 14055, 14734,
      14742, 13681, 13640, 13768, 12045, 14220, 14780, 14365, 13626, 12762, 13690, 14265, 13219, 12412, 15247, 12732,
      14579, 12564, 15092, 12870, 15149, 13811, 11887, 14269, 13768, 14793, 14975, 14851, 15249, 15088, 14740, 14669,
      14772, 10875, 15147, 15254, 14480, 15300, 13405, 12341, 13706, 12647, 14967, 14526, 14013, 14248, 12696, 15035,
      12287, 15127, 15169, 13396, 13324, 14562, 13114, 13385, 12754, 12814, 14562, 14978, 15086, 14151, 15270, 14401,
      12916, 14486, 13737, 12798, 14798, 14586, 10346, 13347, 14877, 14356, 14740, 12098, 14388, 8319,  14654, 13065,
      13192, 3788,  9557,  12747, 13647, 14199, 15011, 15045, 14970, 13412, 11368, 15348, 14836, 14199, 14774, 14374,
      13965, 12978, 14781, 14503, 15201, 13527, 13595, 15203, 11059, 15006, 14820, 14091, 15324, 14345, 14692, 15163,
      13922, 15301, 8816,  13716, 13547, 15312, 14767, 6474,  13996, 14811, 14982, 12604, 14404, 13143, 13782, 14062,
      14809, 14751, 10297, 11499, 10735, 13464, 15319, 14753, 15135, 12634, 12385, 14632, 14391, 12735, 14670, 14268,
      14883, 11775, 13547, 15336, 11615, 12333, 11757, 10917, 13715, 14499, 15225, 13492, 12495, 13433, 14717, 14983,
      15114, 14011, 13206, 13739, 11226, 14640, 14724, 13970, 14902, 13919, 14360, 14453, 14654, 15025, 14742, 14832,
      14743, 14294, 12498, 14328, 14559, 11815, 12816, 15344, 13592, 11887, 13019, 12766, 14620, 13790, 15208, 12928,
      11537, 12760, 14404, 13555, 10615, 14200, 10344, 14169, 15326, 14850, 12835, 10964, 14964, 13502, 13346, 14520,
      15021, 14983, 14724, 12730, 14128, 11272, 14489, 13934, 14967, 14758, 14653, 10722, 11218, 7386,  13009, 15036,
      11682, 14893, 13894, 14113, 11286, 15317, 14571, 14509, 14016, 14634, 13788, 13864, 8600,  15344, 13620, 15145,
      11473, 13115, 12007, 13244, 12317, 15127, 14981, 14762, 14940, 14214, 13180, 14227, 14908, 15064, 15191, 14447,
      15263, 14411, 15160, 13454, 13745, 14621, 13561, 13028, 15198, 13031, 14521, 13445, 14885, 14002, 14552, 14590,
      15001, 15286, 14180, 15138, 10278, 12604, 15328, 13592, 14702, 10804, 14782, 14219, 10650, 14608, 12825, 15166,
      14982, 14185, 15066, 13920, 14677, 15130, 13893, 12606, 15259, 13012, 14472, 11925, 15282, 3463,  15005, 14904,
      15000, 9485,  13039, 15095, 14735, 14802, 14804, 14517, 13857, 14786, 13764, 13408, 15129, 15040, 14579, 15305,
      12495, 14822, 15092, 12754, 14825, 14300, 14003, 13538, 13327, 12962, 14092, 14938, 14656, 15003, 13142, 12997,
      14537, 14407, 14341, 15168, 14463, 15110, 14388, 12166, 13345, 12537, 15186, 3873,  14374, 14415, 15235, 14480,
      14491, 11214, 9339,  12190, 12519, 10266, 15239, 13460, 14448, 12650, 14599, 13464, 12614, 14152, 14455, 13768,
      14374, 11468, 14861, 15047, 13156, 13232, 15156, 14724, 11318, 12328, 14015, 14505, 13206, 14296, 14432, 13886,
      14696, 13962, 12674, 14124, 14815, 14592, 15317, 13982, 14623, 14371, 15154, 13736, 14627, 12790, 12527, 14965,
      14949, 12395, 14925, 12490, 14149, 9500,  14430, 14586, 14388, 14642, 13646, 14604, 15046, 12306, 11047, 14372,
      12469, 14215, 15050, 12350, 14667, 14926, 14719, 15360, 14963, 13989, 14904, 15038, 14049, 13383, 15100, 14570,
      14096, 15049, 15312, 13870, 14393, 11117, 8780,  13964, 14286, 14813, 14575, 11932, 14242, 14338, 15221, 13579,
      12681, 14528, 14032, 12884, 12914, 13953, 12811, 14850, 14829, 13677, 14299, 11290, 15163, 10956, 12909, 13587,
      15152, 15033, 14916, 11774, 12257, 14702, 13280, 10575, 14150, 13806, 15160, 14871, 14021, 14877, 14641, 14298,
      15314, 15335, 13950, 15340, 14271, 11308, 14503, 13364, 14539, 15196, 11435, 13963, 13120, 14100, 14704, 14523,
      9512,  12067, 15310, 14775, 14062, 13651, 14262, 13117, 12586, 14354, 11480, 14406, 13957, 13804, 14526, 14632,
      13554, 14925, 11264, 13048, 11541, 14679, 13151, 12729, 11371, 15158, 9672,  14986, 12689, 13840, 14482, 14339,
      14195, 14537, 14820, 13358, 14957, 14272, 14122, 14652, 12103, 14348, 12924, 14789, 14376, 14403, 14133, 14512,
      14225, 13410, 14639, 14809, 14512, 15110, 14535, 14037, 14287, 14108, 14926, 15271, 14697, 15225, 14813, 15033,
      14891, 14536, 14926, 14451, 10429, 14776, 14185, 15016, 12227, 15067, 15305, 14545, 10419, 15032, 15119, 15032,
      13738, 14673, 11365, 14384, 14209, 13817, 14672, 13618, 15214, 12966, 11680, 12479, 12219, 15315, 12821, 11102,
      14448, 14638, 13544, 13664, 13706, 14695, 12861, 15086, 14967, 14002, 14436, 15092, 14757, 13673, 14346, 14445,
      14792, 14970, 12350, 6610,  13593, 14699, 15261, 14400, 13459, 14541, 12614, 14730, 13723, 15236, 14437, 14547,
      14392, 14507, 13748, 14459, 11000, 12988, 14385, 14667, 14589, 11085, 14206, 15154, 14905, 13691, 12364, 14489,
      14305, 14087, 14706, 15043, 14920, 14370, 15337, 15328, 15152, 13544, 14521, 14571, 15283, 15145, 11685, 15097,
      13333, 13579, 11983, 14789, 14880, 13933, 13471, 14347, 15239, 12958, 15357, 15191, 14766, 15128, 15113, 13619,
      14879, 15122, 14343, 14709, 12334, 15230, 15238, 15262, 14774, 14872, 12585, 13080, 15176, 13894, 15163, 15126,
      14422, 13592, 14737, 14277, 15034, 14654, 15094, 15212, 15328, 13339, 12673, 14353, 14884, 13812, 14748, 13214,
      13236, 14248, 13831, 12579, 11704, 12123, 14766, 15155, 14733, 14412, 15114, 14629, 14887, 14963, 15271, 15018,
      14645, 15089, 15240, 12653, 14570, 14046, 12760, 14377, 15267, 11043, 14440, 12129, 15114, 15106, 13435, 14346,
      13827, 14995, 15205, 14008, 12259, 14052, 14767, 12562, 14385, 14106, 14511, 14996, 13276, 12758, 14868, 12749,
      12822, 13828, 9680,  14038, 14461, 12939, 15180, 13018, 14706, 14641, 14450, 12450, 12655, 13931, 13761, 14034,
      14702, 11694, 14531, 14869, 15243, 13959, 12645, 12324, 15313, 14114, 14165, 14687, 14812, 12459, 11697, 13258,
      14982, 11765, 14460, 13827, 15095, 14486, 15008, 15204, 14024, 14445, 14921, 12916, 14108, 14512, 13702, 12743,
      13400, 14287, 14189, 14069, 14059, 13511, 14882, 13450, 12596, 15090, 14702, 15191, 14544, 15173, 13398, 14849,
      14833, 12387, 11856, 14074, 9724,  14775, 13361, 13977, 10680, 14391, 15262, 14857, 14091, 13956, 15146, 15063,
      14136, 14705, 14517, 13931, 15192, 13545, 14406, 11125, 15136, 12979, 10672, 13844, 12914, 15063, 14171, 14033,
      15178, 13944, 12423, 15255, 14481, 12596, 15189, 14280, 9851,  15000, 14558, 12636, 13533, 13254, 14873, 14345,
      13371, 14687, 14513, 14472, 14727, 14497, 15355, 14955, 11675, 15329, 14919, 14685, 13238, 14864, 14255, 15183,
      9769,  12734, 14919, 15311, 14381, 13505, 15089, 14819, 13783, 15034, 11422, 14444, 10978, 14679, 14163, 11165,
      14763, 15003, 15232, 13454, 11473, 13427, 14553, 13856, 14905, 15234, 12885, 14901, 13394, 12941, 14814, 14442,
      13702, 13409, 14267, 14147, 15159, 11830, 13625, 13611, 14768, 11492, 12348, 14171, 11426, 10252, 10959, 14490,
      15025, 14372, 14779, 15084, 14325, 12752, 14390, 13955, 13579, 14313, 14624, 12691, 15097, 13636, 14869, 13665,
      13488, 14154, 14704, 14347, 15012, 14459, 11501, 13522, 14162, 14295, 9461,  14400, 15048, 14366, 13930, 14813,
      12598, 15168, 14096, 15213, 14190, 11293, 13061, 15159, 12296, 13456, 11942, 14007, 14112, 14673, 13420, 14596,
      15093, 13277, 15319, 13334, 13821, 15287, 14530, 14440, 15077, 15124, 14264, 9991,  15312, 13255, 14757, 10704,
      15327, 12964, 13874, 14237, 13947, 13595, 14612, 13422, 14252, 14770, 12568, 12484, 13666, 12375, 11085, 14388,
      13490, 10487, 14773, 13987, 11475, 10004, 12315, 10892, 13629, 12496, 14876, 14108, 14790, 13307, 12845, 14867,
      12626, 14771, 13550, 12524, 14317, 13317, 13302, 14915, 10935, 13561, 12577, 14988, 13625, 14486, 12576, 14253,
      10754, 15261, 14497, 14757, 13613, 12870, 14645, 15251, 12374, 12810, 13249, 12832, 14777, 14035, 14334, 13931,
      15127, 14101, 14849, 13418, 15173, 13220, 13520, 8830,  15079, 14923, 13414, 14436, 13668, 11893, 12955, 13171,
      12762, 14520, 15267, 14005, 14724, 13733, 14263, 11836, 11977, 12167, 14396, 14775, 14999, 14711, 14671, 11904,
      15134, 15336, 15086, 13444, 12480, 13185, 14762, 11683, 12035, 11019, 14166, 14077, 14020, 11644, 15120, 14358,
      14303, 14054, 13814, 14085, 14433, 14924, 7508,  12804, 13082, 15037, 14382, 13824, 14141, 14965, 15018, 14805,
      13241, 15314, 12426, 12812, 11402, 13874, 14371, 13945, 12646, 13066, 14431, 12471, 14192, 15043, 14481, 13374,
      13724, 13390, 14736, 15123, 13363, 14629, 15275, 14969, 10954, 13267, 14439, 13717, 14342, 15214, 15220, 11286,
      12844, 14116, 14493, 14547, 15153, 13579, 14720, 13882, 12625, 14493, 13597, 13518, 15227, 13386, 15123, 13319,
      14646, 14179, 14854, 12661, 14717, 14604, 13865, 14821, 14046, 14450, 14454, 14435, 14488, 15296, 13861, 11712,
      15072, 14713, 15042, 15019, 12453, 14473, 14427, 14948, 13949, 12742, 15035, 14230, 12257, 14374, 13436, 13685,
      8742,  14392, 15094, 14419, 14109, 14716, 14001, 13391, 12016, 15019, 14514, 13228, 15264, 5911,  14345, 14742,
      14180, 13361, 13305, 14921, 12215, 15271, 14158, 15173, 14972, 13553, 14543, 14479, 14879, 12300, 14394, 13716,
      12175, 14293, 13887, 11665, 12544, 14997, 11940, 14958, 14235, 14904, 12616, 14051, 14255, 14303, 11361, 14907,
      14982, 12829, 13719, 14598, 15339, 14404, 15070, 9564,  8693,  13816, 12503, 15206, 15067, 13340, 13840, 14396,
      14558, 12140, 14024, 14707, 12738, 14186, 15166, 12319, 14420, 15132, 14999, 14469, 11292, 14494, 7713,  11900,
      12380, 12662, 14151, 15109, 14511, 13948, 14644, 14982, 10275, 11992, 14951, 15135, 14213, 13261, 14638, 15003,
      14442, 14744, 14623, 14816, 14980, 12125, 14049, 13449, 15244, 15160, 10874, 13958, 14920, 14240, 14429, 15171,
      11083, 12478, 14754, 14413, 14556, 14448, 15025, 14916, 15101, 13027, 14355, 14536, 15138, 13755, 13871, 15090,
      14810, 14489, 12706, 14803, 15039, 12318, 14748, 13541, 14919, 14525, 13931, 12917, 14527, 14722, 15318, 13710,
      14515, 14425, 14927, 13478, 15273, 14675, 14661, 14662, 13580, 13974, 14781, 13359, 14657, 14964, 14883, 13659,
      13859, 14825, 13462, 13698, 14075, 14697, 15108, 13001, 14755, 14314, 13783, 14464, 14843, 14738, 15206, 12934,
      14749, 15213, 11952, 14668, 14855, 8944,  11869, 12500, 13848, 11815, 14956, 11471, 15163, 15200, 14395, 14452,
      11503, 14351, 11995, 14050, 14968, 13735, 13872, 14385, 14387, 14889, 15081, 14707, 15110, 10144, 15129, 15231,
      13996, 15216, 13139, 10725, 11574, 14822, 15159, 15357, 14877, 14538, 13354, 15085, 14920, 12059, 13570, 12376,
      14789, 15212, 13753, 15034, 13843, 15037, 12859, 12638, 14710, 13662, 13726, 9615,  15261, 15177, 11392, 10458,
      13653, 13429, 13517, 14479, 13560, 14365, 15096, 15342, 13201, 15267, 14921, 14941, 12336, 13518, 13106, 14163,
      13592, 14363, 12398, 15022, 13724, 14634, 15063, 15175, 14387, 15317, 15226, 13123, 14850, 13542, 14326, 15128,
      15287, 14752, 10081, 14339, 13502, 14970, 13287, 15340, 12164, 14692, 15305, 14500, 12727, 11510, 15195, 13364,
      14611, 13803, 12717, 14959, 15275, 15057, 14542, 15011, 14421, 8384,  14791, 10120, 14413, 15181, 14515, 15208,
      14703, 14344, 15256, 13365, 14674, 15063, 12784, 13066, 14332, 15163, 13305, 14630, 14804, 11654, 14938, 9948,
      11550, 14623, 14602, 10777, 14783, 15023, 13052, 13191, 13770, 12561, 13080, 10421, 15195, 13414, 13446, 13544,
      15150, 13876, 11503, 15040, 12301, 15042, 13706, 14725, 14539, 14903, 14387, 14487, 12502, 14379, 15351, 15255,
      14721, 14433, 14628, 12536, 13147, 14598, 12542, 13965, 13412, 11961, 13058, 13672, 15170, 12108, 14763, 15073,
      15190, 11864, 14731, 14812, 14967, 14413, 14896, 14144, 14737, 14937, 13610, 15188, 15036, 13546, 14382, 15172,
      14739, 13437, 14477, 13936, 11419, 11294, 13985, 10810, 15051, 9326,  14813, 15274, 14345, 15288, 14387, 9530,
      10447, 13507, 14813, 14197, 15071, 14370, 14585, 13894, 13091, 14771, 14143, 13157, 14042, 14065, 15327, 15318,
      15165, 15255, 14692, 15104, 14804, 15102, 7659,  11872, 15344, 15345, 14644, 14375, 14971, 12670, 15347, 13822,
      8129,  15096, 14676, 14915, 11293, 14713, 15094, 14478, 14662, 11005, 15260, 12058, 15272, 13385, 14432, 14454,
      14407, 6760,  14243, 14979, 14566, 11670, 14075, 13999, 13834, 14590, 14797, 14868, 13892, 13973, 13508, 15169,
      15348, 13914, 12198, 13964, 14285, 13776, 14390, 14589, 14465, 15265, 10331, 14090, 15164, 12596, 15037, 13317,
      14871, 14350, 15093, 8012,  14103, 13038, 14182, 10680, 13068, 14549, 15102, 14993, 15285, 14374, 14761, 15155,
      12551, 13347, 12727, 11338, 13735, 12886, 15354, 15246, 15002, 13138, 15280, 14958, 15306, 13832, 13645, 15167,
      15344, 14398, 7559,  14475, 14375, 14145, 14148, 13483, 12164, 15342, 13859, 14550, 14733, 14645, 14354, 14439,
      12871, 12992, 13727, 14921, 13769, 14226, 14161, 14705, 14915, 15244, 15310, 15261, 14453, 15133, 13759, 14490,
      14097, 15000, 14606, 14559, 14695, 15103, 8965,  13769, 13629, 11998, 14812, 15230, 12441, 15061, 4383,  15314,
      14271, 13693, 15000, 13037, 15343, 13331, 15124, 14996, 14774, 12328, 13554, 14190, 13403, 14666, 10321, 13162,
      13654, 14850, 12558, 14213, 15190, 15314, 14644, 11605, 15164, 14341, 12493, 14607, 14431, 13700, 15098, 14230,
      11433, 14138, 15157, 14574, 13867, 14158, 11294, 13929, 15171, 14797, 15080, 13767, 15186, 12933, 12542, 13945,
      15139, 11535, 13863, 15140, 13657, 14668, 14583, 15274, 15191, 15350, 14667, 13334, 12648, 14441, 14355, 14197,
      15009, 15226, 13425, 15009, 13384, 14392, 14513, 14169, 14424, 14654, 14925, 14810, 14740, 14365, 14450, 14457,
      13576, 14572, 13664, 14657, 14275, 14176, 7897,  14221, 15085, 15234, 15139, 14914, 12808, 14482, 14543, 15276,
      14958, 14674, 15108, 14837, 14844, 13477, 14415, 13963, 14643, 14830, 14833, 14981, 13749, 12283, 15016, 14267,
      12316, 11873, 9968,  12673, 11371, 12975, 13444, 14462, 14993, 15241, 15296, 13388, 14972, 12767, 11894, 12362,
      14531, 14685, 14667, 14456, 14945, 15338, 14919, 15104, 11567, 14678, 14118, 15290, 15342, 14081, 13721, 14660,
      14808, 15328, 15195, 14050, 12547, 15165, 12305, 15107, 14848, 14397, 13740, 14528, 15214, 13723, 13248, 14051,
      15009, 12445, 15199, 14073, 13814, 13749, 14462, 10582, 13020, 12293, 13642, 14805, 14985, 15359, 13454, 12713,
      14582, 13494, 12873, 13325, 14233, 14997, 13559, 14385, 15261, 13654, 14935, 13147, 14588, 15178, 15073, 13592,
      13805, 13321, 10878, 12317, 14362, 13335, 15309, 14007, 15327, 15258, 15189, 13570, 8642,  11677, 14902, 12467,
      13573, 15166, 15126, 14785, 14972, 14077, 14350, 15220, 14455, 15081, 14602, 14722, 13985, 12995, 14256, 10500,
      12373, 14661, 14387, 14126, 13952, 15221, 12035, 13062, 15056, 10400, 12173, 14703, 14868, 11318, 15124, 14719,
      14005, 12861, 12378, 15357, 12274, 13801, 14742, 14413, 13330, 11364, 14935, 15008, 14929, 14799, 13180, 14211,
      14732, 13354, 12127, 15058, 14753, 15253, 14545, 14729, 11593, 13159, 13938, 14709, 14815, 14599, 14394, 14043,
      14428, 15343, 13890, 14939, 14409, 13601, 13637, 13401, 13588, 11459, 14356, 14363, 12697, 14473, 11041, 12083,
      14578, 14620, 12365, 15157, 12668, 12980, 14444, 9338,  13499, 11424, 13907, 12215, 14274, 14806, 11185, 14403,
      14379, 11870, 11130, 14600, 15187, 10576, 13935, 14998, 13430, 13644, 11940, 13555, 11610, 12834, 13531, 14526,
      14613, 14350, 15342, 15002, 13879, 13039, 15265, 13916, 15171, 14241, 14839, 13354, 13871, 13982, 14845, 14074,
      13973, 14188, 12834, 15254, 14759, 14886, 12184, 13463, 15328, 15078, 12773, 14911, 9378,  13856, 13974, 14897,
      15325, 12585, 14669, 13537, 13549, 13447, 11770, 14526, 14623, 14633, 14280, 12942, 12743, 15341, 14542, 14565,
      14293, 14725, 13886, 14418, 14429, 14066, 11685, 14340, 13221, 12391, 12827, 14100, 14736, 13369, 12553, 12458,
      13813, 14903, 10956, 14840, 14528, 14866, 12247, 14756, 12528, 10612, 15152, 14687, 15062, 11499, 10559, 14533,
      11819, 11801, 13560, 14118, 11961, 14980, 14604, 14019, 14042, 13592, 13874, 14920, 12898, 14769, 13452, 11904,
      12854, 15315, 14829, 14352, 15340, 14808, 14762, 13414, 12691, 13821, 14363, 14160, 14156, 12925, 13580, 13318,
      15117, 15103, 12301, 14759, 14993, 14990, 13691, 13696, 15050, 12576, 14052, 15172, 12419, 15162, 13023, 11692,
      14416, 15332, 13291, 14982, 14581, 15007, 14343, 13656, 14152, 14350, 13047, 11817, 14861, 15270, 14885, 13693,
      11194, 15192, 15030, 14618, 11760, 12171, 15022, 11573, 7682,  15356, 12197, 15317, 14336, 14229, 14625, 15005,
      14845, 15345, 15057, 13541, 14661, 10061, 11229, 12241, 13966, 14077, 14446, 14715, 13704, 14364, 14438, 14369,
      14939, 15000, 14606, 14821, 14643, 14870, 14557, 10013, 13981, 14846, 11779, 14296, 12400, 14613, 13735, 13223,
      10159, 13441, 13166, 14737, 13560, 14610, 13522, 13053, 12788, 14560, 13961, 13578, 14517, 11437, 14833, 15172,
      13084, 14388, 15144, 15199, 14833, 14247, 15209, 14407, 12044, 11546, 11313, 15282, 13889, 13827, 14823, 12228,
      15052, 14702, 12407, 14833, 13993, 15036, 13000, 15004, 15173, 13738, 13292, 14513, 13927, 14439, 14649, 13386,
      15323, 14829, 13975, 11515, 14461, 14609, 13712, 14285, 14503, 12324, 13838, 14695, 14439, 10133, 14155, 15182,
      15197, 10832, 15326, 13584, 15202, 11215, 13608, 12724, 12442, 12268, 12073, 14128, 14580, 15131, 14517, 15088,
      11688, 11848, 13609, 10473, 14956, 15355, 14389, 12050, 12494, 14052, 14378, 14362, 14251, 12383, 14492, 15155,
      14291, 12293, 15246, 14516, 14429, 13963, 13085, 14747, 14527, 15176, 10933, 15351, 14568, 10676, 12561, 14433,
      15290, 14990, 15042, 12359, 14858, 15069, 14464, 14920, 13730, 14655, 13404, 10892, 15254, 12645, 14153, 14259,
      11339, 15082, 14797, 14057, 15327, 13193, 14349, 15073, 15310, 12614, 12083, 14684, 12946, 12985, 13767, 13962,
      7621,  14450, 13810, 14651, 14635, 12388, 14639, 10285, 15313, 14412, 14693, 14503, 11686, 13460, 15101, 11794,
      15113, 14796, 14036, 11194, 13324, 15161, 14584, 14717, 12430, 13528, 14752, 14423, 12906, 14282, 14881, 14469,
      15150, 13784, 14894, 13681, 11731, 11757, 14737, 13657, 15059, 13244, 14905, 14668, 15233, 15317, 13750, 11634,
      14331, 13954, 13630, 14152, 13736, 13610, 13127, 14601, 14100, 14528, 12819, 14499, 12019, 14618, 10255, 15263,
      14753, 12419, 14105, 12307, 13136, 13110, 14206, 12880, 15017, 15103, 12629, 12103, 13277, 15287, 14644, 13911,
      13396, 14376, 15181, 14926, 8432,  15245, 14944, 14688, 13861, 14204, 11852, 13418, 11571, 15066, 12337, 15160,
      14669, 14345, 14754, 14863, 12039, 12249, 13699, 14725, 14594, 14842, 14266, 14095, 14345, 14130, 14892, 13235,
      14350, 12856, 14379, 11673, 12885, 15014, 10246, 15169, 14306, 14934, 14912, 14561, 14374, 13493, 14995, 14254,
      14431, 15115, 12483, 14415, 9738,  12940, 14670, 11053, 9261,  10574, 13007, 15172, 15172, 14623, 12768, 14293,
      14172, 13875, 15334, 14580, 13760, 14893, 13195, 14062, 15039, 13823, 14778, 14327, 13893, 12682, 2232,  15198,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({8, 3, 16, 16}),
                                    std::vector<int64_t>({16, 16, 3, 8}), DT_FLOAT16,
                                    std::vector<int64_t>({2, 3, 1, 0}), result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_nchw1) {
  uint16_t data[8 * 8 * 1 * 1] = {
      12208, 14583, 13592, 12554, 13844, 14952, 13550, 13912, 12895, 14609, 13628, 14807, 13682, 8931,  14783, 15331,
      13308, 14319, 13440, 14485, 15059, 9591,  14072, 12425, 11684, 13490, 12707, 15081, 14622, 15357, 14149, 14457,
      15011, 15043, 13933, 14880, 12999, 14028, 14471, 15004, 9253,  14649, 12929, 14265, 10738, 8334,  11893, 13852,
      14621, 15000, 13395, 15062, 14872, 14369, 15272, 14260, 12609, 15326, 14455, 13991, 14012, 14669, 15110, 12708,
  };
  uint16_t ret[1 * 1 * 8 * 8] = {
      12208, 14583, 13592, 12554, 13844, 14952, 13550, 13912, 12895, 14609, 13628, 14807, 13682, 8931,  14783, 15331,
      13308, 14319, 13440, 14485, 15059, 9591,  14072, 12425, 11684, 13490, 12707, 15081, 14622, 15357, 14149, 14457,
      15011, 15043, 13933, 14880, 12999, 14028, 14471, 15004, 9253,  14649, 12929, 14265, 10738, 8334,  11893, 13852,
      14621, 15000, 13395, 15062, 14872, 14369, 15272, 14260, 12609, 15326, 14455, 13991, 14012, 14669, 15110, 12708,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({8, 8, 1, 1}),
                                    std::vector<int64_t>({1, 1, 8, 8}), DT_FLOAT16, std::vector<int64_t>({3, 2, 0, 1}),
                                    result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_nchw2) {
  uint16_t data[4 * 4 * 3 * 16] = {
      12206, 15252, 13115, 14551, 14648, 14331, 14547, 14493, 15331, 14787, 13916, 13683, 13639, 14658, 13168, 13867,
      15344, 14769, 11735, 14827, 11799, 14241, 13577, 13575, 13692, 14962, 12658, 13574, 14902, 14145, 7260,  12731,
      11408, 15249, 15005, 14593, 14345, 11556, 14944, 12381, 14931, 12928, 13439, 15081, 14916, 12555, 14132, 15127,
      14518, 15027, 11342, 13075, 15300, 14569, 13861, 15295, 13685, 14481, 13679, 14997, 15217, 12472, 13102, 13861,
      14582, 12594, 15219, 13730, 14243, 14966, 15296, 11656, 12353, 15221, 13763, 11059, 14747, 14431, 15281, 15235,
      13495, 14435, 13960, 14883, 12593, 12703, 12977, 12798, 14912, 13359, 15310, 11484, 9325,  14662, 15035, 15149,
      15212, 13904, 13065, 14156, 14951, 12352, 14899, 13666, 10334, 12081, 14557, 14707, 15348, 10316, 13515, 10960,
      14978, 14715, 6436,  14506, 14127, 15167, 14712, 15016, 12241, 14464, 14839, 14696, 14961, 14089, 14863, 14278,
      7571,  14403, 14152, 14773, 14591, 14633, 14603, 14616, 12746, 15220, 13835, 14451, 14613, 14520, 15271, 14043,
      14874, 14337, 10594, 13156, 14346, 14762, 13793, 14521, 11469, 11686, 14168, 14274, 14848, 13413, 14627, 15323,
      10132, 10983, 11165, 14733, 13978, 14598, 15114, 14608, 14132, 13145, 13837, 11092, 10036, 15051, 13517, 14497,
      15057, 14136, 15166, 15132, 14350, 14478, 14065, 14028, 15070, 13898, 15257, 12292, 13666, 13896, 14723, 15254,
      12933, 13444, 15216, 15000, 11997, 14840, 15167, 14240, 11907, 12932, 9154,  14593, 15147, 14779, 14203, 12811,
      13948, 13791, 10662, 14352, 12429, 13710, 14748, 14300, 14831, 13140, 13839, 13813, 11961, 15318, 14536, 8683,
      14951, 13481, 14009, 11298, 14538, 15313, 14625, 13450, 14782, 13429, 12462, 13913, 13976, 13812, 15037, 14354,
      13690, 13927, 14747, 14392, 14526, 15059, 13637, 15164, 13527, 13434, 15306, 12664, 14668, 15072, 14216, 13813,
      15217, 14980, 13342, 11405, 14030, 12222, 13681, 14135, 12413, 13891, 10703, 14576, 15105, 15005, 15026, 14929,
      10239, 14260, 14900, 14587, 13563, 14644, 14823, 13589, 13685, 15235, 14477, 14623, 14938, 13067, 14160, 14611,
      11279, 14070, 14572, 13528, 14678, 14340, 14645, 15018, 15221, 15250, 14497, 10306, 13701, 14622, 14397, 13593,
      13391, 14954, 15042, 14097, 13225, 13382, 14385, 14779, 13280, 14509, 14870, 15158, 13003, 14188, 12173, 15064,
      14106, 14853, 13813, 12196, 15086, 6765,  14511, 12297, 14482, 15344, 13705, 13905, 14782, 15071, 13085, 14698,
      12004, 14351, 10879, 15172, 14439, 12797, 14288, 14771, 13457, 14878, 10827, 15075, 15017, 13578, 14290, 14126,
      13426, 12512, 13487, 15008, 13848, 13495, 11581, 13424, 10513, 13823, 14494, 13993, 13684, 15115, 15088, 12791,
      15360, 15015, 8406,  14809, 12276, 12274, 13489, 14998, 10335, 14889, 14803, 13224, 13536, 12404, 14424, 11213,
      15157, 14739, 12099, 15027, 14989, 12158, 14607, 10455, 14856, 15038, 14580, 12491, 14339, 15192, 14607, 14462,
      13799, 13832, 14513, 13889, 14693, 11150, 15086, 13549, 14363, 14829, 14626, 14953, 11531, 13649, 10310, 12240,
      15212, 13940, 11392, 13551, 11780, 13611, 14171, 14478, 15107, 14519, 15184, 14398, 14267, 13960, 11746, 14939,
      14185, 15022, 15053, 13762, 14435, 15065, 13523, 9470,  13809, 15196, 15229, 13988, 13501, 14448, 15124, 12087,
      15300, 14205, 12480, 15345, 14788, 14223, 11611, 13596, 14903, 11919, 13534, 13161, 13832, 15353, 14978, 14903,
      14410, 14415, 13090, 14363, 6160,  10966, 15249, 15268, 14483, 13302, 13538, 13705, 15167, 13341, 13709, 14738,
      10866, 14805, 14677, 12874, 15177, 10810, 13384, 13555, 14705, 15268, 14834, 14844, 13639, 12453, 15012, 14508,
      14897, 13627, 14656, 14783, 14377, 15047, 15134, 14725, 15038, 14015, 14824, 13431, 15062, 15124, 11154, 13814,
      7605,  12835, 12239, 14365, 15076, 15133, 14621, 14480, 14101, 15265, 12292, 14628, 11876, 14320, 14225, 14177,
      14800, 14643, 13435, 13410, 10145, 15234, 11691, 12565, 14255, 14868, 13245, 14949, 14416, 14645, 15261, 14210,
      15060, 15184, 10396, 13901, 14392, 14835, 14241, 14281, 11744, 14559, 14236, 13846, 13497, 13032, 14583, 9447,
      14494, 15196, 13685, 14705, 12661, 14857, 14981, 15331, 15298, 15078, 13418, 12069, 13039, 14718, 14923, 12300,
      13110, 12442, 15076, 14083, 13887, 14665, 14378, 12215, 14512, 14963, 13900, 14863, 14382, 9322,  14497, 13468,
      14544, 12335, 14297, 13821, 14734, 9506,  13633, 14530, 14809, 12961, 14581, 14600, 14916, 15076, 10203, 14486,
      14752, 13722, 14469, 12696, 12560, 14403, 12743, 11937, 13255, 14475, 15212, 14673, 14454, 14550, 13758, 11741,
      10383, 13722, 14579, 15032, 12904, 14360, 14926, 15141, 13955, 13031, 13524, 15201, 13712, 12978, 13662, 12256,
      12998, 12263, 15114, 11278, 11997, 14528, 13760, 14618, 6477,  13601, 14591, 12414, 11659, 14744, 13576, 13765,
      14081, 15269, 15016, 13540, 14590, 13578, 13526, 9811,  14859, 14122, 15222, 14965, 12828, 15267, 12766, 14260,
      14634, 13610, 15201, 14891, 15051, 13857, 14211, 13871, 13557, 12209, 14773, 14605, 15329, 15074, 13888, 15033,
      13706, 15241, 15281, 14806, 14353, 14217, 15132, 14041, 14921, 14763, 13738, 14526, 13445, 14405, 14971, 14432,
      11517, 14883, 15354, 14434, 13586, 14360, 14611, 14971, 15327, 14782, 14440, 10158, 12160, 13486, 13841, 12795,
      15006, 9795,  13712, 15263, 14896, 13801, 13765, 12379, 12541, 12256, 11983, 14998, 13342, 14099, 12299, 15326,
      14029, 9905,  15106, 12900, 13846, 13807, 14898, 7140,  14001, 13386, 5532,  13747, 10703, 14840, 12719, 13926,
      14440, 14937, 14260, 14670, 9617,  14905, 14194, 15101, 14392, 14461, 13383, 14808, 14814, 12682, 14588, 12954,
  };
  uint16_t ret[16 * 3 * 4 * 4] = {
      12206, 14518, 15212, 14874, 12933, 13690, 11279, 12004, 15157, 14185, 10866, 14800, 13110, 10383, 14634, 15006,
      15344, 14582, 14978, 10132, 13948, 15217, 13391, 13426, 13799, 15300, 14897, 15060, 14544, 12998, 13706, 14029,
      11408, 13495, 7571,  15057, 14951, 10239, 14106, 15360, 15212, 14410, 7605,  14494, 14752, 14081, 11517, 14440,
      15252, 15027, 13904, 14337, 13444, 13927, 14070, 14351, 14739, 15022, 14805, 14643, 12442, 13722, 13610, 9795,
      14769, 12594, 14715, 10983, 13791, 14980, 14954, 12512, 13832, 14205, 13627, 15184, 12335, 12263, 15241, 9905,
      15249, 14435, 14403, 14136, 13481, 14260, 14853, 15015, 13940, 14415, 12835, 15196, 13722, 15269, 14883, 14937,
      13115, 11342, 13065, 10594, 15216, 14747, 14572, 10879, 12099, 15053, 14677, 13435, 15076, 14579, 15201, 13712,
      11735, 15219, 6436,  11165, 10662, 13342, 15042, 13487, 14513, 12480, 14656, 10396, 14297, 15114, 15281, 15106,
      15005, 13960, 14152, 15166, 14009, 14900, 13813, 8406,  11392, 13090, 12239, 13685, 14469, 15016, 15354, 14260,
      14551, 13075, 14156, 13156, 15000, 14392, 13528, 15172, 15027, 13762, 12874, 13410, 14083, 15032, 14891, 15263,
      14827, 13730, 14506, 14733, 14352, 11405, 14097, 15008, 13889, 15345, 14783, 13901, 13821, 11278, 14806, 12900,
      14593, 14883, 14773, 15132, 11298, 14587, 12196, 14809, 13551, 14363, 14365, 14705, 12696, 13540, 14434, 14670,
      14648, 15300, 14951, 14346, 11997, 14526, 14678, 14439, 14989, 14435, 15177, 10145, 13887, 12904, 15051, 14896,
      11799, 14243, 14127, 13978, 12429, 14030, 13225, 13848, 14693, 14788, 14377, 14392, 14734, 11997, 14353, 13846,
      14345, 12593, 14591, 14350, 14538, 13563, 15086, 12276, 11780, 6160,  15076, 12661, 12560, 14590, 13586, 9617,
      14331, 14569, 12352, 14762, 14840, 15059, 14340, 12797, 12158, 15065, 10810, 15234, 14665, 14360, 13857, 13801,
      14241, 14966, 15167, 14598, 13710, 12222, 13382, 13495, 11150, 14223, 15047, 14835, 9506,  14528, 14217, 13807,
      11556, 12703, 14633, 14478, 15313, 14644, 6765,  12274, 13611, 10966, 15133, 14857, 14403, 13578, 14360, 14905,
      14547, 13861, 14899, 13793, 15167, 13637, 14645, 14288, 14607, 13523, 13384, 11691, 14378, 14926, 14211, 13765,
      13577, 15296, 14712, 15114, 14748, 13681, 14385, 11581, 15086, 11611, 15134, 14241, 13633, 13760, 15132, 14898,
      14944, 12977, 14603, 14065, 14625, 14823, 14511, 13489, 14171, 15249, 14621, 14981, 12743, 13526, 14611, 14194,
      14493, 15295, 13666, 14521, 14240, 15164, 15018, 14771, 10455, 9470,  13555, 12565, 12215, 15141, 13871, 12379,
      13575, 11656, 15016, 14608, 14300, 14135, 14779, 13424, 13549, 13596, 14725, 14281, 14530, 14618, 14041, 7140,
      12381, 12798, 14616, 14028, 13450, 13589, 12297, 14998, 14478, 15268, 14480, 15331, 11937, 9811,  14971, 15101,
      15331, 13685, 10334, 11469, 11907, 13527, 15221, 13457, 14856, 13809, 14705, 14255, 14512, 13955, 13557, 12541,
      13692, 12353, 12241, 14132, 14831, 12413, 13280, 10513, 14363, 14903, 15038, 11744, 14809, 6477,  14921, 14001,
      14931, 14912, 12746, 15070, 14782, 13685, 14482, 10335, 15107, 14483, 14101, 15298, 13255, 14859, 15327, 14392,
      14787, 14481, 12081, 11686, 12932, 13434, 15250, 14878, 15038, 15196, 15268, 14868, 14963, 13031, 12209, 12256,
      14962, 15221, 14464, 13145, 13140, 13891, 14509, 13823, 14829, 11919, 14015, 14559, 12961, 13601, 14763, 13386,
      12928, 13359, 15220, 13898, 13429, 15235, 15344, 14889, 14519, 13302, 15265, 15078, 14475, 14122, 14782, 14461,
      13916, 13679, 14557, 14168, 9154,  15306, 14497, 10827, 14580, 15229, 14834, 13245, 13900, 13524, 14773, 11983,
      12658, 13763, 14839, 13837, 13839, 10703, 14870, 14494, 14626, 13534, 14824, 14236, 14581, 14591, 13738, 5532,
      13439, 15310, 13835, 15257, 12462, 14477, 13705, 14803, 15184, 13538, 12292, 13418, 15212, 15222, 14440, 13383,
      13683, 14997, 14707, 14274, 14593, 12664, 10306, 15075, 12491, 13988, 14844, 14949, 14863, 15201, 14605, 14998,
      13574, 11059, 14696, 11092, 13813, 14576, 15158, 13993, 14953, 13161, 13431, 13846, 14600, 12414, 14526, 13747,
      15081, 11484, 14451, 12292, 13913, 14623, 13905, 13224, 14398, 13705, 14628, 12069, 14673, 14965, 10158, 14808,
      13639, 15217, 15348, 14848, 15147, 14668, 13701, 15017, 14339, 13501, 13639, 14416, 14382, 13712, 15329, 13342,
      14902, 14747, 14961, 10036, 11961, 15105, 13003, 13684, 11531, 13832, 15062, 13497, 14916, 11659, 13445, 10703,
      14916, 9325,  14613, 13666, 13976, 14938, 14782, 13536, 14267, 15167, 11876, 13039, 14454, 12828, 12160, 14814,
      14658, 12472, 10316, 13413, 14779, 15072, 14622, 13578, 15192, 14448, 12453, 14645, 9322,  12978, 15074, 14099,
      14145, 14431, 14089, 15051, 15318, 15005, 14188, 15115, 13649, 15353, 15124, 13032, 15076, 14744, 14405, 14840,
      12555, 14662, 14520, 13896, 13812, 13067, 15071, 12404, 13960, 13341, 14320, 14718, 14550, 15267, 13486, 12682,
      13168, 13102, 13515, 14627, 14203, 14216, 14397, 14290, 14607, 15124, 15012, 15261, 14497, 13662, 13888, 12299,
      7260,  15281, 14863, 13517, 14536, 15026, 12173, 15088, 10310, 14978, 11154, 14583, 10203, 13576, 14971, 12719,
      14132, 15035, 15271, 14723, 15037, 14160, 13085, 14424, 11746, 13709, 14225, 14923, 13758, 12766, 13841, 14588,
      13867, 13861, 10960, 15323, 12811, 13813, 13593, 14126, 14462, 12087, 14508, 14210, 13468, 12256, 15033, 15326,
      12731, 15235, 14278, 14497, 8683,  14929, 15064, 12791, 12240, 14903, 13814, 9447,  14486, 13765, 14432, 13926,
      15127, 15149, 14043, 15254, 14354, 14611, 14698, 11213, 14939, 14738, 14177, 12300, 11741, 14260, 12795, 12954,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({4, 4, 3, 16}),
                                    std::vector<int64_t>({16, 3, 4, 4}), DT_FLOAT16, std::vector<int64_t>({3, 2, 0, 1}),
                                    result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nchw_to_nwhc1) {
  uint16_t data[1 * 3 * 16 * 16] = {
      15138, 15285, 15305, 14188, 14917, 14539, 13026, 15186, 14901, 14198, 15327, 12601, 12723, 12843, 13527, 5636,
      14323, 13311, 13260, 11315, 13447, 10891, 11350, 14395, 13040, 14110, 13739, 15303, 13228, 14478, 13412, 13350,
      12715, 11890, 14308, 12381, 13344, 12792, 13412, 13072, 13564, 14773, 11703, 14846, 14889, 14628, 10420, 15130,
      14524, 14282, 14103, 11586, 14670, 14065, 15015, 15314, 13847, 14456, 14438, 14569, 10655, 14982, 15302, 14388,
      13753, 14070, 15263, 13548, 15159, 14710, 15006, 13474, 13868, 14463, 12932, 14461, 15219, 15322, 13726, 14618,
      14644, 14765, 15153, 15289, 14789, 14931, 14729, 8423,  15072, 14658, 13417, 14713, 12172, 15191, 14796, 11733,
      11645, 14482, 15039, 13645, 14881, 13766, 13106, 14162, 14938, 9462,  14857, 15231, 14844, 14331, 14264, 14431,
      14910, 12552, 14977, 14634, 12400, 13414, 13240, 14303, 14162, 13199, 13692, 14083, 15018, 14261, 14550, 14533,
      14562, 15003, 15357, 14524, 14448, 10108, 13554, 14737, 15118, 14498, 13551, 13798, 10768, 14727, 14935, 9055,
      14652, 14040, 14486, 14690, 14505, 13849, 13645, 12774, 14157, 13842, 11143, 14098, 14237, 15297, 12973, 11624,
      11638, 14438, 15311, 14540, 13562, 12432, 13749, 13942, 15214, 10796, 14266, 13503, 15133, 14871, 14906, 14956,
      13467, 15002, 15153, 14589, 12496, 14271, 13305, 14049, 13902, 13873, 14607, 15283, 12517, 9796,  15036, 13485,
      14708, 14903, 15090, 14669, 14003, 12108, 13723, 14447, 12820, 11243, 15183, 14337, 14389, 14789, 13653, 14352,
      14970, 13438, 14715, 14878, 14552, 15008, 15178, 14564, 15046, 14876, 15234, 14751, 15163, 15061, 13584, 15141,
      14528, 14429, 15071, 14646, 14826, 11412, 11456, 12875, 11324, 13219, 12527, 14367, 14979, 14001, 14876, 15043,
      15184, 13589, 14900, 13338, 15193, 13246, 15165, 15225, 14651, 11430, 12811, 14703, 14388, 4920,  11728, 12464,
      14827, 15161, 15265, 11542, 15203, 14118, 12868, 14101, 15081, 14444, 13457, 15292, 14643, 12311, 15122, 14496,
      13753, 10580, 9081,  14957, 12218, 14076, 14672, 14374, 14267, 13916, 13408, 13744, 13593, 14391, 7869,  14992,
      14724, 14638, 12330, 14376, 13012, 12311, 12541, 13213, 14633, 13677, 14809, 14919, 15044, 15272, 9451,  15025,
      14030, 9949,  13823, 14900, 14840, 15274, 14211, 14907, 14618, 15290, 11872, 9312,  14709, 14956, 15154, 14851,
      13245, 13366, 15084, 7584,  13450, 15090, 14693, 14654, 14966, 8900,  13422, 11507, 13915, 10770, 11675, 6726,
      13729, 14998, 15296, 15351, 15097, 14974, 9528,  11730, 14167, 13765, 14614, 14994, 14907, 12989, 13613, 14979,
      12930, 13858, 15303, 13404, 9581,  14992, 15357, 13692, 14429, 11887, 12971, 13835, 13819, 14731, 12948, 15063,
      14112, 11764, 13620, 12351, 10466, 12549, 8672,  13141, 11323, 14581, 14933, 14758, 15206, 14021, 14883, 13857,
      14826, 14588, 15041, 13433, 12975, 14468, 13352, 14764, 14713, 15350, 12713, 14057, 14346, 13777, 13015, 11552,
      13561, 13992, 12382, 14644, 14435, 13880, 15333, 13984, 13788, 14346, 11520, 13742, 13489, 14098, 15274, 12027,
      12995, 13948, 13876, 14489, 14379, 13277, 14114, 10457, 13874, 15243, 14798, 11909, 13930, 13134, 8864,  12406,
      15070, 12818, 12502, 12561, 14452, 11308, 13577, 14513, 14202, 14455, 15316, 12912, 12803, 14019, 12189, 14691,
      14648, 14457, 12294, 14927, 10971, 14063, 15217, 12306, 14971, 15293, 13632, 10881, 14851, 14571, 15251, 14949,
      13783, 15295, 14708, 14861, 14110, 14351, 14333, 13210, 15261, 14314, 12303, 11509, 14255, 15288, 13999, 15208,
      13459, 14501, 15233, 10148, 13325, 14074, 13976, 15120, 15118, 14316, 12014, 14093, 13702, 15084, 14158, 15210,
      14780, 11558, 10534, 9818,  13670, 14125, 14616, 14560, 13503, 15093, 14205, 14968, 14380, 15076, 14417, 12445,
      12431, 14715, 8483,  13720, 14171, 15358, 13989, 13519, 14839, 12038, 11355, 9632,  10150, 13373, 10819, 15203,
      9960,  14945, 12132, 13744, 10536, 14865, 14718, 15239, 14284, 15331, 14372, 14648, 10139, 13853, 14461, 11171,
      9982,  14388, 9448,  14142, 9383,  14864, 13758, 14933, 8104,  14475, 13137, 14221, 15080, 10739, 12488, 11478,
      14895, 14847, 14162, 15263, 14936, 15048, 14861, 13531, 13583, 15197, 13411, 15098, 13613, 14513, 14270, 13267,
      12768, 13394, 14788, 13782, 13516, 13881, 12439, 14436, 14447, 14864, 15183, 14718, 13652, 13242, 15342, 14715,
      13339, 13949, 14665, 13904, 12527, 11550, 14727, 11488, 15340, 15349, 14345, 12392, 14643, 13791, 14593, 12762,
      14572, 13616, 12307, 13741, 12268, 15279, 14870, 14339, 13547, 14763, 13540, 15158, 14977, 13205, 11910, 13228,
      11630, 14865, 12982, 14472, 14709, 14615, 14520, 14774, 15194, 14246, 14191, 14683, 15115, 13045, 9622,  13950,
      14857, 14621, 15343, 12632, 14779, 12501, 14581, 14525, 15111, 14843, 14338, 13195, 9861,  12156, 13970, 15242,
      14546, 15343, 14627, 14330, 14915, 15331, 15332, 13649, 14953, 12655, 13963, 13207, 11045, 14401, 14848, 12672,
      13035, 13377, 14387, 14437, 13794, 14952, 14409, 14466, 8825,  14561, 14439, 11931, 14741, 13847, 14369, 14019,
      14731, 14888, 13990, 14955, 14382, 13361, 9983,  14355, 15058, 14606, 15012, 14740, 13073, 14253, 14626, 14394,
      15294, 12535, 14181, 14740, 14612, 15082, 13503, 12274, 15341, 13605, 10329, 15089, 13168, 14830, 14055, 15000,
      14952, 12984, 14684, 12872, 14472, 14946, 13419, 13916, 13005, 14075, 12791, 14654, 15327, 13627, 14549, 14920,
      15259, 12502, 13364, 14853, 15049, 14448, 14724, 12881, 14794, 14494, 13425, 15086, 14338, 14190, 14361, 12458,
      14420, 10571, 14813, 13330, 14491, 15131, 14097, 15183, 15062, 14564, 14374, 15320, 15242, 14943, 13706, 14496,
  };
  uint16_t ret[1 * 16 * 16 * 3] = {
      15138, 14827, 12431, 15285, 15161, 14715, 15305, 15265, 8483,  14188, 11542, 13720, 14917, 15203, 14171, 14539,
      14118, 15358, 13026, 12868, 13989, 15186, 14101, 13519, 14901, 15081, 14839, 14198, 14444, 12038, 15327, 13457,
      11355, 12601, 15292, 9632,  12723, 14643, 10150, 12843, 12311, 13373, 13527, 15122, 10819, 5636,  14496, 15203,
      14323, 13753, 9960,  13311, 10580, 14945, 13260, 9081,  12132, 11315, 14957, 13744, 13447, 12218, 10536, 10891,
      14076, 14865, 11350, 14672, 14718, 14395, 14374, 15239, 13040, 14267, 14284, 14110, 13916, 15331, 13739, 13408,
      14372, 15303, 13744, 14648, 13228, 13593, 10139, 14478, 14391, 13853, 13412, 7869,  14461, 13350, 14992, 11171,
      12715, 14724, 9982,  11890, 14638, 14388, 14308, 12330, 9448,  12381, 14376, 14142, 13344, 13012, 9383,  12792,
      12311, 14864, 13412, 12541, 13758, 13072, 13213, 14933, 13564, 14633, 8104,  14773, 13677, 14475, 11703, 14809,
      13137, 14846, 14919, 14221, 14889, 15044, 15080, 14628, 15272, 10739, 10420, 9451,  12488, 15130, 15025, 11478,
      14524, 14030, 14895, 14282, 9949,  14847, 14103, 13823, 14162, 11586, 14900, 15263, 14670, 14840, 14936, 14065,
      15274, 15048, 15015, 14211, 14861, 15314, 14907, 13531, 13847, 14618, 13583, 14456, 15290, 15197, 14438, 11872,
      13411, 14569, 9312,  15098, 10655, 14709, 13613, 14982, 14956, 14513, 15302, 15154, 14270, 14388, 14851, 13267,
      13753, 13245, 12768, 14070, 13366, 13394, 15263, 15084, 14788, 13548, 7584,  13782, 15159, 13450, 13516, 14710,
      15090, 13881, 15006, 14693, 12439, 13474, 14654, 14436, 13868, 14966, 14447, 14463, 8900,  14864, 12932, 13422,
      15183, 14461, 11507, 14718, 15219, 13915, 13652, 15322, 10770, 13242, 13726, 11675, 15342, 14618, 6726,  14715,
      14644, 13729, 13339, 14765, 14998, 13949, 15153, 15296, 14665, 15289, 15351, 13904, 14789, 15097, 12527, 14931,
      14974, 11550, 14729, 9528,  14727, 8423,  11730, 11488, 15072, 14167, 15340, 14658, 13765, 15349, 13417, 14614,
      14345, 14713, 14994, 12392, 12172, 14907, 14643, 15191, 12989, 13791, 14796, 13613, 14593, 11733, 14979, 12762,
      11645, 12930, 14572, 14482, 13858, 13616, 15039, 15303, 12307, 13645, 13404, 13741, 14881, 9581,  12268, 13766,
      14992, 15279, 13106, 15357, 14870, 14162, 13692, 14339, 14938, 14429, 13547, 9462,  11887, 14763, 14857, 12971,
      13540, 15231, 13835, 15158, 14844, 13819, 14977, 14331, 14731, 13205, 14264, 12948, 11910, 14431, 15063, 13228,
      14910, 14112, 11630, 12552, 11764, 14865, 14977, 13620, 12982, 14634, 12351, 14472, 12400, 10466, 14709, 13414,
      12549, 14615, 13240, 8672,  14520, 14303, 13141, 14774, 14162, 11323, 15194, 13199, 14581, 14246, 13692, 14933,
      14191, 14083, 14758, 14683, 15018, 15206, 15115, 14261, 14021, 13045, 14550, 14883, 9622,  14533, 13857, 13950,
      14562, 14826, 14857, 15003, 14588, 14621, 15357, 15041, 15343, 14524, 13433, 12632, 14448, 12975, 14779, 10108,
      14468, 12501, 13554, 13352, 14581, 14737, 14764, 14525, 15118, 14713, 15111, 14498, 15350, 14843, 13551, 12713,
      14338, 13798, 14057, 13195, 10768, 14346, 9861,  14727, 13777, 12156, 14935, 13015, 13970, 9055,  11552, 15242,
      14652, 13561, 14546, 14040, 13992, 15343, 14486, 12382, 14627, 14690, 14644, 14330, 14505, 14435, 14915, 13849,
      13880, 15331, 13645, 15333, 15332, 12774, 13984, 13649, 14157, 13788, 14953, 13842, 14346, 12655, 11143, 11520,
      13963, 14098, 13742, 13207, 14237, 13489, 11045, 15297, 14098, 14401, 12973, 15274, 14848, 11624, 12027, 12672,
      11638, 12995, 13035, 14438, 13948, 13377, 15311, 13876, 14387, 14540, 14489, 14437, 13562, 14379, 13794, 12432,
      13277, 14952, 13749, 14114, 14409, 13942, 10457, 14466, 15214, 13874, 8825,  10796, 15243, 14561, 14266, 14798,
      14439, 13503, 11909, 11931, 15133, 13930, 14741, 14871, 13134, 13847, 14906, 8864,  14369, 14956, 12406, 14019,
      13467, 15070, 14731, 15002, 12818, 14888, 15153, 12502, 13990, 14589, 12561, 14955, 12496, 14452, 14382, 14271,
      11308, 13361, 13305, 13577, 9983,  14049, 14513, 14355, 13902, 14202, 15058, 13873, 14455, 14606, 14607, 15316,
      15012, 15283, 12912, 14740, 12517, 12803, 13073, 9796,  14019, 14253, 15036, 12189, 14626, 13485, 14691, 14394,
      14708, 14648, 15294, 14903, 14457, 12535, 15090, 12294, 14181, 14669, 14927, 14740, 14003, 10971, 14612, 12108,
      14063, 15082, 13723, 15217, 13503, 14447, 12306, 12274, 12820, 14971, 15341, 11243, 15293, 13605, 15183, 13632,
      10329, 14337, 10881, 15089, 14389, 14851, 13168, 14789, 14571, 14830, 13653, 15251, 14055, 14352, 14949, 15000,
      14970, 13783, 14952, 13438, 15295, 12984, 14715, 14708, 14684, 14878, 14861, 12872, 14552, 14110, 14472, 15008,
      14351, 14946, 15178, 14333, 13419, 14564, 13210, 13916, 15046, 15261, 13005, 14876, 14314, 14075, 15234, 12303,
      12791, 14751, 11509, 14654, 15163, 14255, 15327, 15061, 15288, 13627, 13584, 13999, 14549, 15141, 15208, 14920,
      14528, 13459, 15259, 14429, 14501, 12502, 15071, 15233, 13364, 14646, 10148, 14853, 14826, 13325, 15049, 11412,
      14074, 14448, 11456, 13976, 14724, 12875, 15120, 12881, 11324, 15118, 14794, 13219, 14316, 14494, 12527, 12014,
      13425, 14367, 14093, 15086, 14979, 13702, 14338, 14001, 15084, 14190, 14876, 14158, 14361, 15043, 15210, 12458,
      15184, 14780, 14420, 13589, 11558, 10571, 14900, 10534, 14813, 13338, 9818,  13330, 15193, 13670, 14491, 13246,
      14125, 15131, 15165, 14616, 14097, 15225, 14560, 15183, 14651, 13503, 15062, 11430, 15093, 14564, 12811, 14205,
      14374, 14703, 14968, 15320, 14388, 14380, 15242, 4920,  15076, 14943, 11728, 14417, 13706, 12464, 12445, 14496,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({1, 3, 16, 16}),
                                    std::vector<int64_t>({1, 16, 16, 3}), DT_FLOAT16,
                                    std::vector<int64_t>({0, 2, 3, 1}), result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nchw_to_nwhc2) {
  float data[8 * 1 * 24 * 24] = {
      0.5062321930371455,     0.32798915578871457,   0.5961646765278394,     0.8617070783970479,
      0.5119373011648897,     0.048024524076240915,  0.23214736441672879,    0.022538554986683446,
      0.6778444052900103,     0.15032959905073096,   0.5500250141965424,     0.17113763529559678,
      0.656904861049231,      0.19596667507728938,   0.368244176122847,      0.8691059710553981,
      0.8464938643825788,     0.4477211400459462,    0.5681620999676735,     0.5442100896841062,
      0.45368229567875673,    0.32546382920612726,   0.18083321574168632,    0.1750322980444311,
      0.6315210221145376,     0.291527227581442,     0.05240995759120004,    0.24235809909562644,
      0.5248510042885183,     0.8444330870217652,    0.06953102068444816,    0.5862038697632712,
      0.8055402660428673,     0.32368384028646024,   0.8548542644341387,     0.21770747056725892,
      0.3311304238509687,     0.2913804661242798,    0.5967050302041854,     0.6869036787651093,
      0.6298993086675535,     0.5342681029051217,    0.3675795216292139,     0.1750638889243652,
      0.1964814553063049,     0.6605207614470802,    0.7789210272606384,     0.7780470338595302,
      0.7160454591867403,     0.6301114551776474,    0.10752566733413593,    0.673119869792655,
      0.9373805013424287,     0.9178365192390866,    0.6325325250871165,     0.4247316161331426,
      0.3801992968018262,     0.8945772418220316,    0.7875543669721298,     0.8539699115784273,
      0.2777908194509292,     0.05650104741824036,   0.831507030885315,      0.585983808212166,
      0.9408480852535616,     0.949221458223217,     0.6494317804282785,     0.22667549478928184,
      0.9867749341169173,     0.3449374672076423,    0.009603964019212485,   0.2966442120522559,
      0.9140488516957659,     0.15654966719968966,   0.5479895146896403,     0.27964020188818406,
      0.5875175857991517,     0.7674359344871401,    0.2662078550688938,     0.601592864568559,
      0.6298513101287228,     0.0007956317020597625, 0.447670613189198,      0.30214703733479853,
      0.7095682335989801,     0.19776718502242907,   0.42373907375609765,    0.9964465820586225,
      0.5657844698280747,     0.9185125060473368,    0.48818414990794645,    0.697598606946429,
      0.23424318111262687,    0.011707822252632338,  0.7337824717352953,     0.5484898408514123,
      0.9929544517415723,     0.6792158760625665,    0.7816028696554761,     0.2405083444025402,
      0.9948803917035984,     0.49246398759410004,   0.5942569141797983,     0.7385481148993642,
      0.4338463026994005,     0.5692156943634276,    0.5157300177718895,     0.9788902748230957,
      0.06944950117329118,    0.7440570791479629,    0.20611744118485498,    0.829837881152689,
      0.8641965625879906,     0.3754093562128916,    0.5140923803643517,     0.01318160757340514,
      0.38912810288926725,    0.7269493917324703,    0.9667767963135668,     0.5146438339988334,
      0.1746242957861096,     0.22260117687528302,   0.5147147658513315,     0.5133063050966878,
      0.6037766881886195,     0.3032343397374424,    0.1558403376681612,     0.19823611829999466,
      0.24791261176807733,    0.06511786233551131,   0.3331160374011095,     0.8764778347789234,
      0.8987904993981825,     0.8850320999146167,    0.0028995817761239273,  0.6114011938310822,
      0.12891905917964652,    0.08841529382295288,   0.8913889051181442,     0.4231141187500551,
      0.5682157758555647,     0.407222042568696,     0.3964456887714989,     0.9083944497303571,
      0.06771895423049012,    0.4659372804769496,    0.12192491449923182,    0.5590082975575247,
      0.7224902246551163,     0.39659001433585184,   0.9959804799025049,     0.945510847494734,
      0.5069062072334803,     0.18366862681431562,   0.6477785312377683,     0.5047962857729253,
      0.12702932873653094,    0.5937694806711893,    0.41217223605167486,    0.586260286286227,
      0.3920397226267349,     0.3009089562278783,    0.11545124344136348,    0.5638317723887502,
      0.03331899478754563,    0.9197389199405746,    0.025063552422119995,   0.08206586723651477,
      0.561096691084764,      0.32084876537534424,   0.9737123506773547,     0.5557153417628414,
      0.33548532198689474,    0.32221438944414504,   0.7714228952988429,     0.227449953513027,
      0.505078000677675,      0.8363531865621979,    0.9104996077916944,     0.7467391082732583,
      0.6486863954134673,     0.7840496913389229,    0.8405166909749249,     0.8967567419124038,
      0.013132746284066021,   0.3492828320186896,    0.2785912741702441,     0.505561232182855,
      0.4916777884425205,     0.6784144755559384,    0.5602904610155944,     0.2556291571530711,
      0.5058833835796643,     0.8065225079160115,    0.4146453573569093,     0.6165567410355937,
      0.3812072863001894,     0.07838633522280025,   0.24554517496324435,    0.06732991743024797,
      0.6172542861800441,     0.012086029165487733,  0.06664288136003349,    0.7043239742078187,
      0.9123664013856383,     0.5335504894308023,    0.08698653277464463,    0.8290196080564468,
      0.8834656717225267,     0.7939247877872073,    0.8884737365869878,     0.4219642380552622,
      0.3534603068640917,     0.8494470631397504,    0.867447552664446,      0.7042030090952853,
      0.7030967670548717,     0.3633266332102917,    0.7912923465426464,     0.2846016100557003,
      0.7669181884111332,     0.1336003148255347,    0.8551305090127473,     0.6448324422438613,
      0.5692776375393788,     0.6125267654644435,    0.2860188283121068,     0.49101502666954544,
      0.7802334407422508,     0.621595999177262,     0.5264555414863354,     0.06256813978886833,
      0.5777567913293464,     0.2185899920497919,    0.5499062346038069,     0.09727935441077395,
      0.9154994096446494,     0.5410406629503918,    0.6478454956274339,     0.41913577704769356,
      0.892374352838081,      0.5878433926092157,    0.9247681810220608,     0.7574161009131323,
      0.40387819954296333,    0.9955865183599879,    0.6498057102561908,     0.23720161272280726,
      0.864962875216823,      0.9744249317817247,    0.1185707073275365,     0.05405958997809279,
      0.21350815438098536,    0.3987264207477995,    0.1901865924242161,     0.8986424402957333,
      0.42756234012515826,    0.5624195702180508,    0.9532024381859805,     0.9331967234220007,
      0.8326262505350779,     0.22204330543949213,   0.5683570413885555,     0.08080650468291284,
      0.7404946579897478,     0.31863905911250545,   0.6545183726954837,     0.9473683813047713,
      0.8142567915681516,     0.14552167710658281,   0.41939814504849826,    0.7794508592612299,
      0.16005597528354443,    0.06867044382609655,   0.4633637274837288,     0.9395113600474436,
      0.002398516729492317,   0.9331948896762047,    0.333821020943754,      0.0870242810975258,
      0.04707664181499216,    0.890444754645273,     0.990579393015404,      0.38653468246552036,
      0.8350018469307008,     0.14186236169840283,   0.5069963680419538,     0.02949034420068819,
      0.9045393529914117,     0.6776465708902875,    0.5951058678362742,     0.16017357369287422,
      0.06829755903301449,    0.22104222238956384,   0.5781531354968936,     0.07078049523276742,
      0.7611775873389636,     0.2506638620506646,    0.23424450010646203,    0.28042226030744977,
      0.4967031301230611,     0.030155802498213036,  0.8417135739779523,     0.4403787816993532,
      0.3194871756596648,     0.024408552447829357,  0.2059121031814014,     0.3304385738990716,
      0.5797427697765347,     0.1488101415168943,    0.07609937614156859,    0.5251133458576794,
      0.38618038104356356,    0.19176610098489089,   0.9987200933842041,     0.3747523857547992,
      0.7577922282660177,     0.13581872016346808,   0.41112542292513443,    0.3692939492355587,
      0.9088817938289541,     0.7068660497692852,    0.06394517786397358,    0.1083252676531502,
      0.1808100870922431,     0.5183031556872817,    0.35323756937224593,    0.5759670034306098,
      0.12944299733834008,    0.9448739674356532,    0.8143588597980085,     0.754802608217618,
      0.9916004739452933,     0.5266178440345204,    0.3778661306592547,     0.6762089130655262,
      0.6609729192353024,     0.657458949700941,     0.6666661408928232,     0.5718295386522686,
      0.815902395364949,      0.27572360372175064,   0.8380770893404555,     0.4430394275199342,
      0.9035539285337746,     0.04305770944290821,   0.0951941872821771,     0.9609676535237013,
      0.7882514248825381,     0.19512411644583338,   0.4947849919452858,     0.6098697295924015,
      0.8027845561907938,     0.3133522370325581,    0.4510194566927449,     0.8428718966430689,
      0.011938006691672332,   0.588867003240751,     0.6690157767048753,     0.4177212705525565,
      0.24674398716514967,    0.7417180449599303,    0.1631995066554942,     0.20262693904300233,
      0.2889357295845064,     0.25740925871269715,   0.6363896486385333,     0.6631190151834848,
      0.20898391694798513,    0.4655689891239263,    0.223154251464165,      0.6477665820136516,
      0.4813056620640841,     0.8843717058980306,    0.6943907285971115,     0.7994117260598272,
      0.1978499897603565,     0.17401412776352376,   0.47091902939013897,    0.3008107310922036,
      0.125356561257992,      0.3362214717360684,    0.008551259225046404,   0.39550964281789236,
      0.8838122008258186,     0.33856044053751155,   0.45407795863420086,    0.4242202694122168,
      0.5423685678418622,     0.558757767842896,     0.09995937937290533,    0.3246315609823286,
      0.6142558040977343,     0.9805749745475485,    0.4657660405624161,     0.9279995363145068,
      0.6559071400579842,     0.2666869937974796,    0.9408718356383589,     0.3545865805029773,
      0.45232948292420505,    0.038505613707505826,  0.00019750497073367512, 0.8737664246958026,
      0.43338860317926897,    0.9723377963347053,    0.6733478271906433,     0.8521676579248147,
      0.7992002524821615,     0.7134241267734911,    0.998215305453406,      0.13173821749133452,
      0.6230927805896207,     0.16597961720329535,   0.5667854438476946,     0.5600991731548618,
      0.7391743889484617,     0.8706462935030473,    0.6023748393452749,     0.3939117403888631,
      0.0179925828091827,     0.4629518715296074,    0.19687388319715216,    0.9137799213875131,
      0.1811662494483287,     0.7822154412029618,    0.23591318340225398,    0.0073897600933453544,
      0.7601835361487541,     0.04661639551634078,   0.47412956237438675,    0.8348234008595401,
      0.9694614871742564,     0.0021255061100916572, 0.3294672766798996,     0.35964304759653043,
      0.6252163536877482,     0.7291002031297731,    0.23755815280234072,    0.9573553281440201,
      0.35208871653768337,    0.12429876607920087,   0.4238129988973137,     0.42030861325609814,
      0.7668992868698534,     0.38672467591564863,   0.6167188625787685,     0.671182673030282,
      0.665041879014701,      0.5979076099092636,    0.08434169920676948,    0.05820304772467022,
      0.6223318283529414,     0.9319341880648322,    0.1563432403380529,     0.9138723236340262,
      0.7996797512923042,     0.4900864446713954,    0.017416089288305514,   0.49040996322083463,
      0.721019678050312,      0.5566481270821583,    0.9257258344448913,     0.030456107481957595,
      0.9633633518879525,     0.025420652239322328,  0.7106922196820691,     0.02782056144663425,
      0.5784283306561472,     0.7642952738653159,    0.49634054661506544,    0.3124518393246003,
      0.2427587464131412,     0.6298184514564478,    0.7423785073124218,     0.37271871104187015,
      0.2722751335358491,     0.2666776013490191,    0.5891324834913104,     0.6876742719251587,
      0.7955883463128232,     0.6707296977799054,    0.9496618100588802,     0.7868528046712148,
      0.7701224409391159,     0.7508487281409736,    0.013211049081081838,   0.10798949667513813,
      0.8090270633430225,     0.048012855163304335,  0.09028922573374432,    0.035025503671681,
      0.1919225111223416,     0.5650389680077842,    0.38354264470450605,    0.046771281245718055,
      0.862924116881804,      0.9649825973770343,    0.5043943142222184,     0.8715482370863882,
      0.26597899853303353,    0.8270579811608609,    0.1142848962533316,     0.4224047306507669,
      0.1012610270560822,     0.8223568939055197,    0.7167013789334914,     0.9315114766412789,
      0.13538563056707842,    0.1971618987154049,    0.1346229767296998,     0.7413487911805234,
      0.8335779236442179,     0.5523076600264788,    0.17805699078916626,    0.9749964559656057,
      0.6548616850045488,     0.6408638652632012,    0.05243142084756114,    0.41338426132755013,
      0.6577911569645122,     0.5218993909847612,    0.8215042477853458,     0.26000525222244186,
      0.97323011169599,       0.17753901458016086,   0.5995954962734206,     0.7072822896238021,
      0.26560859373579837,    0.25711211095662156,   0.07508148094639788,    0.4665311792834703,
      0.8382346611355168,     0.912159129225236,     0.18294092199868883,    0.5446560489946072,
      0.7656095966972155,     0.7678502522889049,    0.015170391334308642,   0.29784029213417207,
      0.8387694383482851,     0.46689527632178685,   0.36712996103456175,    0.019326900402604652,
      0.3426577641914963,     0.4488032775872126,    0.12123730305165703,    0.16833207718529186,
      0.0009628642460063341,  0.961297092575098,     0.6197070762250381,     0.9422212994559002,
      0.46566024250211124,    0.765393556661448,     0.6389778787947291,     0.4565768368332409,
      0.9670253688068792,     0.21973766319640908,   0.1670312116243018,     0.8981162893436722,
      0.839205738663824,      0.7745179886765066,    0.30909292667742505,    0.04511559705068158,
      0.9825690351992592,     0.004746150572906838,  0.5123475897899985,     0.80432432962385,
      0.26105396874260267,    0.16816967722507736,   0.35652723083069127,    0.7015377869256973,
      0.07821081337514191,    0.18523471563017568,   0.8343612489445518,     0.7959091927132941,
      0.7188927625558327,     0.9287626078448632,    0.09973920754860399,    0.3463778089006021,
      0.33659796153984745,    0.921845854796007,     0.00950593702181235,    0.06469285813398706,
      0.25338043680754496,    0.5238467611159003,    0.3167593672722743,     0.09329128287229482,
      0.6484704059568994,     0.9061324833635789,    0.48944359249477554,    0.8886033139636679,
      0.5775004603975735,     0.7994597749363578,    0.2685524226371466,     0.47423484982081954,
      0.9478611351812041,     0.24263144009029924,   0.453565431301858,      0.42525493803037606,
      0.11490633583693022,    0.20757224400351415,   0.5868995409837178,     0.5205919982656838,
      0.34503754603792125,    0.5987197103905514,    0.6868505593330014,     0.7638415147641093,
      0.8267185942940226,     0.6625091189429029,    0.6693741441502425,     0.38345424336010436,
      0.7081765066435062,     0.42905141236087785,   0.2328912829363069,     0.46170680700262057,
      0.439085657841746,      0.48283110128008133,   0.6895936395080633,     0.915300650877659,
      0.5065137439640514,     0.009253996333368542,  0.17912608340116165,    0.9877014563961273,
      0.2077031505895378,     0.8852031617482035,    0.39883058097563073,    0.9280883776056293,
      0.5468439956477785,     0.8348508115176584,    0.9623588674800001,     0.10797271631363137,
      0.11652847794724375,    0.4006687049764782,    0.855832471124214,      0.8786977408679026,
      0.7141267893561709,     0.9917530089388696,    0.5096096656188075,     0.16953365739403836,
      0.7251961536843469,     0.8943385078565467,    0.8112754308812744,     0.9761274106045587,
      0.9326604989238073,     0.9903928487769879,    0.269577210979857,      0.8189637058521028,
      0.7381833350806415,     0.28154334423945915,   0.1250465350737835,     0.3968102520265465,
      0.9604970122135507,     0.9722187833692912,    0.4243054458397719,     0.9403312613720402,
      0.8703241311060701,     0.6089211633348707,    0.5345658877440552,     0.5130240560137153,
      0.5368930457625992,     0.06336696382328744,   0.045978147806837844,   0.21270102297516136,
      0.5183775131533372,     0.4575562226466785,    0.6969774129134045,     0.49689162515596763,
      0.3039279916586811,     0.9104938758536323,    0.842826717308411,      0.9030531490528709,
      0.5622318797083762,     0.8880003119744561,    0.22917815472979386,    0.8454761943337168,
      0.5490186483045347,     0.8903499500434628,    0.19690296474232793,    0.4942586480451958,
      0.6208256248541093,     0.793673761384259,     0.15704525492115684,    0.8064819707072164,
      0.3612275689614989,     0.6409665812254784,    0.718535811027167,      0.011627527251532266,
      0.18251899551078254,    0.8816150389346538,    0.5141424262186775,     0.5585514761068199,
      0.08751818562303404,    0.2032257845367399,    0.30428349184187875,    0.3562439026805052,
      0.9902869789914716,     0.617485694423711,     0.23085218840071986,    0.9200353993391799,
      0.1438119306579585,     0.9637545013683527,    0.06926888721997271,    0.45809005417603854,
      0.7797894826426551,     0.033071563699438644,  0.5346070887767089,     0.3785868582170747,
      0.7792362852031324,     0.44049360572247687,   0.5655966414697406,     0.49836455834115634,
      0.41982706944388515,    0.9142509416402275,    0.8055104920505853,     0.7882368863968197,
      0.7861541561206552,     0.8750002361453983,    0.3141872249221326,     0.6297863342928883,
      0.13752402310502843,    0.8408271137857017,    0.20203166178667864,    0.6132166149173786,
      0.00565266221263494,    0.4346366940226415,    0.5750892505021086,     0.7484967824901719,
      0.554368174682661,      0.6462518960809419,    0.7575408699684905,     0.8304301645939067,
      0.14686776200689766,    0.01775895453516141,   0.20381742085491494,    0.5374100389215499,
      0.3543295568618047,     0.881281278910346,     0.7387949907094862,     0.6532668366398822,
      0.35871434741569874,    0.34577990378538315,   0.7511426552642608,     0.1749342021093535,
      0.44179651111839446,    0.3183243633827524,    0.8952139313460276,     0.550987565451777,
      0.11245280703451577,    0.29603527735935475,   0.0024376097979692535,  0.5580957824575782,
      0.6785730314640288,     0.6989604199143635,    0.9280856338597502,     0.8528138190991756,
      0.8155971681047525,     0.19627454847903825,   0.23483652834817348,    0.9749127497086097,
      0.9952437850116509,     0.39823054819356907,   0.3902382135861282,     0.9436877000327134,
      0.7855667825786122,     0.8211945319467171,    0.9350703325513966,     0.022807010966559904,
      0.5701088951610942,     0.21262277387562822,   0.182285558875648,      0.5457926090191436,
      0.0022151330954638393,  0.9380139047727055,    0.8430496283743121,     0.1022224243661769,
      0.29636066130596317,    0.9479549160834284,    0.8250427156664355,     0.25458526111733715,
      0.6582997945231689,     0.24489199861326638,   0.7480060827586592,     0.16758586360820604,
      0.675393772428663,      0.08917020068830872,   0.49411868825207117,    0.9293064155184508,
      0.04710616624830932,    0.9032842176572544,    0.7887575986187616,     0.45685702914654747,
      0.4652494433853783,     0.08590753836423537,   0.8677926147593354,     0.9757594778331132,
      0.03326488446691034,    0.09080413307553958,   0.2677322617144291,     0.003004139162062991,
      0.37075805819564844,    0.5619563194408237,    0.5326269575702928,     0.34340862047732745,
      0.9016417148983238,     0.1816640209011503,    0.3079844132700572,     0.697831111602062,
      0.15550348544202108,    0.08709128824924162,   0.7318882367213184,     0.5226189451379162,
      0.4714561263097441,     0.6536425776379847,    0.8780547121445959,     0.4605063736250262,
      0.1108839197488849,     0.49048534621825135,   0.348779380113877,      0.3573496061128525,
      0.6477277145926619,     0.3267103713187982,    0.154258739206506,      0.09146321915634115,
      0.15653234956704554,    0.2659173882939163,    0.9017235470997731,     0.39463656456034923,
      0.156590494640086,      0.8173011759177684,    0.4863177935656502,     0.889074583881877,
      0.1961541858280207,     0.4073608554088233,    0.17383269122504952,    0.49264426743742795,
      0.28034389601998155,    0.5593685058504049,    0.8717081492192968,     0.8138787395058248,
      0.6849150775885576,     0.7294561911157406,    0.6007567942294963,     0.4566856125549694,
      0.7762810018455528,     0.037485912765460316,  0.317156754519343,      0.8194347358709463,
      0.8742357018784637,     0.45420248053764034,   0.545021334035525,      0.40484355148999873,
      0.9642956470123379,     0.9521463750801464,    0.009809236244757491,   0.5632225263832438,
      0.827726924457394,      0.19127589974101955,   0.8270672169675024,     0.9389636338572646,
      0.03389523795263183,    0.8566288277688866,    0.41601508004675314,    0.4533324145773725,
      0.3986860505212597,     0.7125644912081883,    0.4991806916020406,     0.6155778733311165,
      0.9130384484529627,     0.5487870717147846,    0.7780523937434449,     0.28193646085785884,
      0.23331327786702805,    0.9816900774238352,    0.1350024308188581,     0.780189727376689,
      0.9156908233955465,     0.009622250928327358,  0.14554767074354535,    0.6099444642853934,
      0.49974097393273886,    0.7069659077805105,    0.7816183976265796,     0.6893721747092452,
      0.39131354032672916,    0.37859141906212357,   0.5906888260321975,     0.6601801424705058,
      0.17536941466724143,    0.2319276355700719,    0.7489062937368479,     0.25317403533372795,
      0.13515277633234812,    0.9347494213774822,    0.9266229609375172,     0.9943887686013935,
      0.05448279130963951,    0.2941520004646705,    0.8162845180903855,     0.9728186588423753,
      0.04784001124036252,    0.22656891211505314,   0.8623002348807659,     0.5872338171414982,
      0.8172407294972533,     0.8935080553239964,    0.9015605149533703,     0.41310471749037525,
      0.9472794835647472,     0.6520347680487271,    0.31311178341617885,    0.3881266733594382,
      0.5940963916604006,     0.34213553626717264,   0.7731917933130059,     0.5966087262785921,
      0.41236805548735,       0.38464411318442915,   0.948890845138434,      0.6579713101413165,
      0.0864903742655957,     0.9024542523251091,    0.5321617601250037,     0.4679140323179162,
      0.545330586994838,      0.45181337751924944,   0.46408729390763515,    0.6739482447724412,
      0.0051732115035305615,  0.19981216404826385,   0.5290130517806954,     0.7192318331618469,
      0.7212983477553033,     0.3213459838833309,    0.8810398893805294,     0.24407230150381054,
      0.7705033913302648,     0.8348143443275565,    0.9798327350813848,     0.7153785787888585,
      0.17227162583571132,    0.013486902192362704,  0.05279184836340933,    0.4048402752271233,
      0.6541987863733343,     0.9572730371926592,    0.25874032756911736,    0.1708286437732166,
      0.7458853835638297,     0.8957748918471427,    0.8504052252091574,     0.8440260407324176,
      0.09998791094771531,    0.5981663701129188,    0.9909795971630094,     0.7599927671359444,
      0.5930460739990847,     0.778268386360668,     0.6314661520179152,     0.5758158555084719,
      0.1933560284115361,     0.04267202229386946,   0.5808063777329563,     0.2846012429745495,
      0.8127455357361613,     0.8547361041799995,    0.4236263477471254,     0.5126017051751544,
      0.486864207649195,      0.675148578661926,     0.521602594310036,      0.1714438367929747,
      0.987577581508166,      0.6240301905818986,    0.3972660860873791,     0.21466797526556947,
      0.163736157424353,      0.16097272448599187,   0.9867228726368442,     0.44686891216524294,
      0.8529040770303731,     0.8427084849973342,    0.5248669060092062,     0.6332209039546157,
      0.3381060884944972,     0.6410528682127311,    0.5184896117965878,     0.0775072340265841,
      0.20847724173835658,    0.8421532756187703,    0.5690884663921209,     0.16660278165823805,
      0.7114283732757188,     0.12485689980485426,   0.4778653717597874,     0.8936810245378618,
      0.25572041201895246,    0.6479725646536676,    0.0521651501340884,     0.2899282678297366,
      0.1567842561578523,     0.2618292683133343,    0.48167163493515797,    0.8678615958116621,
      0.2825109203364219,     0.029167488033803868,  0.30085749125988204,    0.1430984046038365,
      0.8105162116377423,     0.3240150277783528,    0.4227679344777656,     0.6462688810750794,
      0.7669111613819273,     0.3591939105703398,    0.5406014889841781,     0.9133014898668583,
      0.23078416856951423,    0.7282831287496329,    0.7696332086423125,     0.036116417171488946,
      0.7188034785773543,     0.46641137151322454,   0.13517594491126694,    0.023029089551247717,
      0.3240281523339036,     0.28219840623687475,   0.6176277759655265,     0.822929704075167,
      0.9746339984503541,     0.09356935168701108,   0.9358670947921622,     0.5150705189935418,
      0.08698190944361806,    0.5067019194005934,    0.4607138934794833,     0.5903911985128997,
      0.04743558869608677,    0.0816011762024833,    0.18434623268203787,    0.7063485147604806,
      0.16133266570652083,    0.7545927345078352,    0.9883244202548223,     0.1932863168822514,
      0.18928374882276033,    0.8001091255310002,    0.7155860340551159,     0.3789846917866153,
      0.9611113142900227,     0.879396081488193,     0.5388680749811205,     0.8361159884411873,
      0.866329387811841,      0.2730682799221704,    0.3194169335393262,     0.9423646280256972,
      0.24435425023073687,    0.7470170905071631,    0.7738507071603729,     0.3986280845457605,
      0.030480186468068826,   0.610744914811935,     0.2678410545126796,     0.11563606352242406,
      0.35435733790292934,    7.629086834592957e-05, 0.31506645823114665,    0.52596582150875,
      0.4947711935372616,     0.2900674918365881,    0.9559480836459326,     0.8641971546827826,
      0.7759990209000613,     0.25189193242507424,   0.7764929030552792,     0.6740451053768206,
      0.9442503568797899,     0.27015556612912295,   0.4722170294917363,     0.6923440714494277,
      0.4625235039406205,     0.40653633557229074,   0.8614408947586382,     0.8005107123593145,
      0.38952152310149324,    0.5138242206735628,    0.3034512156454581,     0.5075533946811591,
      0.6409178909749544,     0.7867224176037622,    0.5704724276154304,     0.558636617357991,
      0.2794783538323291,     0.29715752029602904,   0.5187519349640142,     0.9873759371136224,
      0.9258075437182876,     0.21802053184517123,   0.43578239292876575,    0.5802450337786992,
      0.23230142264547604,    0.9663956282775855,    0.3046095724793134,     0.7813239552985765,
      0.7139029823908456,     0.11346499503069729,   0.17481934399946641,    0.030608752823210073,
      0.7198536329641824,     0.5851914340312228,    0.10405825121810075,    0.4328732174062543,
      0.05984690834909834,    0.059751406592598366,  0.7099125485628539,     0.2327422314064267,
      0.22293859772007485,    0.366334373824144,     0.6749561293186479,     0.8275468647809106,
      0.4836623121233168,     0.5182234230734467,    0.17814665168896882,    0.767156836968558,
      0.9957233089372526,     0.020767935241929103,  0.9075908646866189,     0.910011621335872,
      0.7026196573836658,     0.935762210311436,     0.7711845413595912,     0.46739814450201234,
      0.6994581401527824,     0.5616043805626976,    0.11408951973501213,    0.6998783598361171,
      0.929936385814316,      0.665750680755247,     0.6799953175502683,     0.020929310077360097,
      0.9533380343595762,     0.19059543824646374,   0.09924735025128095,    0.4388686123460397,
      0.7029603377770199,     0.0283956241097576,    0.08107860028919389,    0.5042102876279084,
      0.2165582424681859,     0.061309458649308146,  0.5425731942471365,     0.6896535206703505,
      0.7865332719261746,     0.21144979197123848,   0.044240593795785155,   0.7172785881835658,
      0.8087701489136178,     0.12632062877512984,   0.3135882124553674,     0.7030096426830668,
      0.32427739389406196,    0.26177958169560045,   0.8364626116621018,     0.045119232141371146,
      0.15965420000508967,    0.9353298867548688,    0.20383187633308142,    0.9738936519827217,
      0.40298551153980444,    0.7975560547282584,    0.18171915196160293,    0.7518553129466249,
      0.3343056185111044,     0.4899186327978281,    0.9156154657107153,     0.9113609778955688,
      0.9693327204195537,     0.2857523592884468,    0.05130307975288906,    0.71266558707065,
      0.562649641637568,      0.8915442240259507,    0.164649064386867,      0.027705380608350705,
      0.5407021702897924,     0.7889782067611623,    0.5259864378330708,     0.6845669681814901,
      0.6376220227714763,     0.8514856160558509,    0.6510253682186862,     0.5170756234714353,
      0.7067784474209631,     0.9994574991301162,    0.6757298661011472,     0.7466542251346405,
      0.31532433459065423,    0.2932461574194528,    0.6129823292461669,     0.24096303449059953,
      0.7484722467815119,     0.2738466277749775,    0.6041763997009431,     0.9490113319971468,
      0.16474717260481941,    0.6344892971888295,    0.1605409102690507,     0.36949116587874564,
      0.9062309293016031,     0.5676917708189916,    0.6579501227105841,     0.1556984298808446,
      0.10526105347022718,    0.0432597501143015,    0.12340518927265864,    0.24480904517286162,
      0.9559497778713313,     0.4650345002210139,    0.5570696004138982,     0.8604647108283786,
      0.08281791268299465,    0.6909086243849096,    0.6361793771611001,     0.18333854334943112,
      0.09914338253655386,    0.42672616390085993,   0.029455181622296656,   0.8806910005582591,
      0.501593639037123,      0.5384016604659735,    0.048500484858614024,   0.33157374470623313,
      0.7819900133063813,     0.8036696202277274,    0.8870946895919508,     0.6443897992391144,
      0.487593702664578,      0.47427283897570727,   0.45319916886863576,    0.34084491767048486,
      0.4097600967808508,     0.6369527481950622,    0.988582322369492,      0.7429270774935287,
      0.2755575157901178,     0.5337860064252411,    0.08527367015946075,    0.2868764543425195,
      0.2818610831832793,     0.09656564597512085,   0.16326420842851086,    0.078524756766712,
      0.692034898414409,      0.02929249805951828,   0.04078870767209608,    0.68618278656732,
      0.4164950388301115,     0.15439502423081763,   0.2608044219197406,     0.9485716022280892,
      0.1489511084132873,     0.5371867964769852,    0.2679471165751426,     0.26879005137532985,
      0.6385648413295864,     0.6934480563650385,    0.5889259374697515,     0.9444658629484035,
      0.5739860439847068,     0.4642829135480352,    0.5485487373822201,     0.055600233329058835,
      0.9503995048048212,     0.03693809906500234,   0.29259340143434953,    0.3763819233620549,
      0.054765734537462474,   0.6690946345171489,    0.22901017308395843,    0.3851663832175244,
      0.9320166382726104,     0.40543494470602504,   0.7132939144212584,     0.438468625983355,
      0.40289388689969197,    0.1080205205554402,    0.36245057716210094,    0.36015390409792614,
      0.4083542707925487,     0.6457341101335805,    0.5280984956406288,     0.27661051569717643,
      0.15463113535167072,    0.6339351618412589,    0.25386082756030703,    0.3773882514499456,
      0.31448240237275205,    0.5379416898801859,    0.5758417787990292,     0.4931403175245719,
      0.19895720697450392,    0.9106510540309283,    0.7050910060490698,     0.45995862112822117,
      0.4978773762163059,     0.4305593369082561,    0.5163888955360598,     0.5881241308899362,
      0.7443503376805837,     0.043441356160601075,  0.7620942885064099,     0.25391141995016,
      0.10404423400504292,    0.32906430947818444,   0.7134706951754703,     0.6142847460386224,
      0.8025796936730528,     0.732389054290974,     0.41473925626260966,    0.6923681125801747,
      0.7145973260035485,     0.6951361442463575,    0.3418245407724094,     0.011957990757860193,
      0.10193439601418242,    0.7414001168798778,    0.4136476884443896,     0.690481795572699,
      0.9133795729869558,     0.8514948184579377,    0.6159790140475269,     0.35329256022365085,
      0.885435642977142,      0.9162085873379183,    0.8567070326140995,     0.25296933567683344,
      0.35424346143915453,    0.5002598794309785,    0.8659747694089831,     0.061456731329130654,
      0.18850808844299283,    0.041641953786621944,  0.4423078043675779,     0.19516736871253626,
      0.7748134390819658,     0.15669760064831195,   0.9117988105447139,     0.17529069687430643,
      0.21239361243420785,    0.5598792774908463,    0.019901661165872664,   0.7807569139436707,
      0.3951855412813505,     0.04765166480638605,   0.1252275191352593,     0.7764889850899379,
      0.9903254692712204,     0.4160674609967715,    0.6575123873469116,     0.38692550571427453,
      0.9421299229690594,     0.13425578776714753,   0.6592775206040412,     0.6054569516862356,
      0.04995466341550436,    0.31838895529498445,   0.5594098049245086,     0.5431828600421421,
      0.9655536479587977,     0.9443783667221035,    0.52733461507154,       0.23509187824030708,
      0.8359559719413645,     0.40800777231855934,   0.8192441772939613,     0.4585598560257491,
      0.5789392096126688,     0.73483080985693,      0.3857779429185293,     0.32684564099220315,
      0.4342809981627095,     0.14049178871154044,   0.3249377070613626,     0.9649364229542966,
      0.546159980425236,      0.7495624435760676,    0.46499080808841164,    0.9595431299879549,
      0.5511422996681221,     0.006284943257787723,  0.9579373386678119,     0.8627631305545066,
      0.42931315127083947,    0.7117063444496837,    0.3529688849071867,     0.6581981238160464,
      0.8607842753730445,     0.1035946540281355,    0.33884413032963134,    0.6507898433398873,
      0.5959572838859108,     0.8452792802539334,    0.3526427347097323,     0.2554030188129234,
      0.3190780690938113,     0.5359166867354336,    0.899592971396041,      0.9121275113754743,
      0.18881523918281573,    0.16581486849400462,   0.1864109651954301,     0.028607524048106736,
      0.13031259865406175,    0.6048366380665815,    0.5957170162769209,     0.7081464546990173,
      0.8903217482370849,     0.09598610365359428,   0.519585064267526,      0.09657738036679875,
      0.3475479951857743,     0.4963494792070573,    0.5292251865940365,     0.029110455518635447,
      0.13835821078098043,    0.658289086360752,     0.20830808279559043,    0.0736493897230931,
      0.8598564030205227,     0.8590472853784719,    0.9610234425963425,     0.48137361683309265,
      0.17898859647327336,    0.5440140974851478,    0.22730089140323917,    0.018558462503961426,
      0.4863017370860887,     0.9382132934461014,    0.19297219357216033,    0.9940483705415563,
      0.7732193700811595,     0.4881593204224687,    0.21141437672188212,    0.4440192193919973,
      0.14557017262370142,    0.7702782436739344,    0.6601890426095425,     0.23468998861913448,
      0.7782546277335423,     0.4448974128041292,    0.10784083571982617,    0.14854640192380364,
      0.41589035421442533,    0.3197984326244462,    0.7245022420692844,     0.21576829484306959,
      0.10265703279256322,    0.45756321284804535,   0.9403807825834055,     0.5526588429924927,
      0.6064363553897896,     0.44265137283869593,   0.569212185802443,      0.7912368277559028,
      0.8887896757133944,     0.9701565615505346,    0.6977265802358966,     0.536834680339334,
      0.053981826061055393,   0.8756559562878227,    0.19057490879409256,    0.3320634721865183,
      0.4459034795768957,     0.19803414491520221,   0.41464347378057187,    0.4296586033181208,
      0.3521609076476333,     0.7204422760571739,    0.538750650251617,      0.9405722533748734,
      0.6186423782405404,     0.6233966614987376,    0.318102330519885,      0.8543971214766016,
      0.6515592077046153,     0.65087215946289,      0.07339238123019876,    0.4727928631310542,
      0.020176923010824965,   0.8738978388137459,    0.400978242333368,      0.7942854137885756,
      0.6403430773994766,     0.5661281788485651,    0.9813443426749566,     0.5483196198615674,
      0.06707226963185708,    0.7333912975866296,    0.7783524129943937,     0.5686775672271452,
      0.4256925483989712,     0.5147086104638293,    0.21476000417538343,    0.916855433021808,
      0.3714678841508565,     0.21945150784688328,   0.5895851611906975,     0.1444626597607006,
      0.738918199088585,      0.4481544686964083,    0.9856359446672089,     0.29954706102055195,
      0.611250956442058,      0.9430562414796368,    0.7229305445999924,     0.1858020448235872,
      0.6618648057683056,     0.8030276227107247,    0.8628099361519953,     0.9052610609469864,
      0.48514713211278393,    0.21873607262787087,   0.5236259810661064,     0.230898613761495,
      0.17879765773860556,    0.6151719520382292,    0.8151124499805635,     0.5781982220346872,
      0.3922148718803763,     0.04935560570672859,   0.6166915363174584,     0.5081051021238706,
      0.7010454655614318,     0.4156377880919485,    0.3492037798091502,     0.602200690923089,
      0.09046365783660171,    0.16223935565771608,   0.5214901402508125,     0.5044965309511683,
      0.8718711479270838,     0.9893060211426482,    0.4959762454399149,     0.6638722685693331,
      0.27567906452334956,    0.9612735276985851,    0.017683914342381035,   0.6880525776298796,
      0.26384910388692295,    0.4717037005472474,    0.04709738998294177,    0.9206613460317158,
      0.30609401558422245,    0.650794876466132,     0.9549873305910817,     0.8260862345328126,
      0.4305511457337493,     0.15775833413756224,   0.5698073932330375,     0.6732764670891707,
      0.9398683076373318,     0.8884952039532361,    0.9747580378552119,     0.7012280138803675,
      0.8531212614847642,     0.5588857939967947,    0.4865193397093649,     0.35605598711197395,
      0.23192417196470105,    0.8943987506597288,    0.4581750581036229,     0.8316761648384743,
      0.1956329153934292,     0.7862726579345383,    0.2825441517137014,     0.12262868378623026,
      0.8276433833405171,     0.6205529971010263,    0.32692718075055793,    0.8228061122431176,
      0.01971216456364311,    0.34028396625042623,   0.9809049097581001,     0.42615866343689,
      0.31026080743670426,    0.655869132710115,     0.21848187364501515,    0.7168610879867828,
      0.4594451911566828,     0.665814039596452,     0.36315476515717227,    0.5792757848529761,
      0.2194177814751842,     0.04385373639898016,   0.518617925385258,      0.3231278017612045,
      0.2594374757740957,     0.29246587337951047,   0.9954689561632492,     0.3501425234728255,
      0.6709665721562044,     0.16735352771914958,   0.8260129706431494,     0.40920719564891483,
      0.6726330850570945,     0.9363557645462725,    0.6556123113787984,     0.24270806527297228,
      0.7235976249239356,     0.24447580020214432,   0.1570820781313833,     0.8148349956024216,
      0.6933255834175878,     0.3001748159747639,    0.4345877719588055,     0.5503760162209426,
      0.25779097166992126,    0.4929286821874297,    0.9452724276975171,     0.665277564567275,
      0.8981405030205403,     0.0670257099481898,    0.6939751122857064,     0.28055550151293496,
      0.1332388904235442,     0.5375935529800575,    0.7796575064872702,     0.6544817490995954,
      0.07015083766352537,    0.5144850339572572,    0.8525538781907521,     0.9739838860835902,
      0.4968967376586929,     0.4127145314686359,    0.27933761555501435,    0.3672016010943906,
      0.6624024674092706,     0.24544598528646022,   0.730314983254911,      0.17701101837412136,
      0.4254799754930676,     0.35423136895259566,   0.5768227897299716,     0.5744645070463099,
      0.6089490929009442,     0.8468421104716097,    0.062493117646656215,   0.9433883841846586,
      0.3224314773749847,     0.3879437547436835,    0.06542481862518479,    0.4524283508742747,
      0.855669739307951,      0.9355414144830774,    0.016953557859817336,   0.08887746141991093,
      0.3077384846166704,     0.20142444310220264,   0.23430527951848246,    0.26726979711914867,
      0.7538977184667861,     0.14055565974103956,   0.12019543811452327,    0.8032361878205014,
      0.7275211502307414,     0.5391190118588421,    0.39040871413175204,    0.9111147281454772,
      0.9493616269229143,     0.7539309432514376,    0.32713630350951395,    0.748126071640409,
      0.7235166954765612,     0.5451528985198291,    0.08939363370630093,    0.9726577168929407,
      0.5056002065235468,     0.8720214092930499,    0.14252130964260157,    0.8017993349366525,
      0.8789412016297585,     0.19733101052115432,   0.155381302468528,      0.8861006212175135,
      0.28308405796973546,    0.3421889072421824,    0.2741378883081277,     0.562728159108378,
      0.7383010713186272,     0.2940145578132707,    0.28188592835883397,    0.876776834120555,
      0.4094498174275354,     0.2609720457658792,    0.9077216796152148,     0.9167908537532,
      0.6309256990750524,     0.2932255295296887,    0.6187393252348707,     0.02419640268937162,
      0.7615549945291642,     0.40152068077174974,   0.636001364738158,      0.31693811983415865,
      0.17459370162390564,    0.09635478622334415,   0.773110596039915,      0.36730671076204746,
      0.4443424697638383,     0.6269672542570564,    0.18052959491911025,    0.8763251766396633,
      0.9298965932343471,     0.3114788775550925,    0.5129502631275407,     0.2671988790638957,
      0.03395469873611412,    0.20677057622909345,   0.029755677202100816,   0.4219143640858508,
      0.27766396280399275,    0.7626861520170851,    0.2804449959173896,     0.41126630075958903,
      0.6130098684306445,     0.7749747562665911,    0.6306743873349789,     0.17398026115826748,
      0.8664778902230784,     0.13631390978684288,   0.126146245275511,      0.14392278284610127,
      0.4957647401686809,     0.49393608417974944,   0.7608848150197474,     0.7708537446533661,
      0.17041707735566713,    0.5292679237649189,    0.12997774787294147,    0.5833293771008747,
      0.22158461844207578,    0.38454048634657145,   0.25170772654694007,    0.18384322498407457,
      0.9106010886281795,     0.09659133036787504,   0.04798999449920649,    0.5971959180210877,
      0.33920293291125825,    0.0026978486282175362, 0.40823027702490455,    0.7474551858830002,
      0.8447835860688525,     0.999476073467762,     0.11292905422267163,    0.2891202214831097,
      0.6782488374010278,     0.5640985110366258,    0.8986345118209681,     0.8303221656535216,
      0.3838014827262134,     0.6954806707019082,    0.04745548087955098,    0.19020545853032067,
      0.12142096074765196,    0.8083835608993636,    0.2703724701412815,     0.04308441751967196,
      0.8978514331468422,     0.9227768394778075,    0.054487218354160816,   0.8881844540343677,
      0.05812500740473081,    0.43395580484342355,   0.9128284726568942,     0.46153699068964205,
      0.9329113950684834,     0.5436808169668677,    0.8551864909610408,     0.35430629048202467,
      0.20331160404943038,    0.010592767504785994,  0.768145204266474,      0.7716453181066588,
      0.07399950484290962,    0.35304343137569727,   0.7125013832160177,     0.32282759187212584,
      0.5098121496598533,     0.9429961075410074,    0.23690140194649634,    0.28545879601150004,
      0.36072796490221837,    0.08273436245662757,   0.13321861653992195,    0.45428395959680057,
      0.3292870423168869,     0.3717537796542958,    0.9151157324904851,     0.032565267234247575,
      0.5663024224678861,     0.21258936026884934,   0.018792364759155578,   0.33061571155470315,
      0.4408215380032614,     0.6373830559219769,    0.409083548130421,      0.5719023860863325,
      0.5966825436453085,     0.3384202473006439,    0.0652522862056627,     0.7184518347094753,
      0.7333243428502271,     0.3397689359164483,    0.39030612456817504,    0.49021356874309363,
      0.07567478335266509,    0.8152990173046628,    0.865796090334987,      0.9772443897479798,
      0.8237383881843146,     0.6529526140669909,    0.642639906551107,      0.48148740771686727,
      0.32824558349693844,    0.21997446692237632,   0.2826342393226089,     0.6925547552930775,
      0.8127702758298999,     0.8449833779720203,    0.04123879385713569,    0.15065632287258246,
      0.08510557609762459,    0.5458280878881934,    0.8586504699178478,     0.9911190250770345,
      0.5763284424876813,     0.7391889450985766,    0.40039453665752356,    0.6580974766512633,
      0.9713635948599508,     0.9633153015071205,    0.9892725316197725,     0.7655195394029977,
      0.2626076882068743,     0.5724930703594869,    0.8770329572359922,     0.9241957706353401,
      0.5311898231459584,     0.9787947183754235,    0.29236240390648527,    0.1370530031021152,
      0.21557458708432398,    0.21930911835253963,   0.8715098439481456,     0.18225413327885254,
      0.1273980429476339,     0.781536231097221,     0.7399707114697983,     0.03176008087944826,
      0.07484892991644743,    0.9938729205296434,    0.7208500631972949,     0.7020940151356819,
      0.649863542644937,      0.07171846155065342,   0.24072337013910783,    0.3613692423637672,
      0.28109344159579286,    0.6906532840886619,    0.2697954961712017,     0.28147888050363834,
      0.8129444048447061,     0.6482743700303343,    0.567516198772247,      0.3377204549692112,
      0.5318035966189143,     0.13996490823612162,   0.28411043736720165,    0.7086066320571008,
      0.7364523892364573,     0.24583114874653533,   0.2718401559841159,     0.4699898162815598,
      0.8368333921696967,     0.6039469513318906,    0.6881629540763242,     0.10914136009539432,
      0.03794547642282364,    0.16071126773904743,   0.6071822780850678,     0.999449454081704,
      0.38785614009596714,    0.2305249584020561,    0.9381100298775975,     0.6723682337201471,
      0.0270853082856215,     0.38452454801976443,   0.8104401851265016,     0.4148616154771626,
      0.25348586490031955,    0.9559803040006986,    0.23669298529343408,    0.8683776502568926,
      0.6818154399643029,     0.386930406487093,     0.4831551067581342,     0.762948076915824,
      0.3080418124016162,     0.5783325642474083,    0.02031458126010055,    0.07023369879228158,
      0.2510418307035861,     0.06557828934649368,   0.20332294284183228,    0.6988094459473019,
      0.40342220501450765,    0.9809970493544985,    0.26572276292341057,    0.5928075161063842,
      0.8549134765023864,     0.567763428815418,     0.5470926603460404,     0.9274902125377089,
      0.4928070771606695,     0.526894280369654,     0.6376977924010896,     0.22799338981773765,
      0.666609321330193,      0.30868196403098336,   0.14279972266571528,    0.5062364564484477,
      0.9157139519719435,     0.4438514752002488,    0.0967753755965477,     0.8364362062093621,
      0.7507227281441472,     0.034410730069850626,  0.6782441014462247,     0.48150125869929983,
      0.8610360109688682,     0.040318507891833,     0.981454376414118,      0.9489949777983132,
      0.8363894005173848,     0.7935877513663323,    0.7161463843240741,     0.005320974874661322,
      0.7219264019524386,     0.5939046135812794,    0.7367415608933358,     0.4901397664186017,
      0.7455950792620178,     0.38453281111378745,   0.11932732877577257,    0.23846310575164364,
      0.5070859241209125,     0.4714858979832832,    0.9511226798432605,     0.816798240831224,
      0.9906645769037737,     0.11961893403587176,   0.31535187276502774,    0.6103025507014492,
      0.780168389505919,      0.4873081795149584,    0.5385034675060101,     0.979880443701223,
      0.38006057763820444,    0.8983108410336961,    0.7260784501222746,     0.08445070147685141,
      0.19108936840472623,    0.8684070135879295,    0.29639093380738957,    0.24831227601153794,
      0.49319075696101833,    0.6248867669334034,    0.043314312738550464,   0.6751994351532093,
      0.9839650562784863,     0.23577156317354986,   0.655407771653181,      0.9998838732393714,
      0.914266783053472,      0.9781753528714074,    0.002991513868391582,   0.27941324936645506,
      0.8503441860013552,     0.47965377849050583,   0.6425737018053364,     0.6917759376427142,
      0.5997255515022856,     0.060241281568058636,  0.5393389196251592,     0.18985718347501923,
      0.9351558163273623,     0.05023015623962879,   0.6468904895820736,     0.014573021284780774,
      0.07314826533484264,    0.7385634948320089,    0.4736186028473338,     0.961769707187561,
      0.6466132639765876,     0.6540721879369729,    0.5897323507539489,     0.24160977712950327,
      0.34607925280409346,    0.6030672545910204,    0.09219015818821708,    0.2189044326893821,
      0.12227548581400349,    0.8947981854220011,    0.252625479705346,      0.9946789181499702,
      0.16317149618234628,    0.8889540539831564,    0.11335746065295138,    0.3021348506513677,
      0.32426537462416727,    0.3221710260970897,    0.7955224454834644,     0.31995046679141825,
      0.4603696522905393,     0.15274124315980264,   0.5767785824549683,     0.9089273609938713,
      0.014181800749509588,   0.8968517292934882,    0.8576432177022097,     0.41392758451611766,
      0.49075724214154415,    0.6724006689201423,    0.7419828793396049,     0.5918792807869941,
      0.4964571450177757,     0.8462797472729263,    0.24074647479855604,    0.17389013966384548,
      0.4336537753610863,     0.20804076413234251,   0.8346292608572363,     0.16330788557412612,
      0.6470926565729509,     0.24909881173874848,   0.7800536906520463,     0.9027679093109797,
      0.46621683989976836,    0.8825818086255208,    0.6483997410357604,     0.07090902131552845,
      0.4615378723949781,     0.3984200929917433,    0.793556355780704,      0.18864072780222685,
      0.6683790309702944,     0.8281722909526522,    0.8584671461088224,     0.7674560890352315,
      0.30241765553139677,    0.41475831093913884,   0.22776361413963964,    0.38489260664050606,
      0.42790348692893054,    0.4855741541423584,    0.7700059150649414,     0.4463345406584335,
      0.3754021383352054,     0.554149430056228,     0.7229379198353453,     0.3532397254539792,
      0.3768025729772698,     0.668903032222659,     0.9064030808327798,     0.435833055858148,
      0.8685532076495873,     0.2886386669233906,    0.43587518450474105,    0.694872592542479,
      0.1796499204429559,     0.22480783387822612,   0.23350737891309348,    0.8144091649840206,
      0.44616818509133616,    0.22082898026287756,   0.17930805292422558,    0.15071070399700426,
      0.3155340984080618,     0.6760742950253298,    0.2621675138999626,     0.17823328215968037,
      0.08015587675406999,    0.9763732534524071,    0.8110620473055706,     0.9566564231509402,
      0.25767909123698307,    0.3601800348476929,    0.950425899846338,      0.174356764476159,
      0.08077041781361871,    0.7687961673279716,    0.4354185072613621,     0.8310249565932173,
      0.3721057577278879,     0.5340391905817158,    0.4872996797842588,     0.761276430509516,
      0.7341317116279491,     0.11585158022036635,   0.8117034975015432,     0.04017399270252342,
      0.5161920405254127,     0.02912026146204605,   0.283469044387504,      0.6056600705599993,
      0.5892643002783994,     0.19327527302460534,   0.6201029277090222,     0.9439856016164112,
      0.8563446020541817,     0.6525564675585972,    0.9151952958944338,     0.582373416388159,
      0.7669560791324367,     0.02468294355083911,   0.32790419872418497,    0.16828688898958633,
      0.9785136875320333,     0.7559030686500858,    0.4880628030762244,     0.49742040693088596,
      0.3807874726702045,     0.2518072818614463,    0.28293848736377514,    0.052065141479679444,
      0.12673432223072,       0.00493210913236386,   0.0659657665976604,     0.7546657122157793,
      0.5142072130637574,     0.47101495152740935,   0.12423809933676722,    0.631621048904926,
      0.9375168340975689,     0.9710427645428577,    0.6951321450506236,     0.12975755461724825,
      0.9371463814511896,     0.06329947410562009,   0.17250706916082792,    0.27504520679952815,
      0.7997764878570511,     0.6280084931708173,    0.8790770172906017,     0.8699573351880034,
      0.47162638306287774,    0.429977964766746,     0.6852470236642084,     0.02825069851350992,
      0.7187392702298809,     0.6897047244877237,    0.21155052406886465,    0.5782009379374243,
      0.844124004652653,      0.13477494670163825,   0.39460860995867053,    0.21886878537466137,
      0.9331765626546623,     0.39975766464681506,   0.05306072541805107,    0.5198958252400147,
      0.30504398126008225,    0.7433307539428954,    0.12287466682408421,    0.9670010933795353,
      0.747858359423017,      0.17207327768824898,   0.2545220160759658,     0.5911442854526012,
      0.785125289716672,      0.34374725201679623,   0.1881988882326393,     0.2864207541695756,
      0.022946369182973436,   0.035928263856476184,  0.8248370296597001,     0.0326694849755228,
      0.7293502533474547,     0.6077561758020177,    0.5308356230207454,     0.03316711866227229,
      0.7568490275843757,     0.520780966891579,     0.23241392652065784,    0.6897984319358339,
      0.6291991128180034,     0.4441797944319068,    0.5568587932114791,     0.4498088314464638,
      0.7010019040522237,     0.6507673483154275,    0.45381116863257953,    0.8343724626292929,
      0.9726485983607335,     0.08883727023216881,   0.3240589354871075,     0.17091823673070605,
      0.7065195713066943,     0.8019676727987474,    0.5441090274902036,     0.7569920288292978,
      0.7284967317947634,     0.41634232641384894,   0.07570625995129976,    0.4839470331704978,
      0.22728929068210257,    0.6017907078082997,    0.2752057089278115,     0.6197057838032689,
      0.5062528432426374,     0.9578668123268466,    0.17145202413217242,    0.24939262342805169,
      0.6288714928454562,     0.5306228139658058,    0.5871282516007716,     0.5544974175100911,
      0.6268496169607662,     0.8447978213259328,    0.5990456111341405,     0.4975881427045391,
      0.9759159347677031,     0.6791081992495608,    0.5316632896786118,     0.731025524465835,
      0.37977185358977994,    0.18206518830018836,   0.655684273695134,      0.7157391210381715,
      0.9914665753650298,     0.5048593361026893,    0.9551772829563094,     0.7745323297735499,
      0.1264456909491325,     0.3699896710346614,    0.6285338457271957,     0.514443036953066,
      0.9899529710790698,     0.7325623262164351,    0.42250238115582217,    0.9471771192019562,
      0.5681364044488664,     0.6486542055885673,    0.13720737835505248,    0.6846959458412011,
      0.4521690685914095,     0.9371433944439886,    0.9945327264012567,     0.33107065688983917,
      0.9343690829724055,     0.6856832306125681,    0.799031808457499,      0.7380137292376373,
      0.9746119191774075,     0.6114354110845129,    0.0891424280914559,     0.5091757110322869,
      0.603309404646988,      0.4295246842942808,    0.722036085094832,      0.5625133815588351,
      0.13050048794622393,    0.9927393684728438,    0.45025947906275665,    0.3250450093807251,
      0.09561872500769664,    0.8633353598344091,    0.40442616095861705,    0.6049206328617713,
      0.8428239809093349,     0.3359551331198569,    0.22248396807251225,    0.5502353681183261,
      0.40267811045207713,    0.5815240359991557,    0.3014924083991003,     0.4250990948690391,
      0.08277471680497728,    0.16446000783135628,   0.7582322318598479,     0.4513912032123134,
      0.21989757035321167,    0.6951066958420687,    0.4703863012569903,     0.6716716338779879,
      0.5407943154328158,     0.4271833226075261,    0.08610893472179548,    0.693695330552891,
      0.31314361600309726,    0.5535216118808298,    0.5990984962870414,     0.5131726892092602,
      0.806119912485667,      0.37726715649026266,   0.09688997160729618,    0.18191235600914468,
      0.7408756680625669,     0.067357737461333,     0.34430792748579353,    0.35918926626247394,
      0.136124078264096,      0.3541995171494954,    0.06349779403656919,    0.3754301718183216,
      0.1727189346883753,     0.7580345332123546,    0.5946766069056495,     0.12308175309808889,
      0.5448895422266883,     0.2753416276479139,    0.23336713618230265,    0.4308822662286048,
      0.5621756856088449,     0.7611032921388645,    0.349812128693896,      0.3881534377705992,
      0.2835050132379042,     0.036894377980221216,  0.9307542758686738,     0.35984184065576474,
      0.057717777604340714,   0.16357715519612248,   0.5474191675603088,     0.17209729645140837,
      0.1035218074281723,     0.550510065989391,     0.41363664298505376,    0.2424585443425049,
      0.12297541084632557,    0.9285138515876707,    0.6290588065058829,     0.8255063271949105,
      0.20874626048136935,    0.9395041387697237,    0.04600701773713345,    0.24156959559907465,
      0.37041024160368163,    0.7264228362952664,    0.04321551557401371,    0.8319348475055413,
      0.5128934010550922,     0.9925867471857552,    0.9216267877935361,     0.24718436038946778,
      0.4698226024943565,     0.5439280672034829,    0.598067075383266,      0.28494763010177293,
      0.03773308148441756,    0.14574269431127063,   0.6053555487266239,     0.8475034881533703,
      0.2020262485026808,     0.7042307474819337,    0.5005531552761207,     0.8192645819547374,
      0.20759838646694628,    0.42254359806485775,   0.49037819615284917,    0.19201492423287725,
      0.37500924763986043,    0.3021041849823324,    0.3213504994388482,     0.46774067505236416,
      0.0026173221305848537,  0.2236980382939876,    0.8209726800498244,     0.1341877362757261,
      0.7037171416664391,     0.756226471861304,     0.9793647620935093,     0.44373960477005947,
      0.7700194618684637,     0.5673608450062326,    0.013838598953302195,   0.6574138322136758,
      0.7782853882176008,     0.9813441063355254,    0.6393022773267258,     0.9384754208419224,
      0.9544023739700562,     0.8689363282216476,    0.25686033022026544,    0.5677299374542079,
      0.20226249527907136,    0.7413309609345924,    0.3902110116265247,     0.817381412418007,
      0.67832670080788,       0.46537137842295107,   0.6072049619454954,     0.931659554219823,
      0.7232985553535521,     0.5613079712934398,    0.9529395011786647,     0.3233140991562946,
      0.8867061849259075,     0.3102047303338008,    0.5569391637391777,     0.7072786765330655,
      0.05248664008431159,    0.9215047227212699,    0.32001852496573835,    0.2947421881907316,
      0.16826022413555786,    0.9470234077238253,    0.02390800364358514,    0.921284435754136,
      0.5062140210208729,     0.38265197505015147,   0.1803325603165793,     0.35597726956395437,
      0.7943681735300347,     0.41606259121453004,   0.9499169772053542,     0.022111673063570425,
      0.5235643488450099,     0.13857697122597168,   0.4254536166360948,     0.22832181147804687,
      0.23456948978616432,    0.9860684004280239,    0.8756978874984395,     0.03544764170358694,
      0.08973630772908203,    0.5083562496701145,    0.011202382317988091,   0.8990670746555705,
      0.9537673849619107,     0.7085713197473092,    0.986232021543572,      0.5081578876729579,
      0.6945190695598703,     0.9024711459516134,    0.4208577171692106,     0.766413072935944,
      0.48028012847993773,    0.22874311332279218,   0.2133704688789767,     0.5125128278114942,
      0.8880847121160246,     0.3606612472771661,    0.34170378950422586,    0.39477693551558457,
      0.6340623996399476,     0.6953872129694927,    0.7092038405181214,     0.9624278741295362,
      0.3905353641961543,     0.10208035797721937,   0.6101978379539461,     0.7583740478481424,
      0.12625795541839047,    0.6348773324268129,    0.8871458755396873,     0.01670678244223589,
      0.4146830711435052,     0.5372807865088944,    0.12542194922035377,    0.6512231246433252,
      0.4980918754933916,     0.2091095413841736,    0.21206766259675913,    0.031624355402636306,
      0.49247318203534907,    0.8251416658391146,    0.2265518914158131,     0.45579558773586915,
      0.2793801346253608,     0.48011367142312156,   0.19316663611067186,    0.9630653586008612,
      0.2844483346903066,     0.7428791983417421,    0.20350354070834398,    0.2553320192818015,
      0.8212809248620727,     0.7661178866721406,    0.765443338343973,      0.5677574750675933,
      0.05410405845144206,    0.8535598075847425,    0.5267124302899265,     0.16596308978355268,
      0.5165349840530941,     0.6009663705061661,    0.8001224351986231,     0.12433512035597516,
      0.7328391838711578,     0.46843650518351376,   0.19453361700593552,    0.2457914503921359,
      0.9715041128172724,     0.5035253179717091,    0.2738750246354873,     0.76571572353285,
      0.8322725912841784,     0.9742207856586259,    0.17221294952368482,    0.30429255859284565,
      0.150446075776693,      0.5774457449870724,    0.055204948247565166,   0.9049180192781775,
      0.09219720725874558,    0.7249660525087812,    0.7634298317772668,     0.09532513565669298,
      0.6037902965957798,     0.775876091952754,     0.30048105187387053,    0.5321075407103473,
      0.9676971504359092,     0.26881827714334805,   0.3270462715063217,     0.14109347688658214,
      0.718905496165389,      0.5178340264469525,    0.4641920385691337,     0.6886634266980226,
      0.7541743566585278,     0.9338177907400674,    0.6377610366495927,     0.07859012814204014,
      0.047881143812792626,   0.509518876595083,     0.4662566613906933,     0.044753641991725934,
      0.2888474238293234,     0.4300753033759601,    0.24090396899360778,    0.4880819616569849,
      0.49344032440942565,    0.3267337118213137,    0.30739545858667916,    0.8347976589605131,
      0.8468181237471225,     0.9397711276395985,    0.05076516895725314,    0.35528884635673386,
      0.47869109342428395,    0.6485992654884545,    0.13077849395002672,    0.7561835005330849,
      0.13019119770401266,    0.522947346864396,     0.71681653486775,       0.9545807279091522,
      0.048471853442748514,   0.7656959974208565,    0.33260665541814094,    0.3107698976359098,
      0.784262134457234,      0.2390556069831512,    0.2171033013333129,     0.22106855321775898,
      0.1777305668557082,     0.7010763743538238,    0.34687353348311567,    0.6713227825218957,
      0.31741624899077014,    0.27699680164190077,   0.24966398933329337,    0.4378580357548568,
      0.8220315880834599,     0.8780303052900865,    0.3282223224417613,     0.5304855331661286,
      0.8759301198567931,     0.8022054018812916,    0.8087106870029261,     0.39915235222002377,
      0.811956074326436,      0.9536455298780298,    0.421213924992475,      0.43164313734964477,
      0.5227138249336246,     0.7090043439645167,    0.2998320373339187,     0.5545990176184411,
      0.3997327842492463,     0.7316793591805311,    0.8754030075046323,     0.843831916727075,
      0.742684393168072,      0.17453735067792653,   0.8625298941919014,     0.11381870844975783,
      0.27979009889454887,    0.5768907698535688,    0.06594773733933168,    0.9579455432204982,
      0.5946935153059155,     0.45202323444648607,   0.9019434787093433,     0.7818194846873125,
      0.3967066863484422,     0.8228406568388705,    0.09721161204039697,    0.4801522356674264,
      0.01959637598493358,    0.9850457198522312,    0.24050822306737707,    0.18371526827375517,
      0.5845485582312591,     0.17652807791034186,   0.8647449178268475,     0.2895166509368404,
      0.2419901155988491,     0.6941088664970383,    0.1560864519399333,     0.635427742150778,
      0.5816818559836522,     0.9849155684106518,    0.025588074983513787,   0.49459827852911853,
      0.05425377571263956,    0.4743775865820451,    0.7564149515738253,     0.16276984906703595,
      0.7687548469520425,     0.41373225024064564,   0.4544064319037999,     0.41801259667280766,
      0.6314198197027366,     0.20323482183642694,   0.34349885200542063,    0.27104141183367414,
      0.7982388531148257,     0.9953984175532257,    0.8327122421658457,     0.4281616517848509,
      0.9687894499866775,     0.5466038572944231,    0.22487868502002484,    0.8384645649234528,
      0.36865165146819756,    0.9336942046854281,    0.6160039963189174,     0.651923536201123,
      0.14310507886655377,    0.06001830530380037,   0.22971825195338103,    0.9060489022166647,
      0.17227243918298796,    0.03562839494317671,   0.9833405699591752,     0.879047113237965,
      0.06427639038238131,    0.11198359585969286,   0.5120162273713391,     0.8195681998043876,
      0.518411923936739,      0.5964168071235564,    0.8644480695528365,     0.9742302432739681,
      0.596784065205653,      0.6009605776303654,    0.9172413061542587,     0.9722770947384021,
      0.8230312406014156,     0.6689544008223667,    0.06070494793081682,    0.3249888584728904,
      0.623899766373403,      0.6526210484092227,    0.6766952396244709,     0.34652804154497674,
      0.4071283107450684,     0.8222639692618214,    0.011132519537103813,   0.5760595421942754,
      0.28287338543402074,    0.37983591169858555,   0.40870027326127367,    0.07771932097463397,
      0.03700348128441577,    0.34853902862782316,   0.34976756257395014,    0.20268620904747214,
      0.17602558997716566,    0.07375838827968006,   0.8258050102203596,     0.22552025356880057,
      0.6174348425138062,     0.8743948521904985,    0.04826767861785841,    0.8881260245700738,
      0.20517630380817353,    0.7158063809593872,    0.6424390262914653,     0.28579474166696406,
      0.6943570209638391,     0.8915403913726628,    0.18101264400038986,    0.43672810024025943,
      0.9720888013306086,     0.9163586355462026,    0.8554811772547043,     0.8390860580206726,
      0.9764990516164289,     0.623084563941527,     0.7274814276805354,     0.593214063381061,
      0.1366543769893125,     0.5942756436334763,    0.940654759078095,      0.8976841341685899,
      0.9170727635406218,     0.5512259884901765,    0.8732383847949075,     0.15876424149214485,
      0.983846243401889,      0.06524064955606268,   0.22095794008768244,    0.29289061978348774,
      0.01906759179346751,    0.6027549581512781,    0.06775862309828506,    0.25143958689042967,
      0.5669673318847419,     0.28294105817696213,   0.3174541416076303,     0.33060755385741214,
      0.4008286112428354,     0.36612160617925404,   0.3324377788357381,     0.6469852128501971,
      0.12960876007392885,    0.5573253264003803,    0.18164164552223339,    0.05488525449383397,
      0.8333901979014496,     0.7013270063862299,    0.00973447081459422,    0.44646013225218206,
      0.04509404363374836,    0.6007283625082954,    0.5760011451082034,     0.44293294050290455,
      0.7335522619452794,     0.27903604275828786,   0.1476826817000655,     0.32432344497821075,
      0.6870931336062818,     0.00857861060126519,   0.7820956055279831,     0.4726044283862554,
      0.5732177277699113,     0.14034121755523665,   0.41804284566429306,    0.3953383120567484,
      0.803883857137373,      0.8793775032337189,    0.7863521774621048,     0.9210368915228765,
      0.527325528345828,      0.2898124695522769,    0.31385222532735757,    0.6472638868328983,
      0.5235968800554752,     0.08089383474428724,   0.6501478763743553,     0.1226793956172183,
      0.7544937807956091,     0.1011571047349803,    0.8036833193003035,     0.3947568249380681,
      0.7113878526534941,     0.4334600130160059,    0.995734610188258,      0.08750876548564512,
      0.41692095049348066,    0.4161099210925021,    0.558301508648263,      0.5234324181480597,
      0.6021309454264144,     0.11982213855056323,   0.652984817383927,      0.31994110490998406,
      0.44025076342842107,    0.9018474001363644,    0.1780521010787487,     0.0928203326209236,
      0.5689257589296584,     0.9307858048545634,    0.5019191507483846,     0.0732359171678838,
      0.7472470560306381,     0.7606290137163079,    0.1759363749688474,     0.9865090966718135,
      0.14162530231861792,    0.2257810200578727,    0.8625577589305529,     0.6182840554609289,
      0.7627928373929174,     0.7138267678661641,    0.6271079408184336,     0.26542849852208483,
      0.5438712954597966,     0.6534648091675265,    0.9366397928644904,     0.24959632558445233,
      0.6955069355781494,     0.08747607765195109,   0.4496760092668539,     0.6515312368984656,
      0.36913050836766426,    0.1884121970188235,    0.35484115555318807,    0.35296784884342236,
      0.25069533860349336,    0.9058873429939744,    0.7443484994879821,     0.750346435642241,
      0.7617724756232275,     0.2922607375715792,    0.5466903040314682,     0.8097090004421225,
      0.35407885946174,       0.6348456786908329,    0.4096851448355948,     0.6754014404335078,
      0.8487343259562462,     0.6503887202649459,    0.023939621711200898,   0.0697668884428575,
      0.1932051338234947,     0.07098041071523209,   0.8895455416639768,     0.5970662891404159,
      0.9672124324991637,     0.25710752222232724,   0.2512360193659343,     0.9118588060460109,
      0.12641331224828478,    0.2591745695762785,    0.5354205089164524,     0.9697500651356975,
      0.7039769817809971,     0.9674853015743734,    0.7581464456430004,     0.009967363889854308,
      0.9554403083896627,     0.6514960891704691,    0.9819054955872719,     0.1655400926361219,
      0.6854831617362053,     0.6538109602793701,    0.29197658934366655,    0.7026261377883648,
      0.3361358393099737,     0.593058167944492,     0.3193604213031376,     0.9112331297151058,
      0.7565016778289977,     0.8148016159609519,    0.12956549959331298,    0.8840025203699886,
      0.15092088574069407,    0.20505821088972076,   0.2243079482977779,     0.8559123643624608,
      0.3470255353137828,     0.1316340364530686,    0.6434241700287737,     0.6784281820296103,
      0.20732777369293587,    0.6251808986824415,    0.6394504726870864,     0.999032394532801,
      0.7786813383845239,     0.8636701630404309,    0.0023017909877571796,  0.696449724735671,
      0.10128652819511497,    0.4003153911577081,    0.2469767716265694,     0.8768832326648365,
      0.34089952102337384,    0.11367436364895223,   0.607022940049033,      0.310423907918116,
      0.17692819881508148,    0.893849330155664,     0.4880236414430278,     0.9956660538325679,
      0.6061924103235181,     0.43946977537006016,   0.014921239872288439,   0.463398031987058,
      0.8435515709522923,     0.05922628363397964,   0.9644192036892971,     0.09735680952505932,
      0.338804944299988,      0.122083944069586,     0.5384101447575116,     0.894293825409865,
      0.7951670891521336,     0.3730764160164859,    0.20353695631133162,    0.7561530473263479,
      0.6832856935883096,     0.600988913103398,     0.35514255942741124,    0.8499665948777161,
      0.5804484005287095,     0.7105133890231672,    0.5155572582331448,     0.9580874216612449,
      0.42311501062470824,    0.13594740755997503,   0.5577114428718954,     0.02444976711511415,
      0.6073524946467592,     0.42490323282605924,   0.9560741306479802,     0.17062467593248265,
      0.8032635864461389,     0.4236136037107485,    0.46938391908058286,    0.5712751546570827,
      0.6589700800129294,     0.07547209392481724,   0.3993441495689085,     0.3406978944629723,
      0.7797752606137046,     0.7855007898427816,    0.4117897980533102,     0.6899309686736047,
      0.6962784108609973,     0.026169671983859666,  0.40177616240464586,    0.940360830179024,
      0.7321905293315297,     0.4795568133323319,    0.1987575279476046,     0.6127453916604444,
      0.757610880372048,      0.8914703620980189,    0.10720148213654712,    0.7929011279820072,
      0.6530747492772068,     0.308240250783111,     0.3398854214559405,     0.17318325577009575,
      0.3507555425234006,     0.6115615288020042,    0.6172965474103689,     0.773900176617242,
      0.6826457756065216,     0.6383381900788276,    0.7095117173673956,     0.13989700600187094,
      0.8519068750537195,     0.2514355559461625,    0.44387467049936746,    0.08873576599160304,
      0.6307491605599468,     0.3192212749113975,    0.19105550091405066,    0.5681426912540237,
      0.4852586570071583,     0.6901510334227848,    0.14730516213349298,    0.7377793699206823,
      0.07770239636167253,    0.6353314323740415,    0.7769348461239013,     0.03146407552911468,
      0.881921416148157,      0.5196241210509628,    0.18644631162996206,    0.1800152993000519,
      0.8469011263430949,     0.2044030747533443,    0.6714715606818085,     0.2652006622562567,
      0.16588414879773827,    0.004974429525489654,  0.9421216848976225,     0.8680591840359811,
      0.47536229896418614,    0.9087132127558714,    0.36269836666060895,    0.08994196144024535,
      0.46652965119134227,    0.7635088426479022,    0.7580543424043561,     0.2814576427741803,
      0.703103211229103,      0.030089454512598146,  0.431288495782855,      0.2822540862742956,
      0.7883604392754977,     0.40414295830619484,   0.466555918451075,      0.4449073577848274,
      0.3738360598670297,     0.10771135525719733,   0.11598141083836666,    0.608694960356133,
      0.8076241092099635,     0.4556595939890059,    0.5354984218212357,     0.04529301994047097,
      0.2178671393843703,     0.6882823913952348,    0.865528980527933,      0.19956656357560643,
      0.22844588988154046,    0.46974197301841936,   0.5309853116091245,     0.6839795443783202,
      0.29595752432872535,    0.4532475799120991,    0.9284317401382437,     0.8788823041707505,
      0.2166810902369931,     0.5487203138636405,    0.05600987779157096,    0.3084775342972511,
      0.5393125299204842,     0.37240064437816334,   0.3468973654158175,     0.9350645534385649,
      0.24039614056758862,    0.7402803066693978,    0.08306562891693459,    0.28044191179432376,
      0.8657987335237997,     0.9934355754376296,    0.1270705175053224,     0.6460880715079992,
      0.9198821934593109,     0.6070568194283551,    0.6464985488505831,     0.15197537639099556,
      0.2664357790754843,     0.9231485651377281,    0.5340418003367865,     0.9957229597354874,
      0.8319214218168568,     0.5422138048023872,    0.9699107535181725,     0.4752429518518142,
      0.05408065715452448,    0.412116834384297,     0.6195568540366302,     0.881986809712991,
      0.15550908602876878,    0.7044936352812271,    0.09920603364957725,    0.7458878830244886,
      0.6374540922492773,     0.41588511532180117,   0.3429122583047075,     0.48188295150668603,
      0.45953260031670007,    0.47601109541209097,   0.6130040691925399,     0.37050149227938656,
      0.6783163427743601,     0.997835766092076,     0.3119262852356456,     0.41049362892379715,
      0.2871220882198977,     0.08075775985242728,   0.646921181653617,      0.8765279657302582,
      0.23805860015263158,    0.712917806978227,     0.7988705300739493,     0.8923433911728404,
      0.42345599054528416,    0.18133583214691362,   0.29445384375862804,    0.877237778478381,
      0.4062427754927561,     0.39792110919390933,   0.5595455188757487,     0.9451098578780788,
      0.39714743857270696,    0.1710267066560992,    0.26824919626807686,    0.9956553743600529,
      0.9283196879255161,     0.07718521227499053,   0.4612312284809391,     0.09342894139926139,
      0.6584945035502988,     0.7224986788775738,    0.980272950501206,      0.7600669820648661,
      0.6208086249350163,     0.6086644042782733,    0.48308153203364257,    0.660326199954179,
      0.9276878850610732,     0.8633830105539054,    0.7962187452157085,     0.9194747290923341,
      0.16231806206359722,    0.9499107963424789,    0.06252948055080076,    0.886862482313068,
      0.5294739865073963,     0.7551343176832722,    0.3967203263856607,     0.3205093213479737,
      0.11273108728145032,    0.5400172007465541,    0.5463584941018298,     0.40902420190783784,
      0.34753173597357556,    0.36190947502133863,   0.8449872186646363,     0.7122210627434624,
      0.9946162402041455,     0.9132488211351393,    0.876847448826782,      0.7803556977166688,
      0.9356233374490821,     0.3252320637795516,    0.7962997602423394,     0.3947709697277736,
      0.27607928050158137,    0.9617201147257819,    0.6892430274739247,     0.5706639923472847,
      0.8567674143010484,     0.759254344754482,     0.4640661001028902,     0.849388861265472,
      0.915484880536155,      0.6803950008264036,    0.2233794778069803,     0.9322812689951643,
      0.6255594311375979,     0.8293069490130799,    0.5363731200101739,     0.22248705406746683,
      0.03548460537717968,    0.5681856389695299,    0.22852476978776393,    0.25863174388684307,
      0.8597279049431693,     0.7032097750280445,    0.49225726322638097,    0.4614451564658706,
      0.40804943937105376,    0.7560063316576442,    0.2990920309244123,     0.36319226695497175,
      0.1658941783846568,     0.9423775873373108,    0.33575270283571046,    0.18716742670642605,
      0.42701655041668696,    0.0062520852671191784, 0.9121308724576324,     0.5179750346926351,
      0.13397622219055638,    0.41617067939349794,   0.22602489432339978,    0.8549501299106076,
      0.34313173874115677,    0.27630233769563395,   0.6506926207027762,     0.2534847525768975,
      0.9379397622811656,     0.24893248547242908,   0.25003116137255343,    0.24185977400785785,
      0.035595161608137915,   0.43731034171619265,   0.9865984103159812,     0.6692875029221403,
      0.39193623341329087,    0.8149634125086003,    0.3685145118514238,     0.3321064154658263,
      0.8821130091244994,     0.5126819098142537,    0.7521217015064541,     0.2490810176728513,
      0.7473789792510476,     0.1377191248691576,    0.8731112905545552,     0.37167076667157495,
      0.2018551847032306,     0.6391343316493395,    0.6498829810818338,     0.5095016824529556,
      0.12411368836434056,    0.6857165595366345,    0.728389597919631,      0.8384343918540044,
      0.13893416384908752,    0.051156043086339476,  0.3945522835366221,     0.7021774315180461,
      0.9664029679637711,     0.8937346328630393,    0.457178494165455,      0.21522711616193102,
      0.6336352979366736,     0.26726767288419706,   0.13628950637506665,    0.8252202343876291,
      0.8953549328626846,     0.1406626559991494,    0.9727894305213565,     0.13233188045808586,
      0.38048680651099376,    0.8619913912534997,    0.2680556820317197,     0.26289459991228925,
      0.7922081914968131,     0.8526785089625418,    0.23177886240082834,    0.5635282170289971,
      0.2942218688725433,     0.9319828382613095,    0.36720463922998925,    0.98388126028702,
      0.5648451215100978,     0.9973939542919464,    0.9896063503276095,     0.6678758243457174,
      0.30974219900139965,    0.6138943763484822,    0.7659247094960486,     0.7327510716461801,
      0.4580874332818764,     0.7148855948300462,    0.3015210526811154,     0.3193783762708463,
      0.5729194299390246,     0.7009199288239003,    0.1498401214370051,     0.8024617709837892,
      0.6546582644003875,     0.6992573312662181,    0.6233980510220369,     0.2816126619003816,
      0.9722556402827515,     0.8089546292787112,    0.8228667190501502,     0.3965111409530997,
      0.21891778563745656,    0.13706461948658555,   0.4930115559366377,     0.08061879901104274,
      0.9723893757331308,     0.09685347646885045,   0.35444636370166327,    0.054297663446587596,
      0.2747322224417924,     0.24392971152181964,   0.18653707247554163,    0.6059851654730029,
      0.6831785302075528,     0.36331807826529416,   0.911774786154115,      0.24997575428215468,
      0.6786094473828951,     0.6104874988450785,    0.3031168390839635,     0.410700724383396,
      0.5441503499168883,     0.6307108716552837,    0.7790601468219183,     0.697505254353997,
      0.9685361200100565,     0.2817021433162583,    0.11693715636983493,    0.5124421281724756,
      0.5381636229756999,     0.2826808604940013,    0.06584110328759119,    0.5204186195482896,
      0.3163423828270894,     0.3494352418870309,    0.875103991061865,      0.008370670187697438,
      0.042207344779274125,   0.06946350667391499,   0.7652448085238555,     0.8849312566549212,
      0.21916084245243994,    0.12139915967065251,   0.6864097172319,        0.9174864218121146,
      0.707314017888608,      0.46782580051186906,   0.449272860553954,      0.6218540956306559,
      0.4832808027986517,     0.6734352802484965,    0.09801798837998055,    0.7656392694188594,
      0.5803233074672121,     0.016925723804065762,  0.4280916359177751,     0.759272753065939,
      0.3546974115594703,     0.9730373850561599,    0.2938207533589179,     0.4717204342156366,
      0.760910396938359,      0.2651220337342728,    0.5942567905334719,     0.6481821197668466,
      0.2895714547071302,     0.26823150371057913,   0.5449562468235388,     0.520914828762417,
      0.5824006220574875,     0.6943794810741687,    0.5902701522923899,     0.28597743896497085,
      0.6906386637349428,     0.41787531512303433,   0.38227786476971226,    0.5300921568839477,
      0.2857412596573464,     0.6242493428037001,    0.15299829554197697,    0.8562897909007144,
      0.16292018821779197,    0.5840137481432885,    0.0402405580781926,     0.23787132538690514,
      0.02776599953972303,    0.11692608239388758,   0.288342139829152,      0.6706689963111256,
      0.2839947727752087,     0.7475480285762276,    0.03851000884593336,    0.10153799408455466,
      0.14982167863718432,    0.3834776944894259,    0.1975377435113611,     0.6118508790784729,
      0.9680924500451281,     0.46467210253689606,   0.09010588274027209,    0.6136328993397414,
      0.25988950283817835,    0.38455137915690174,   0.9271848868044517,     0.22389518132293573,
      0.04571433156010063,    0.4132690224056872,    0.8095602899860317,     0.2004302755831857,
      0.8245073000661697,     0.4025263860553472,    0.4360528711995313,     0.7644179539602122,
      0.5282084404936749,     0.7836857694796493,    0.5285920916618999,     0.32404378742603523,
      0.07969461980030712,    0.43825279850385856,   0.3910540496216194,     0.18601781392486605,
      0.23184017385286504,    0.2023338017648867,    0.7205492578820715,     0.46163607994538014,
      0.10564143426524919,    0.8560466828351337,    0.18314823447283957,    0.8790698403280611,
      0.7235404635750523,     0.5700427190537816,    0.663288944624978,      0.20529307657969187,
      0.025872315445884086,   0.26585233191055013,   0.49916586962692366,    0.7745665262881396,
      0.9627762879628154,     0.2063350190884421,    0.6834666446671213,     0.47480586450535844,
      0.28448716214382685,    0.18825684592312497,   0.8325226059057012,     0.6286561310639678,
      0.1087577996666701,     0.6207378740918625,    0.4104288522350794,     0.4108005415293736,
      0.9696660955122183,     0.11915598038634478,   0.8193173491910225,     0.2746599332463444,
      0.6098656218024554,     0.9292887066073673,    0.6142569905538732,     0.05766198666724043,
      0.2891271226686991,     0.7332286872225152,    0.8408570347410926,     0.12660806202788155,
      0.5489109956266367,     0.07599553849100638,   0.9426092890379096,     0.24765591006824883,
      0.08682472760964643,    0.3047969726136577,    0.1583511693504679,     0.010906917670314709,
      0.25896069702163316,    0.944522556205986,     0.06234151012262623,    0.07594537970249937,
      0.16105869616486723,    0.45356629802200643,   0.6374632663710944,     0.3001914280312634,
      0.3597821367694215,     0.8925621967245283,    0.5858933471277528,     0.07241246235730059,
      0.5227573031421745,     0.826769449555715,     0.6226000232785439,     0.5007372389529805,
      0.6254709820295706,     0.923561320563299,     0.5797200818087839,     0.11245274382307002,
      0.8040764735441351,     0.03714647611264532,   0.05933763519542601,    0.6553880446377699,
      0.9868084819068811,     0.846601969915844,     0.9912595685257292,     0.5411967110606196,
      0.3194458019544081,     0.28503696973115,      0.940558947933651,      0.015463034936463949,
      0.9542894277531666,     0.02249221602169349,   0.3513696995287743,     0.3965583453713156,
      0.6480682314401847,     0.04238822866653824,   0.09266875642374328,    0.7134561008482744,
      0.7814274812633255,     0.09770666780296278,   0.8599989901279588,     0.971347798540542,
      0.5212471557348936,     0.31747991512880813,   0.1450807372463252,     0.65117620072487,
      0.9083013925754693,     0.4222592379453515,    0.6905458283758098,     0.01975954713367367,
      0.3018825082636548,     0.3989451876225656,    0.033855521484832285,   0.25926813158625406,
      0.5400023479033437,     0.7352796709581246,    0.2863491137150781,     0.3993791960463924,
      0.26115064828523893,    0.3261317553000693,    0.41279615227638355,    0.09280822785115939,
      0.39962864076829185,    0.0691091881928031,    0.1099761175200129,     0.37020732327571115,
      0.47322203903962057,    0.6020481442203578,    0.2913197256907183,     0.8480503658447193,
      0.8369212226762754,     0.2159265533102135,    0.2040596933892561,     0.06270244678302228,
      0.30482629522564386,    0.30300441826102287,   0.10545107458851533,    0.9884500735278379,
      0.8224121625418398,     0.9606029349645083,    0.8137241016430465,     0.12256305862616801,
      0.3994648845872275,     0.13611055611209455,   0.3738234989638656,     0.42328184892804965,
      0.9544277910360667,     0.8602725531268285,    0.708119222125779,      0.5581734247006436,
      0.6308586413059186,     0.060826386546066535,  0.621321063968908,      0.8521662217677738,
      0.4581651056279984,     0.29113686416864226,   0.36072087688611665,    0.04325286466960776,
      0.5830232688027613,     0.36606945453901496,   0.31953469940448864,    0.4914081079298772,
      0.6417067214650192,     0.8435793516150908,    0.41203235803708327,    0.4704391766670645,
      0.7394040219384242,     0.13060880814567233,   0.17040717390092686,    0.07174560642273808,
      0.6625377359225677,     0.6025236807306683,    0.8800347546510215,     0.8617598458907858,
      0.8344530020929027,     0.34794343617049683,   0.012617908061536953,   0.24343754932350425,
      0.5029522917900464,     0.5709632194339286,    0.13859388237834847,    0.6036266706759434,
      0.6385922161244988,     0.08416762540551215,   0.9756385479332002,     0.02840231297593976,
      0.18962846029883196,    0.7663379017587776,    0.33597121615285286,    0.21157564433012366,
      0.681081775586533,      0.9639938724568192,    0.04278878227784799,    0.10497675111970428,
      0.2044066673074052,     0.7811112368170888,    0.7592405724946069,     0.9022518225287105,
      0.8772158453470777,     0.6456587085569585,    0.7197790789091134,     0.3039208514116106,
      0.5019971797043902,     0.8450484251992039,    0.31052008957605826,    0.9093877796634839,
      0.5703807373291514,     0.8825570205508473,    0.9302426324219213,     0.5410206187846938,
      0.02754354153544869,    0.3058589283856108,    0.9262969126813804,     0.8178829845848371,
      0.47457588199265455,    0.5186260420566258,    0.24145499687714422,    0.03303822455616745,
      0.3348919328070018,     0.3556239273348505,    0.7599882333173726,     0.31110488751399223,
      0.3117440864080102,     0.16944818831864428,   0.6417638090268055,     0.23236349580680038,
      0.34587506485912056,    0.971536990155157,     0.3940709548855814,     0.318828670016601,
      0.0648933258955775,     0.6832368804711757,    0.7001761872175356,     0.8929530106971526,
      0.6065172313437823,     0.7909968577662695,    0.11683051975031034,    0.7070988588976426,
      0.8471864001611398,     0.11578590196345606,   0.3780528252661348,     0.9625045931257172,
      0.638938863378801,      0.8233951066669498,    0.8385351425218545,     0.7824515461131216,
      0.5263191463937491,     0.8028713395585221,    0.5625443352568897,     0.9872417926766145,
      0.3681408361637485,     0.8846904840847047,    0.26192715803387,       0.7632130339005606,
      0.6292201295843374,     0.8353086549751415,    0.43072615273592507,    0.6299852117578107,
      0.07623559606686936,    0.9200085390206806,    0.7842562196034487,     0.1959979896446249,
      0.016376131571457675,   0.28265288649826603,   0.6861428381734898,     0.7076968226853629,
      0.7119703873874031,     0.5306741901401327,    0.4220208590103546,     0.7947033412160596,
      0.5151485053643317,     0.3972058702127157,    0.05462822465266903,    0.9877359986860426,
      0.8798662117666064,     0.5505568449033837,    0.40553513014245557,    0.5858695579179326,
      0.08895043292653859,    0.6099264183012664,    0.008441314642171793,   0.9760493177766492,
      0.9613678249547101,     0.9441676049064263,    0.8214246003169379,     0.15584451755630535,
      0.48076835271245866,    0.6035024949020215,    0.37612498047889287,    0.5799200401584894,
      0.302084172353971,      0.9265083065612753,    0.29098565888689487,    0.24602687393655698,
      0.17426263173097645,    0.7501661287022459,    0.41162147864955323,    0.3868646027379613,
      0.1256639886534533,     0.3813662077911856,    0.9778206599687802,     0.45455850729819236,
      0.1053539762985487,     0.3862350707804897,    0.9920370708143132,     0.9459078484251585,
      0.4436734813563835,     0.8830642404597325,    0.10166965940626216,    0.4025768580854986,
      0.7772630634910311,     0.12323142023199984,   0.45824203964740673,    0.23243528127384294,
      0.6578826604427969,     0.3765290956320032,    0.1199617226242986,     0.22675296032919734,
      0.5968539305969898,     0.4005983511468866,    0.715752364949822,      0.3128140640026855,
      0.4494720523772502,     0.419991467540507,     0.2731538167729105,     0.502086594317894,
      0.3094183489498403,     0.7552780010454833,    0.8805577295149887,     0.902189146147546,
      0.742954772014594,      0.9781813303477034,    0.6363166483167275,     0.3725438257403427,
      0.5120983390279673,     0.9872115141031088,    0.790564840505096,      0.16139999953510809,
      0.5981465436960732,     0.48790510653037156,   0.22935582142949718,    0.07371614277372229,
      0.19509813591282787,    0.1840965142883928,    0.20431153425451687,    0.4969302291390366,
      0.959140169330124,      0.2683435899702894,    0.9031893362312581,     0.3687029098463134,
      0.03620141355461626,    0.38881221139540645,   0.6753349209801678,     0.41152602910201375,
      0.0052301830419607676,  0.2863106714133702,    0.9992699446336895,     0.5659708014679586,
      0.8456850748575278,     0.7421248690482918,    0.5586035143499297,     0.8794148465102803,
      0.45707397600309463,    0.5541658388396462,    0.16386096814897566,    0.6592858371803196,
      0.6564806733580074,     0.8010196200791545,    0.6279639188224753,     0.2031856641673151,
      0.6458557703550399,     0.9151545829474347,    0.8769786758299422,     0.6799180659849733,
      0.6904471817906085,     0.23228805280446052,   0.6000224856943689,     0.3033046816911986,
      0.715991163634202,      0.32302123066508803,   0.5859542166483501,     0.5390683057467652,
      0.6875983398917556,     0.37324507167224097,   0.8686317365735977,     0.5818381906408095,
      0.7710230038037504,     0.8764752631082748,    0.515242166767882,      0.12610688056788477,
      0.3145630456262617,     0.13012984233586966,   0.7414249298066473,     0.815210289604652,
      0.90905210927758,       0.40423585066392786,   0.142438698726981,      0.59167598593775,
      0.6689854076381082,     0.3206711453776283,    0.7272396974165417,     0.8345578978997291,
      0.07672547710487265,    0.6434193235607697,    0.3087203445341079,     0.651369014143892,
      0.46951534551298835,    0.30502054553689417,   0.8437561055455536,     0.7924896011797614,
      0.3664547599672989,     0.8317041294688604,    0.9665712425143648,     0.0528305184676503,
      0.42771418724822874,    0.5206491406449003,    0.12193005095900578,    0.4697342463508719,
      0.09725307745032208,    0.35966530333572944,   0.7915871678529378,     0.21241115265506227,
      0.5366875174680859,     0.25023860092547445,   0.421005615630762,      0.4256991973898384,
      0.6986680430026889,     0.4710757414192256,    0.9811204098637973,     0.2583935201252616,
      0.9095401812853682,     0.6937367869104578,    0.37541234022892944,    0.12262670586598434,
      0.994332061313041,      0.7990247671002593,    0.10245145295586389,    0.08550967457652403,
      0.10042039847600326,    0.40650226458438943,   0.3226490169437305,     0.7383812349137626,
      0.5422736648704087,     0.2049997570656822,    0.9508231734138662,     0.5776571135926977,
      0.9805809124988424,     0.5965730283331564,    0.18099114349409262,    0.5201657020789454,
      0.3114135281665332,     0.7884053455933022,    0.21162100753327995,    0.6096628526066536,
      0.7786818515772684,     0.6306164268422206,    0.6526082550782316,     0.023776793523503148,
      0.727388103720703,      0.9474420794921771,    0.003255341526218092,   0.21311983991759342,
      0.2854201373436912,     0.025128788509482858,  0.3997306435338569,     0.12942599790128517,
      0.4193927666504138,     0.13846417764974062,   0.9002683982969045,     0.4192267650843825,
      0.10688797317660048,    0.8968779315227644,    0.09357801381969166,    0.593435488229436,
      0.1615617507037027,     0.3969104868778146,    0.2058168097911255,     0.8300275718594782,
      0.7133536924772892,     0.8099949020241295,    0.5971023657788384,     0.5047962655945608,
      0.4948308954480757,     0.7002644892137885,    0.6456106033965258,     0.3756926613839967,
      0.4182245496265845,     0.37524631154075816,   0.4190639562169405,     0.7083014940847334,
      0.4869688244503334,     0.1829384027232731,    0.05683992393624493,    0.6721339534854102,
      0.5140657078896878,     0.0009040149477490544, 0.7280619391959026,     0.3712765579804925,
      0.3807863333053648,     0.06030370411166375,   0.7489312687602148,     0.13619860548171914,
      0.30491461196827496,    0.15709812233775566,   0.7427612714485209,     0.4200114750902272,
      0.47452414939913423,    0.42721054046010754,   0.512269991709128,      0.7839968756026318,
      0.5189604172493596,     0.9678649031766825,    0.7694430117038082,     0.9661851659130114,
      0.11724320877673322,    0.16555987123424643,   0.7659982845287457,     0.8397851933122642,
      0.8308141524759082,     0.974514522674073,     0.5888823552385681,     0.6015497511834978,
      0.33766940452199956,    0.5172169007025784,    0.1151684664937851,     0.09917792697238204,
      0.5060481494154199,     0.6207034439235293,    0.3015730812304874,     0.7350401881896099,
      0.8745082574081339,     0.12569113600408566,   0.33003765531415297,    0.9538674588418777,
      0.16196141155248933,    0.9713885889181488,    0.8649598840900669,     0.8189622870992674,
      0.5981536968459639,     0.3375690293755511,    0.15780833091803836,    0.4688922374638951,
      0.6809653067294745,     0.8099489346942302,    0.9397818624567011,     0.2208160269515801,
      0.13731709291694183,    0.03399745247583141,   0.007770520790769564,   0.0136079750537067,
      0.08667409124482761,    0.5404703786188497,    0.5275884784108503,     0.6220797998515979,
      0.8949268584833554,     0.06220240112376141,   0.4547565499702113,     0.5616755944201894,
      0.456214811192033,      0.14549587585697776,   0.15705333126784715,    0.8513521876352311,
      0.8555707570987535,     0.6777777182584442,    0.5753792445417174,     0.8092710122108979,
      0.43039805717631474,    0.10813170001182448,   0.4061835414413786,     0.7620290676832067,
      0.9710955949401937,     0.848538152922535,     0.4388449636077072,     0.07822048979791274,
      0.007685888257720652,   0.032468281577470615,  0.04676620436150869,    0.7547309136235593,
      0.8557161437216616,     0.2578097946169817,    0.4414396192494072,     0.40608624202104315,
      0.14065329873717702,    0.19644810328555762,   0.7695470456140437,     0.13664420438195413,
      0.9931986787283871,     0.9715427572974837,    0.9915401647749037,     0.45657463234448803,
      0.26859395150418963,    0.28062277894225207,   0.7828418607966642,     0.8739985683364804,
      0.08575203567051937,    0.41551736379629955,   0.6065216383819657,     0.06172263793491739,
      0.17010506879235443,    0.8864487706687101,    0.6171103631418245,     0.7628600111470007,
      0.210788208367501,      0.5956951636240592,    0.5256402517039437,     0.04064796753551947,
      0.6579871047194946,     0.3968511365349989,    0.6603727903769271,     0.006700832888891561,
      0.5821682715045241,     0.22546133794562584,   0.734471981011275,      0.5390135191250676,
      0.5775081355839604,     0.38847698857575796,   0.8453847336741982,     0.4658590048775938,
      0.941477806709561,      0.2975637512420789,    0.5945939092960826,     0.4070850205548726,
      0.8249067365327899,     0.365635140634358,     0.1403827626894042,     0.45392877256083153,
      0.9623768954201665,     0.24757332720679925,   0.5574796800533819,     0.736642339096794,
      0.72489895136655,       0.7478504406583955,    0.4001746826211111,     0.28816400083168947,
      0.18556235721551018,    0.23141442594983586,   0.3790518688428455,     0.9732520483918374,
      0.25647077127159446,    0.2224949006171092,    0.2831329493595981,     0.011121202826457122,
      0.6181425590910106,     0.43467899935186194,   0.9187154389042755,     0.17237356356419375,
      0.18633908703966862,    0.4458063841849417,    0.3912464854881712,     0.1799738696676394,
      0.425829975954919,      0.939064828155414,     0.13128887350533702,    0.9652928261801049,
      0.3915637445603185,     0.3649603875072934,    0.7271590688509747,     0.13534767083588983,
      0.08817532104193404,    0.9364372076271191,    0.18814363443177118,    0.727429761686807,
      0.9932277290945939,     0.8204972337366694,    0.6334548375315132,     0.628648558317215,
      0.6263936559908078,     0.7832969276419149,    0.8028167340995543,     0.045674747125095005,
      0.7943958091580005,     0.30107941329116483,   0.12030684478676545,    0.8668632578967099,
      0.3626401220761749,     0.07416698248426812,   0.5871969658905604,     0.6456015981458945,
      0.813032797809856,      0.6463180884774861,    0.7425872273440208,     0.8178583750516089,
      0.547200975814759,      0.6297972581993809,    0.6253475045992721,     0.8544965868004621,
      0.040157587010636986,   0.022012759569749574,  0.5641656956003043,     0.8060041308551817,
      0.15623669049953204,    0.7650688260591991,    0.9561747603815457,     0.9936242403254489,
      0.17832816620466918,    0.5425655964854472,    0.006858244863806817,   0.6331805004320914,
      0.4377186829104204,     0.9432754160853529,    0.8283466290492493,     0.1611242045057537,
      0.7127304224124086,     0.2656178802989031,    0.10526616849523729,    0.003916817073540968,
      0.36758966750883704,    0.16178653008055832,   0.205410845759337,      0.34398519008443884,
      0.03173678051946971,    0.9685580908102037,    0.11752290040258584,    0.20097463649952418,
      0.01699043671132916,    0.8259350267817422,    0.4270421810657322,     0.002046184804222584,
      0.2893358209362099,     0.4032794151614779,    0.1551112824129457,     0.8879493926574799,
      0.8828050518790767,     0.3910640017637924,    0.28207238476046215,    0.1453512595691372,
      0.6329104504723897,     0.9356594893434306,    0.8830201378973107,     0.32787900254361746,
      0.7524218897758113,     0.3021357790059974,    0.18880418288444234,    0.8252838539655625,
      0.5677734267472772,     0.29468100398338315,   0.6644797868172837,     0.2345284390740826,
      0.7833541222696632,     0.4622428710965072,    0.8180356085413665,     0.12176541112976969,
      0.584843100502246,      0.2076456133040948,    0.43119125370999967,    0.028992135873369018,
      0.8390508629446168,     0.30494489048984996,   0.6280335683239568,     0.05307911693569578,
      0.8573102056913785,     0.6401741471794711,    0.27379230359133766,    0.645161117163579,
      0.9104097310863962,     0.3315222698376239,    0.5311818367945779,     0.8652131787064083,
      0.05266485162702483,    0.9801456049196392,    0.8704025678050438,     0.4548102891048551,
      0.7721429272543505,     0.3241649064877178,    0.31469187001564736,    0.26334638977412717,
      0.03186660049441992,    0.8468763130656728,    0.19742761055665636,    0.34570779894698056,
      0.6323455327655063,     0.6875167796567199,    0.12259887929079005,    0.0363323122402297,
      0.939543188238221,      0.5489445325725613,    0.3518013616113064,     0.14453563213451215,
      0.5645100414748986,     0.2060199151787191,    0.28922738636034717,    0.5886677026646538,
      0.6672156439868581,     0.8099904763954191,    0.9395220274019341,     0.31919505562810946,
      0.5667026842767869,     0.19415684121677623,   0.4903622602229071,     0.5434191206814979,
      0.39852215448310746,    0.7065311902984609,    0.6081023293754982,     0.3592801531792621,
      0.12116546645226811,    0.5914790317147564,    0.26251860772831725,    0.14464917158931845,
      0.5297961258930557,     0.6478751446227324,    0.3604381026258262,     0.4107232060499867,
      0.3953008268223248,     0.5323642799386871,    0.9563146192752506,     0.7587602314961697,
      0.00027251187538357424, 0.121153316398938,     0.9594212052512119,     0.22759321662521337,
      0.4565702003992079,     0.6702201922004807,    0.36616708105055973,    0.991695561201666,
      0.6951684959011308,     0.6190500620335893,    0.21584536965123813,    0.9312075516725733,
      0.15601909764491273,    0.5179008075031754,    0.8255063490752199,     0.13494994051878462,
      0.9642310090290442,     0.8272333261653693,    0.6366021917962937,     0.6272395345063634,
      0.3602636410876908,     0.940511749873045,     0.0009212294184705039,  0.4377848361798714,
      0.02176286603887012,    0.7769672962061562,    0.782387956693346,      0.46341576437396803,
      0.656171249198167,      0.885971474612103,     0.7242765021053905,     0.08290761159813875,
      0.06457500605283284,    0.15185945222172026,   0.08498716445225962,    0.14438083935346202,
      0.04711043670053583,    0.6778996368590091,    0.12432456118167912,    0.7563736054661448,
      0.873973499785114,      0.1555684810832395,    0.34224996347013026,    0.36172841570411396,
      0.972676126220914,      0.49547019565160233,   0.4529244105540434,     0.9962839176328748,
      0.800125119953785,      0.1738920376037768,    0.18284623538536637,    0.7190213390838295,
      0.06399111697888138,    0.43131888124822604,   0.3345685233817419,     0.6918408961440536,
      0.09191401030276525,    0.6094467690319858,    0.3155152765543553,     0.8511304133976706,
      0.3775476493148492,     0.37718085648958466,   0.5018890912409433,     0.2716755222971863,
      0.9214684748828923,     0.8989643462692504,    0.4649826286370933,     0.11209393856729333,
      0.22266178357086241,    0.7288050076897057,    0.44885240894498246,    0.036118231365422915,
      0.8853099398791242,     0.30371015324266315,   0.6325498537175843,     0.9268946284372944,
      0.574772224567346,      0.9628607169992635,    0.8551770482833655,     0.008154746481042974,
      0.7077596087419412,     0.7718971969298235,    0.17830719702486064,    0.8533683250297552,
      0.30414568345346915,    0.07114972057433411,   0.2633680005183603,     0.23447101218581512,
      0.6559142128080728,     0.3462490453925803,    0.2572834998233635,     0.934642244682551,
      0.19259723052883282,    0.25112809867144714,   0.719306929764853,      0.046652277704817946,
      0.8048231508977957,     0.4035945094394259,    0.754843016228095,      0.44265447223390053,
      0.24163832945686836,    0.3508978652304121,    0.9487337341165799,     0.19954028994243,
      0.7753665058367634,     0.1261038361438086,    0.83914023410398,       0.40628145534635696,
      0.8904822604676276,     0.2052272748293289,    0.46178436950453083,    0.591897140583733,
      0.03771394287310881,    0.34487766607126213,   0.41897458442963253,    0.9070545816314942,
      0.5885735157093085,     0.030665400969038248,  0.5685906497268208,     0.25636706329293135,
      0.16236531729561277,    0.3672592843529242,    0.26167612287900055,    0.9198553184427375,
      0.5501237881758122,     0.9076478851904309,    0.7175677146126508,     0.6348659851182928,
      0.738882198702744,      0.053165947486076504,  0.07685485583976492,    0.4170544035053654,
      0.7530172238532147,     0.3824441052690454,    0.13183659456583174,    0.6946075275422765,
      0.5961802083489254,     0.0692154179454898,    0.28199758977763356,    0.31683855437220854,
      0.538331444827026,      0.8005022089671784,    0.6995404503460174,     0.2876084865438928,
      0.6803895260833673,     0.9614047085146076,    0.4217842196495911,     0.7451619152592427,
      0.022636969868852996,   0.09071007475742177,   0.8257945290556595,     0.8672837704089812,
      0.9135872070709495,     0.4681264936047449,    0.5697319106939637,     0.6892971196577914,
      0.8251242176940218,     0.24268165740736847,   0.08918571417302146,    0.40770710749949846,
      0.00887880468457436,    0.22222523143189055,   0.08802297896712996,    0.04229681129423801,
      0.27951120411954833,    0.3764968275482389,    0.7686805463597162,     0.4401306364653953,
      0.4573791871848498,     0.9550081226207489,    0.7591288480403849,     0.4915536774744538,
      0.205604153132955,      0.134868882715783,     0.48918377446252714,    0.7090594014668168,
      0.6843626683545188,     0.08242553746318204,   0.4642178367053419,     0.23937677032495597,
      0.7309833110928308,     0.6956405719072711,    0.8535413315180679,     0.5446728940069856,
      0.08533491880607769,    0.3944004625683343,    0.7994991032172084,     0.2164477184644662,
      0.7135783586336566,     0.4884831950340768,    0.08373053917017537,    0.5917610478476284,
      0.6674922873440412,     0.35014975370696755,   0.49517124851287797,    0.6613573248279636,
      0.3802171804990466,     0.11391385038906288,   0.8544333398683165,     0.8983031966127826,
      0.6680778169363261,     0.23296680235267564,   0.7980421992414213,     0.513600541684651,
      0.525730009757563,      0.37865528098107526,   0.7443857543743437,     0.32898043690749845,
      0.9267339237232587,     0.3916316623498167,    0.21583244809116986,    0.6108933063764448,
      0.12190382848315895,    0.05795075615419576,   0.18585339493384467,    0.4265454993211716,
      0.7841012401338366,     0.33272396587502584,   0.8534312979592312,     0.6009275803559111,
      0.23578725703009518,    0.8324782123117312,    0.7826363192089726,     0.36174336024410503,
      0.46230743039848843,    0.47376876037061144,   0.3678668010995072,     0.4017431618223575,
      0.07840386621932616,    0.9279892070050552,    0.42793000217781685,    0.9587557377816119,
      0.5263942942488995,     0.22350792178613854,   0.052445741452695316,   0.9908397138466685,
      0.2500980404942075,     0.6829265211588706,    0.11852451787498941,    0.3013589198082067,
      0.8329930182716929,     0.760481752519026,     0.9505592437525293,     0.08324982179541662,
      0.8163606057049256,     0.4311119312995815,    0.0023911672020161534,  0.5746291987093409,
      0.22315561753963054,    0.5084757985483405,    0.9426895664145185,     0.3709217647432501,
      0.5826098985446154,     0.23198610325080737,   0.943977046006374,      0.47921249737199123,
      0.4412200057857809,     0.9476458707861092,    0.045738384280730515,   0.7440122966208216,
      0.5587358512482475,     0.6867640944542505,    0.5441339218722309,     0.22356366387145854,
      0.7911120734356646,     0.3726953927021709,    0.018267589919367833,   0.04969670279331795,
      0.30194420494378316,    0.7617935659252226,    0.03786146595146933,    0.8032907384522256,
      0.5148928437192715,     0.026497693642896003,  0.7562626268164586,     0.24084937566731512,
      0.9900162673871896,     0.5770596352891295,    0.37977057043713136,    0.8054207224094382,
      0.6449681468487811,     0.47661518558967464,   0.6054630496227391,     0.8585937854748453,
      0.010922473849501069,   0.8801276229682918,    0.3842900661568762,     0.302059066968726,
      0.5282769570892245,     0.35696922171147905,   0.45964440944787543,    0.43105541008311343,
      0.266541068882056,      0.1773350480081508,    0.625605513254196,      0.07627923477584031,
      0.35297661206462905,    0.06399992814421374,   0.8012573029771279,     0.5988537160717968,
      0.775179820309573,      0.7868373451818418,    0.5288757403368023,     0.6927594213461519,
      0.9076439953515621,     0.7746089955402077,    0.47985422368325525,    0.5547764500676566,
      0.7754494052083825,     0.7423050553637645,    0.8712909935000541,     0.4295708781702815,
      0.9914003267663137,     0.5892289698919039,    0.07275209414974826,    0.26120918587482855,
      0.1569674079759794,     0.7865373097173526,    0.4572516078945914,     0.6816153429914849,
      0.4239542214959864,     0.891339465192573,     0.9220303240191849,     0.8704793332059096,
      0.8311150077207858,     0.6768975025540995,    0.40411864967994826,    0.9459818123797102,
      0.8453923354042879,     0.05854081503333863,   0.1558983828448729,     0.5223476813940962,
      0.802904691532934,      0.3459328047581237,    0.23543281492526158,    0.17112892107419742,
      0.09439383621100295,    0.015444498324765465,  0.9349297310812379,     0.3205826664760323,
      0.7639851607294579,     0.904151529210235,     0.43898243616850585,    0.8224805696304519,
      0.6096093745024677,     0.07622355975099515,   0.6860819926917638,     0.32974242461211856,
      0.2632632314535682,     0.7772794526938429,    0.20396662442736302,    0.05717543744910236,
      0.9521053962218727,     0.819668916988034,     0.009412243942937826,   0.674833232923555,
      0.5595359880184179,     0.08426763215952948,   0.1845440135798554,     0.17549086921303902,
      0.5671045939097512,     0.6947564656008464,    0.935433974251328,      0.06876677844106338,
      0.716142997612416,      0.8335624602169247,    0.751900542744193,      0.21008292822787822,
      0.5314087389791223,     0.9539426568404354,    0.49432460498496733,    0.7662805473894664,
      0.12067300248409352,    0.9490060225911943,    0.38129757160028743,    0.3304637622494121,
      0.6923925118449249,     0.6763837818953047,    0.31376603445089246,    0.5500136363506121,
      0.9695662573635561,     0.7969621201873063,    0.6622009734643651,     0.9208935437033601,
      0.6345354077323916,     0.5539869805621622,    0.8271605574226225,     0.8381378777363601,
      0.6482903130871641,     0.9121341296999985,    0.01877471354184357,    0.04333833299240708,
      0.29663301105482776,    0.7826167619606251,    0.6260000064979128,     0.022931176394607178,
      0.4702176111712024,     0.34464613773622854,   0.5622233704239853,     0.9308045897435863,
      0.17052869748875965,    0.5380218062477551,    0.8575389690788897,     0.16184626778171896,
      0.19261265882286527,    0.415940048096498,     0.10152831619720848,    0.2557631049165596,
      0.5248283755391164,     0.5727453970128159,    0.8788143445646042,     0.2959781503580521,
      0.43549633487840866,    0.3609061940005751,    0.1909449912841873,     0.5392619410749471,
      0.9567071103280261,     0.30935584991961085,   0.6105278507130479,     0.11064377140205917,
      0.31109553996540673,    0.04125403009092443,   0.34873047660954803,    0.16387727336452274,
      0.4483096419197691,     0.35998169886965325,   0.8856564503011035,     0.6129385575064529,
  };
  float ret[8 * 24 * 24 * 1] = {
      0.5062321930371455,     0.32798915578871457,   0.5961646765278394,     0.8617070783970479,
      0.5119373011648897,     0.048024524076240915,  0.23214736441672879,    0.022538554986683446,
      0.6778444052900103,     0.15032959905073096,   0.5500250141965424,     0.17113763529559678,
      0.656904861049231,      0.19596667507728938,   0.368244176122847,      0.8691059710553981,
      0.8464938643825788,     0.4477211400459462,    0.5681620999676735,     0.5442100896841062,
      0.45368229567875673,    0.32546382920612726,   0.18083321574168632,    0.1750322980444311,
      0.6315210221145376,     0.291527227581442,     0.05240995759120004,    0.24235809909562644,
      0.5248510042885183,     0.8444330870217652,    0.06953102068444816,    0.5862038697632712,
      0.8055402660428673,     0.32368384028646024,   0.8548542644341387,     0.21770747056725892,
      0.3311304238509687,     0.2913804661242798,    0.5967050302041854,     0.6869036787651093,
      0.6298993086675535,     0.5342681029051217,    0.3675795216292139,     0.1750638889243652,
      0.1964814553063049,     0.6605207614470802,    0.7789210272606384,     0.7780470338595302,
      0.7160454591867403,     0.6301114551776474,    0.10752566733413593,    0.673119869792655,
      0.9373805013424287,     0.9178365192390866,    0.6325325250871165,     0.4247316161331426,
      0.3801992968018262,     0.8945772418220316,    0.7875543669721298,     0.8539699115784273,
      0.2777908194509292,     0.05650104741824036,   0.831507030885315,      0.585983808212166,
      0.9408480852535616,     0.949221458223217,     0.6494317804282785,     0.22667549478928184,
      0.9867749341169173,     0.3449374672076423,    0.009603964019212485,   0.2966442120522559,
      0.9140488516957659,     0.15654966719968966,   0.5479895146896403,     0.27964020188818406,
      0.5875175857991517,     0.7674359344871401,    0.2662078550688938,     0.601592864568559,
      0.6298513101287228,     0.0007956317020597625, 0.447670613189198,      0.30214703733479853,
      0.7095682335989801,     0.19776718502242907,   0.42373907375609765,    0.9964465820586225,
      0.5657844698280747,     0.9185125060473368,    0.48818414990794645,    0.697598606946429,
      0.23424318111262687,    0.011707822252632338,  0.7337824717352953,     0.5484898408514123,
      0.9929544517415723,     0.6792158760625665,    0.7816028696554761,     0.2405083444025402,
      0.9948803917035984,     0.49246398759410004,   0.5942569141797983,     0.7385481148993642,
      0.4338463026994005,     0.5692156943634276,    0.5157300177718895,     0.9788902748230957,
      0.06944950117329118,    0.7440570791479629,    0.20611744118485498,    0.829837881152689,
      0.8641965625879906,     0.3754093562128916,    0.5140923803643517,     0.01318160757340514,
      0.38912810288926725,    0.7269493917324703,    0.9667767963135668,     0.5146438339988334,
      0.1746242957861096,     0.22260117687528302,   0.5147147658513315,     0.5133063050966878,
      0.6037766881886195,     0.3032343397374424,    0.1558403376681612,     0.19823611829999466,
      0.24791261176807733,    0.06511786233551131,   0.3331160374011095,     0.8764778347789234,
      0.8987904993981825,     0.8850320999146167,    0.0028995817761239273,  0.6114011938310822,
      0.12891905917964652,    0.08841529382295288,   0.8913889051181442,     0.4231141187500551,
      0.5682157758555647,     0.407222042568696,     0.3964456887714989,     0.9083944497303571,
      0.06771895423049012,    0.4659372804769496,    0.12192491449923182,    0.5590082975575247,
      0.7224902246551163,     0.39659001433585184,   0.9959804799025049,     0.945510847494734,
      0.5069062072334803,     0.18366862681431562,   0.6477785312377683,     0.5047962857729253,
      0.12702932873653094,    0.5937694806711893,    0.41217223605167486,    0.586260286286227,
      0.3920397226267349,     0.3009089562278783,    0.11545124344136348,    0.5638317723887502,
      0.03331899478754563,    0.9197389199405746,    0.025063552422119995,   0.08206586723651477,
      0.561096691084764,      0.32084876537534424,   0.9737123506773547,     0.5557153417628414,
      0.33548532198689474,    0.32221438944414504,   0.7714228952988429,     0.227449953513027,
      0.505078000677675,      0.8363531865621979,    0.9104996077916944,     0.7467391082732583,
      0.6486863954134673,     0.7840496913389229,    0.8405166909749249,     0.8967567419124038,
      0.013132746284066021,   0.3492828320186896,    0.2785912741702441,     0.505561232182855,
      0.4916777884425205,     0.6784144755559384,    0.5602904610155944,     0.2556291571530711,
      0.5058833835796643,     0.8065225079160115,    0.4146453573569093,     0.6165567410355937,
      0.3812072863001894,     0.07838633522280025,   0.24554517496324435,    0.06732991743024797,
      0.6172542861800441,     0.012086029165487733,  0.06664288136003349,    0.7043239742078187,
      0.9123664013856383,     0.5335504894308023,    0.08698653277464463,    0.8290196080564468,
      0.8834656717225267,     0.7939247877872073,    0.8884737365869878,     0.4219642380552622,
      0.3534603068640917,     0.8494470631397504,    0.867447552664446,      0.7042030090952853,
      0.7030967670548717,     0.3633266332102917,    0.7912923465426464,     0.2846016100557003,
      0.7669181884111332,     0.1336003148255347,    0.8551305090127473,     0.6448324422438613,
      0.5692776375393788,     0.6125267654644435,    0.2860188283121068,     0.49101502666954544,
      0.7802334407422508,     0.621595999177262,     0.5264555414863354,     0.06256813978886833,
      0.5777567913293464,     0.2185899920497919,    0.5499062346038069,     0.09727935441077395,
      0.9154994096446494,     0.5410406629503918,    0.6478454956274339,     0.41913577704769356,
      0.892374352838081,      0.5878433926092157,    0.9247681810220608,     0.7574161009131323,
      0.40387819954296333,    0.9955865183599879,    0.6498057102561908,     0.23720161272280726,
      0.864962875216823,      0.9744249317817247,    0.1185707073275365,     0.05405958997809279,
      0.21350815438098536,    0.3987264207477995,    0.1901865924242161,     0.8986424402957333,
      0.42756234012515826,    0.5624195702180508,    0.9532024381859805,     0.9331967234220007,
      0.8326262505350779,     0.22204330543949213,   0.5683570413885555,     0.08080650468291284,
      0.7404946579897478,     0.31863905911250545,   0.6545183726954837,     0.9473683813047713,
      0.8142567915681516,     0.14552167710658281,   0.41939814504849826,    0.7794508592612299,
      0.16005597528354443,    0.06867044382609655,   0.4633637274837288,     0.9395113600474436,
      0.002398516729492317,   0.9331948896762047,    0.333821020943754,      0.0870242810975258,
      0.04707664181499216,    0.890444754645273,     0.990579393015404,      0.38653468246552036,
      0.8350018469307008,     0.14186236169840283,   0.5069963680419538,     0.02949034420068819,
      0.9045393529914117,     0.6776465708902875,    0.5951058678362742,     0.16017357369287422,
      0.06829755903301449,    0.22104222238956384,   0.5781531354968936,     0.07078049523276742,
      0.7611775873389636,     0.2506638620506646,    0.23424450010646203,    0.28042226030744977,
      0.4967031301230611,     0.030155802498213036,  0.8417135739779523,     0.4403787816993532,
      0.3194871756596648,     0.024408552447829357,  0.2059121031814014,     0.3304385738990716,
      0.5797427697765347,     0.1488101415168943,    0.07609937614156859,    0.5251133458576794,
      0.38618038104356356,    0.19176610098489089,   0.9987200933842041,     0.3747523857547992,
      0.7577922282660177,     0.13581872016346808,   0.41112542292513443,    0.3692939492355587,
      0.9088817938289541,     0.7068660497692852,    0.06394517786397358,    0.1083252676531502,
      0.1808100870922431,     0.5183031556872817,    0.35323756937224593,    0.5759670034306098,
      0.12944299733834008,    0.9448739674356532,    0.8143588597980085,     0.754802608217618,
      0.9916004739452933,     0.5266178440345204,    0.3778661306592547,     0.6762089130655262,
      0.6609729192353024,     0.657458949700941,     0.6666661408928232,     0.5718295386522686,
      0.815902395364949,      0.27572360372175064,   0.8380770893404555,     0.4430394275199342,
      0.9035539285337746,     0.04305770944290821,   0.0951941872821771,     0.9609676535237013,
      0.7882514248825381,     0.19512411644583338,   0.4947849919452858,     0.6098697295924015,
      0.8027845561907938,     0.3133522370325581,    0.4510194566927449,     0.8428718966430689,
      0.011938006691672332,   0.588867003240751,     0.6690157767048753,     0.4177212705525565,
      0.24674398716514967,    0.7417180449599303,    0.1631995066554942,     0.20262693904300233,
      0.2889357295845064,     0.25740925871269715,   0.6363896486385333,     0.6631190151834848,
      0.20898391694798513,    0.4655689891239263,    0.223154251464165,      0.6477665820136516,
      0.4813056620640841,     0.8843717058980306,    0.6943907285971115,     0.7994117260598272,
      0.1978499897603565,     0.17401412776352376,   0.47091902939013897,    0.3008107310922036,
      0.125356561257992,      0.3362214717360684,    0.008551259225046404,   0.39550964281789236,
      0.8838122008258186,     0.33856044053751155,   0.45407795863420086,    0.4242202694122168,
      0.5423685678418622,     0.558757767842896,     0.09995937937290533,    0.3246315609823286,
      0.6142558040977343,     0.9805749745475485,    0.4657660405624161,     0.9279995363145068,
      0.6559071400579842,     0.2666869937974796,    0.9408718356383589,     0.3545865805029773,
      0.45232948292420505,    0.038505613707505826,  0.00019750497073367512, 0.8737664246958026,
      0.43338860317926897,    0.9723377963347053,    0.6733478271906433,     0.8521676579248147,
      0.7992002524821615,     0.7134241267734911,    0.998215305453406,      0.13173821749133452,
      0.6230927805896207,     0.16597961720329535,   0.5667854438476946,     0.5600991731548618,
      0.7391743889484617,     0.8706462935030473,    0.6023748393452749,     0.3939117403888631,
      0.0179925828091827,     0.4629518715296074,    0.19687388319715216,    0.9137799213875131,
      0.1811662494483287,     0.7822154412029618,    0.23591318340225398,    0.0073897600933453544,
      0.7601835361487541,     0.04661639551634078,   0.47412956237438675,    0.8348234008595401,
      0.9694614871742564,     0.0021255061100916572, 0.3294672766798996,     0.35964304759653043,
      0.6252163536877482,     0.7291002031297731,    0.23755815280234072,    0.9573553281440201,
      0.35208871653768337,    0.12429876607920087,   0.4238129988973137,     0.42030861325609814,
      0.7668992868698534,     0.38672467591564863,   0.6167188625787685,     0.671182673030282,
      0.665041879014701,      0.5979076099092636,    0.08434169920676948,    0.05820304772467022,
      0.6223318283529414,     0.9319341880648322,    0.1563432403380529,     0.9138723236340262,
      0.7996797512923042,     0.4900864446713954,    0.017416089288305514,   0.49040996322083463,
      0.721019678050312,      0.5566481270821583,    0.9257258344448913,     0.030456107481957595,
      0.9633633518879525,     0.025420652239322328,  0.7106922196820691,     0.02782056144663425,
      0.5784283306561472,     0.7642952738653159,    0.49634054661506544,    0.3124518393246003,
      0.2427587464131412,     0.6298184514564478,    0.7423785073124218,     0.37271871104187015,
      0.2722751335358491,     0.2666776013490191,    0.5891324834913104,     0.6876742719251587,
      0.7955883463128232,     0.6707296977799054,    0.9496618100588802,     0.7868528046712148,
      0.7701224409391159,     0.7508487281409736,    0.013211049081081838,   0.10798949667513813,
      0.8090270633430225,     0.048012855163304335,  0.09028922573374432,    0.035025503671681,
      0.1919225111223416,     0.5650389680077842,    0.38354264470450605,    0.046771281245718055,
      0.862924116881804,      0.9649825973770343,    0.5043943142222184,     0.8715482370863882,
      0.26597899853303353,    0.8270579811608609,    0.1142848962533316,     0.4224047306507669,
      0.1012610270560822,     0.8223568939055197,    0.7167013789334914,     0.9315114766412789,
      0.13538563056707842,    0.1971618987154049,    0.1346229767296998,     0.7413487911805234,
      0.8335779236442179,     0.5523076600264788,    0.17805699078916626,    0.9749964559656057,
      0.6548616850045488,     0.6408638652632012,    0.05243142084756114,    0.41338426132755013,
      0.6577911569645122,     0.5218993909847612,    0.8215042477853458,     0.26000525222244186,
      0.97323011169599,       0.17753901458016086,   0.5995954962734206,     0.7072822896238021,
      0.26560859373579837,    0.25711211095662156,   0.07508148094639788,    0.4665311792834703,
      0.8382346611355168,     0.912159129225236,     0.18294092199868883,    0.5446560489946072,
      0.7656095966972155,     0.7678502522889049,    0.015170391334308642,   0.29784029213417207,
      0.8387694383482851,     0.46689527632178685,   0.36712996103456175,    0.019326900402604652,
      0.3426577641914963,     0.4488032775872126,    0.12123730305165703,    0.16833207718529186,
      0.0009628642460063341,  0.961297092575098,     0.6197070762250381,     0.9422212994559002,
      0.46566024250211124,    0.765393556661448,     0.6389778787947291,     0.4565768368332409,
      0.9670253688068792,     0.21973766319640908,   0.1670312116243018,     0.8981162893436722,
      0.839205738663824,      0.7745179886765066,    0.30909292667742505,    0.04511559705068158,
      0.9825690351992592,     0.004746150572906838,  0.5123475897899985,     0.80432432962385,
      0.26105396874260267,    0.16816967722507736,   0.35652723083069127,    0.7015377869256973,
      0.07821081337514191,    0.18523471563017568,   0.8343612489445518,     0.7959091927132941,
      0.7188927625558327,     0.9287626078448632,    0.09973920754860399,    0.3463778089006021,
      0.33659796153984745,    0.921845854796007,     0.00950593702181235,    0.06469285813398706,
      0.25338043680754496,    0.5238467611159003,    0.3167593672722743,     0.09329128287229482,
      0.6484704059568994,     0.9061324833635789,    0.48944359249477554,    0.8886033139636679,
      0.5775004603975735,     0.7994597749363578,    0.2685524226371466,     0.47423484982081954,
      0.9478611351812041,     0.24263144009029924,   0.453565431301858,      0.42525493803037606,
      0.11490633583693022,    0.20757224400351415,   0.5868995409837178,     0.5205919982656838,
      0.34503754603792125,    0.5987197103905514,    0.6868505593330014,     0.7638415147641093,
      0.8267185942940226,     0.6625091189429029,    0.6693741441502425,     0.38345424336010436,
      0.7081765066435062,     0.42905141236087785,   0.2328912829363069,     0.46170680700262057,
      0.439085657841746,      0.48283110128008133,   0.6895936395080633,     0.915300650877659,
      0.5065137439640514,     0.009253996333368542,  0.17912608340116165,    0.9877014563961273,
      0.2077031505895378,     0.8852031617482035,    0.39883058097563073,    0.9280883776056293,
      0.5468439956477785,     0.8348508115176584,    0.9623588674800001,     0.10797271631363137,
      0.11652847794724375,    0.4006687049764782,    0.855832471124214,      0.8786977408679026,
      0.7141267893561709,     0.9917530089388696,    0.5096096656188075,     0.16953365739403836,
      0.7251961536843469,     0.8943385078565467,    0.8112754308812744,     0.9761274106045587,
      0.9326604989238073,     0.9903928487769879,    0.269577210979857,      0.8189637058521028,
      0.7381833350806415,     0.28154334423945915,   0.1250465350737835,     0.3968102520265465,
      0.9604970122135507,     0.9722187833692912,    0.4243054458397719,     0.9403312613720402,
      0.8703241311060701,     0.6089211633348707,    0.5345658877440552,     0.5130240560137153,
      0.5368930457625992,     0.06336696382328744,   0.045978147806837844,   0.21270102297516136,
      0.5183775131533372,     0.4575562226466785,    0.6969774129134045,     0.49689162515596763,
      0.3039279916586811,     0.9104938758536323,    0.842826717308411,      0.9030531490528709,
      0.5622318797083762,     0.8880003119744561,    0.22917815472979386,    0.8454761943337168,
      0.5490186483045347,     0.8903499500434628,    0.19690296474232793,    0.4942586480451958,
      0.6208256248541093,     0.793673761384259,     0.15704525492115684,    0.8064819707072164,
      0.3612275689614989,     0.6409665812254784,    0.718535811027167,      0.011627527251532266,
      0.18251899551078254,    0.8816150389346538,    0.5141424262186775,     0.5585514761068199,
      0.08751818562303404,    0.2032257845367399,    0.30428349184187875,    0.3562439026805052,
      0.9902869789914716,     0.617485694423711,     0.23085218840071986,    0.9200353993391799,
      0.1438119306579585,     0.9637545013683527,    0.06926888721997271,    0.45809005417603854,
      0.7797894826426551,     0.033071563699438644,  0.5346070887767089,     0.3785868582170747,
      0.7792362852031324,     0.44049360572247687,   0.5655966414697406,     0.49836455834115634,
      0.41982706944388515,    0.9142509416402275,    0.8055104920505853,     0.7882368863968197,
      0.7861541561206552,     0.8750002361453983,    0.3141872249221326,     0.6297863342928883,
      0.13752402310502843,    0.8408271137857017,    0.20203166178667864,    0.6132166149173786,
      0.00565266221263494,    0.4346366940226415,    0.5750892505021086,     0.7484967824901719,
      0.554368174682661,      0.6462518960809419,    0.7575408699684905,     0.8304301645939067,
      0.14686776200689766,    0.01775895453516141,   0.20381742085491494,    0.5374100389215499,
      0.3543295568618047,     0.881281278910346,     0.7387949907094862,     0.6532668366398822,
      0.35871434741569874,    0.34577990378538315,   0.7511426552642608,     0.1749342021093535,
      0.44179651111839446,    0.3183243633827524,    0.8952139313460276,     0.550987565451777,
      0.11245280703451577,    0.29603527735935475,   0.0024376097979692535,  0.5580957824575782,
      0.6785730314640288,     0.6989604199143635,    0.9280856338597502,     0.8528138190991756,
      0.8155971681047525,     0.19627454847903825,   0.23483652834817348,    0.9749127497086097,
      0.9952437850116509,     0.39823054819356907,   0.3902382135861282,     0.9436877000327134,
      0.7855667825786122,     0.8211945319467171,    0.9350703325513966,     0.022807010966559904,
      0.5701088951610942,     0.21262277387562822,   0.182285558875648,      0.5457926090191436,
      0.0022151330954638393,  0.9380139047727055,    0.8430496283743121,     0.1022224243661769,
      0.29636066130596317,    0.9479549160834284,    0.8250427156664355,     0.25458526111733715,
      0.6582997945231689,     0.24489199861326638,   0.7480060827586592,     0.16758586360820604,
      0.675393772428663,      0.08917020068830872,   0.49411868825207117,    0.9293064155184508,
      0.04710616624830932,    0.9032842176572544,    0.7887575986187616,     0.45685702914654747,
      0.4652494433853783,     0.08590753836423537,   0.8677926147593354,     0.9757594778331132,
      0.03326488446691034,    0.09080413307553958,   0.2677322617144291,     0.003004139162062991,
      0.37075805819564844,    0.5619563194408237,    0.5326269575702928,     0.34340862047732745,
      0.9016417148983238,     0.1816640209011503,    0.3079844132700572,     0.697831111602062,
      0.15550348544202108,    0.08709128824924162,   0.7318882367213184,     0.5226189451379162,
      0.4714561263097441,     0.6536425776379847,    0.8780547121445959,     0.4605063736250262,
      0.1108839197488849,     0.49048534621825135,   0.348779380113877,      0.3573496061128525,
      0.6477277145926619,     0.3267103713187982,    0.154258739206506,      0.09146321915634115,
      0.15653234956704554,    0.2659173882939163,    0.9017235470997731,     0.39463656456034923,
      0.156590494640086,      0.8173011759177684,    0.4863177935656502,     0.889074583881877,
      0.1961541858280207,     0.4073608554088233,    0.17383269122504952,    0.49264426743742795,
      0.28034389601998155,    0.5593685058504049,    0.8717081492192968,     0.8138787395058248,
      0.6849150775885576,     0.7294561911157406,    0.6007567942294963,     0.4566856125549694,
      0.7762810018455528,     0.037485912765460316,  0.317156754519343,      0.8194347358709463,
      0.8742357018784637,     0.45420248053764034,   0.545021334035525,      0.40484355148999873,
      0.9642956470123379,     0.9521463750801464,    0.009809236244757491,   0.5632225263832438,
      0.827726924457394,      0.19127589974101955,   0.8270672169675024,     0.9389636338572646,
      0.03389523795263183,    0.8566288277688866,    0.41601508004675314,    0.4533324145773725,
      0.3986860505212597,     0.7125644912081883,    0.4991806916020406,     0.6155778733311165,
      0.9130384484529627,     0.5487870717147846,    0.7780523937434449,     0.28193646085785884,
      0.23331327786702805,    0.9816900774238352,    0.1350024308188581,     0.780189727376689,
      0.9156908233955465,     0.009622250928327358,  0.14554767074354535,    0.6099444642853934,
      0.49974097393273886,    0.7069659077805105,    0.7816183976265796,     0.6893721747092452,
      0.39131354032672916,    0.37859141906212357,   0.5906888260321975,     0.6601801424705058,
      0.17536941466724143,    0.2319276355700719,    0.7489062937368479,     0.25317403533372795,
      0.13515277633234812,    0.9347494213774822,    0.9266229609375172,     0.9943887686013935,
      0.05448279130963951,    0.2941520004646705,    0.8162845180903855,     0.9728186588423753,
      0.04784001124036252,    0.22656891211505314,   0.8623002348807659,     0.5872338171414982,
      0.8172407294972533,     0.8935080553239964,    0.9015605149533703,     0.41310471749037525,
      0.9472794835647472,     0.6520347680487271,    0.31311178341617885,    0.3881266733594382,
      0.5940963916604006,     0.34213553626717264,   0.7731917933130059,     0.5966087262785921,
      0.41236805548735,       0.38464411318442915,   0.948890845138434,      0.6579713101413165,
      0.0864903742655957,     0.9024542523251091,    0.5321617601250037,     0.4679140323179162,
      0.545330586994838,      0.45181337751924944,   0.46408729390763515,    0.6739482447724412,
      0.0051732115035305615,  0.19981216404826385,   0.5290130517806954,     0.7192318331618469,
      0.7212983477553033,     0.3213459838833309,    0.8810398893805294,     0.24407230150381054,
      0.7705033913302648,     0.8348143443275565,    0.9798327350813848,     0.7153785787888585,
      0.17227162583571132,    0.013486902192362704,  0.05279184836340933,    0.4048402752271233,
      0.6541987863733343,     0.9572730371926592,    0.25874032756911736,    0.1708286437732166,
      0.7458853835638297,     0.8957748918471427,    0.8504052252091574,     0.8440260407324176,
      0.09998791094771531,    0.5981663701129188,    0.9909795971630094,     0.7599927671359444,
      0.5930460739990847,     0.778268386360668,     0.6314661520179152,     0.5758158555084719,
      0.1933560284115361,     0.04267202229386946,   0.5808063777329563,     0.2846012429745495,
      0.8127455357361613,     0.8547361041799995,    0.4236263477471254,     0.5126017051751544,
      0.486864207649195,      0.675148578661926,     0.521602594310036,      0.1714438367929747,
      0.987577581508166,      0.6240301905818986,    0.3972660860873791,     0.21466797526556947,
      0.163736157424353,      0.16097272448599187,   0.9867228726368442,     0.44686891216524294,
      0.8529040770303731,     0.8427084849973342,    0.5248669060092062,     0.6332209039546157,
      0.3381060884944972,     0.6410528682127311,    0.5184896117965878,     0.0775072340265841,
      0.20847724173835658,    0.8421532756187703,    0.5690884663921209,     0.16660278165823805,
      0.7114283732757188,     0.12485689980485426,   0.4778653717597874,     0.8936810245378618,
      0.25572041201895246,    0.6479725646536676,    0.0521651501340884,     0.2899282678297366,
      0.1567842561578523,     0.2618292683133343,    0.48167163493515797,    0.8678615958116621,
      0.2825109203364219,     0.029167488033803868,  0.30085749125988204,    0.1430984046038365,
      0.8105162116377423,     0.3240150277783528,    0.4227679344777656,     0.6462688810750794,
      0.7669111613819273,     0.3591939105703398,    0.5406014889841781,     0.9133014898668583,
      0.23078416856951423,    0.7282831287496329,    0.7696332086423125,     0.036116417171488946,
      0.7188034785773543,     0.46641137151322454,   0.13517594491126694,    0.023029089551247717,
      0.3240281523339036,     0.28219840623687475,   0.6176277759655265,     0.822929704075167,
      0.9746339984503541,     0.09356935168701108,   0.9358670947921622,     0.5150705189935418,
      0.08698190944361806,    0.5067019194005934,    0.4607138934794833,     0.5903911985128997,
      0.04743558869608677,    0.0816011762024833,    0.18434623268203787,    0.7063485147604806,
      0.16133266570652083,    0.7545927345078352,    0.9883244202548223,     0.1932863168822514,
      0.18928374882276033,    0.8001091255310002,    0.7155860340551159,     0.3789846917866153,
      0.9611113142900227,     0.879396081488193,     0.5388680749811205,     0.8361159884411873,
      0.866329387811841,      0.2730682799221704,    0.3194169335393262,     0.9423646280256972,
      0.24435425023073687,    0.7470170905071631,    0.7738507071603729,     0.3986280845457605,
      0.030480186468068826,   0.610744914811935,     0.2678410545126796,     0.11563606352242406,
      0.35435733790292934,    7.629086834592957e-05, 0.31506645823114665,    0.52596582150875,
      0.4947711935372616,     0.2900674918365881,    0.9559480836459326,     0.8641971546827826,
      0.7759990209000613,     0.25189193242507424,   0.7764929030552792,     0.6740451053768206,
      0.9442503568797899,     0.27015556612912295,   0.4722170294917363,     0.6923440714494277,
      0.4625235039406205,     0.40653633557229074,   0.8614408947586382,     0.8005107123593145,
      0.38952152310149324,    0.5138242206735628,    0.3034512156454581,     0.5075533946811591,
      0.6409178909749544,     0.7867224176037622,    0.5704724276154304,     0.558636617357991,
      0.2794783538323291,     0.29715752029602904,   0.5187519349640142,     0.9873759371136224,
      0.9258075437182876,     0.21802053184517123,   0.43578239292876575,    0.5802450337786992,
      0.23230142264547604,    0.9663956282775855,    0.3046095724793134,     0.7813239552985765,
      0.7139029823908456,     0.11346499503069729,   0.17481934399946641,    0.030608752823210073,
      0.7198536329641824,     0.5851914340312228,    0.10405825121810075,    0.4328732174062543,
      0.05984690834909834,    0.059751406592598366,  0.7099125485628539,     0.2327422314064267,
      0.22293859772007485,    0.366334373824144,     0.6749561293186479,     0.8275468647809106,
      0.4836623121233168,     0.5182234230734467,    0.17814665168896882,    0.767156836968558,
      0.9957233089372526,     0.020767935241929103,  0.9075908646866189,     0.910011621335872,
      0.7026196573836658,     0.935762210311436,     0.7711845413595912,     0.46739814450201234,
      0.6994581401527824,     0.5616043805626976,    0.11408951973501213,    0.6998783598361171,
      0.929936385814316,      0.665750680755247,     0.6799953175502683,     0.020929310077360097,
      0.9533380343595762,     0.19059543824646374,   0.09924735025128095,    0.4388686123460397,
      0.7029603377770199,     0.0283956241097576,    0.08107860028919389,    0.5042102876279084,
      0.2165582424681859,     0.061309458649308146,  0.5425731942471365,     0.6896535206703505,
      0.7865332719261746,     0.21144979197123848,   0.044240593795785155,   0.7172785881835658,
      0.8087701489136178,     0.12632062877512984,   0.3135882124553674,     0.7030096426830668,
      0.32427739389406196,    0.26177958169560045,   0.8364626116621018,     0.045119232141371146,
      0.15965420000508967,    0.9353298867548688,    0.20383187633308142,    0.9738936519827217,
      0.40298551153980444,    0.7975560547282584,    0.18171915196160293,    0.7518553129466249,
      0.3343056185111044,     0.4899186327978281,    0.9156154657107153,     0.9113609778955688,
      0.9693327204195537,     0.2857523592884468,    0.05130307975288906,    0.71266558707065,
      0.562649641637568,      0.8915442240259507,    0.164649064386867,      0.027705380608350705,
      0.5407021702897924,     0.7889782067611623,    0.5259864378330708,     0.6845669681814901,
      0.6376220227714763,     0.8514856160558509,    0.6510253682186862,     0.5170756234714353,
      0.7067784474209631,     0.9994574991301162,    0.6757298661011472,     0.7466542251346405,
      0.31532433459065423,    0.2932461574194528,    0.6129823292461669,     0.24096303449059953,
      0.7484722467815119,     0.2738466277749775,    0.6041763997009431,     0.9490113319971468,
      0.16474717260481941,    0.6344892971888295,    0.1605409102690507,     0.36949116587874564,
      0.9062309293016031,     0.5676917708189916,    0.6579501227105841,     0.1556984298808446,
      0.10526105347022718,    0.0432597501143015,    0.12340518927265864,    0.24480904517286162,
      0.9559497778713313,     0.4650345002210139,    0.5570696004138982,     0.8604647108283786,
      0.08281791268299465,    0.6909086243849096,    0.6361793771611001,     0.18333854334943112,
      0.09914338253655386,    0.42672616390085993,   0.029455181622296656,   0.8806910005582591,
      0.501593639037123,      0.5384016604659735,    0.048500484858614024,   0.33157374470623313,
      0.7819900133063813,     0.8036696202277274,    0.8870946895919508,     0.6443897992391144,
      0.487593702664578,      0.47427283897570727,   0.45319916886863576,    0.34084491767048486,
      0.4097600967808508,     0.6369527481950622,    0.988582322369492,      0.7429270774935287,
      0.2755575157901178,     0.5337860064252411,    0.08527367015946075,    0.2868764543425195,
      0.2818610831832793,     0.09656564597512085,   0.16326420842851086,    0.078524756766712,
      0.692034898414409,      0.02929249805951828,   0.04078870767209608,    0.68618278656732,
      0.4164950388301115,     0.15439502423081763,   0.2608044219197406,     0.9485716022280892,
      0.1489511084132873,     0.5371867964769852,    0.2679471165751426,     0.26879005137532985,
      0.6385648413295864,     0.6934480563650385,    0.5889259374697515,     0.9444658629484035,
      0.5739860439847068,     0.4642829135480352,    0.5485487373822201,     0.055600233329058835,
      0.9503995048048212,     0.03693809906500234,   0.29259340143434953,    0.3763819233620549,
      0.054765734537462474,   0.6690946345171489,    0.22901017308395843,    0.3851663832175244,
      0.9320166382726104,     0.40543494470602504,   0.7132939144212584,     0.438468625983355,
      0.40289388689969197,    0.1080205205554402,    0.36245057716210094,    0.36015390409792614,
      0.4083542707925487,     0.6457341101335805,    0.5280984956406288,     0.27661051569717643,
      0.15463113535167072,    0.6339351618412589,    0.25386082756030703,    0.3773882514499456,
      0.31448240237275205,    0.5379416898801859,    0.5758417787990292,     0.4931403175245719,
      0.19895720697450392,    0.9106510540309283,    0.7050910060490698,     0.45995862112822117,
      0.4978773762163059,     0.4305593369082561,    0.5163888955360598,     0.5881241308899362,
      0.7443503376805837,     0.043441356160601075,  0.7620942885064099,     0.25391141995016,
      0.10404423400504292,    0.32906430947818444,   0.7134706951754703,     0.6142847460386224,
      0.8025796936730528,     0.732389054290974,     0.41473925626260966,    0.6923681125801747,
      0.7145973260035485,     0.6951361442463575,    0.3418245407724094,     0.011957990757860193,
      0.10193439601418242,    0.7414001168798778,    0.4136476884443896,     0.690481795572699,
      0.9133795729869558,     0.8514948184579377,    0.6159790140475269,     0.35329256022365085,
      0.885435642977142,      0.9162085873379183,    0.8567070326140995,     0.25296933567683344,
      0.35424346143915453,    0.5002598794309785,    0.8659747694089831,     0.061456731329130654,
      0.18850808844299283,    0.041641953786621944,  0.4423078043675779,     0.19516736871253626,
      0.7748134390819658,     0.15669760064831195,   0.9117988105447139,     0.17529069687430643,
      0.21239361243420785,    0.5598792774908463,    0.019901661165872664,   0.7807569139436707,
      0.3951855412813505,     0.04765166480638605,   0.1252275191352593,     0.7764889850899379,
      0.9903254692712204,     0.4160674609967715,    0.6575123873469116,     0.38692550571427453,
      0.9421299229690594,     0.13425578776714753,   0.6592775206040412,     0.6054569516862356,
      0.04995466341550436,    0.31838895529498445,   0.5594098049245086,     0.5431828600421421,
      0.9655536479587977,     0.9443783667221035,    0.52733461507154,       0.23509187824030708,
      0.8359559719413645,     0.40800777231855934,   0.8192441772939613,     0.4585598560257491,
      0.5789392096126688,     0.73483080985693,      0.3857779429185293,     0.32684564099220315,
      0.4342809981627095,     0.14049178871154044,   0.3249377070613626,     0.9649364229542966,
      0.546159980425236,      0.7495624435760676,    0.46499080808841164,    0.9595431299879549,
      0.5511422996681221,     0.006284943257787723,  0.9579373386678119,     0.8627631305545066,
      0.42931315127083947,    0.7117063444496837,    0.3529688849071867,     0.6581981238160464,
      0.8607842753730445,     0.1035946540281355,    0.33884413032963134,    0.6507898433398873,
      0.5959572838859108,     0.8452792802539334,    0.3526427347097323,     0.2554030188129234,
      0.3190780690938113,     0.5359166867354336,    0.899592971396041,      0.9121275113754743,
      0.18881523918281573,    0.16581486849400462,   0.1864109651954301,     0.028607524048106736,
      0.13031259865406175,    0.6048366380665815,    0.5957170162769209,     0.7081464546990173,
      0.8903217482370849,     0.09598610365359428,   0.519585064267526,      0.09657738036679875,
      0.3475479951857743,     0.4963494792070573,    0.5292251865940365,     0.029110455518635447,
      0.13835821078098043,    0.658289086360752,     0.20830808279559043,    0.0736493897230931,
      0.8598564030205227,     0.8590472853784719,    0.9610234425963425,     0.48137361683309265,
      0.17898859647327336,    0.5440140974851478,    0.22730089140323917,    0.018558462503961426,
      0.4863017370860887,     0.9382132934461014,    0.19297219357216033,    0.9940483705415563,
      0.7732193700811595,     0.4881593204224687,    0.21141437672188212,    0.4440192193919973,
      0.14557017262370142,    0.7702782436739344,    0.6601890426095425,     0.23468998861913448,
      0.7782546277335423,     0.4448974128041292,    0.10784083571982617,    0.14854640192380364,
      0.41589035421442533,    0.3197984326244462,    0.7245022420692844,     0.21576829484306959,
      0.10265703279256322,    0.45756321284804535,   0.9403807825834055,     0.5526588429924927,
      0.6064363553897896,     0.44265137283869593,   0.569212185802443,      0.7912368277559028,
      0.8887896757133944,     0.9701565615505346,    0.6977265802358966,     0.536834680339334,
      0.053981826061055393,   0.8756559562878227,    0.19057490879409256,    0.3320634721865183,
      0.4459034795768957,     0.19803414491520221,   0.41464347378057187,    0.4296586033181208,
      0.3521609076476333,     0.7204422760571739,    0.538750650251617,      0.9405722533748734,
      0.6186423782405404,     0.6233966614987376,    0.318102330519885,      0.8543971214766016,
      0.6515592077046153,     0.65087215946289,      0.07339238123019876,    0.4727928631310542,
      0.020176923010824965,   0.8738978388137459,    0.400978242333368,      0.7942854137885756,
      0.6403430773994766,     0.5661281788485651,    0.9813443426749566,     0.5483196198615674,
      0.06707226963185708,    0.7333912975866296,    0.7783524129943937,     0.5686775672271452,
      0.4256925483989712,     0.5147086104638293,    0.21476000417538343,    0.916855433021808,
      0.3714678841508565,     0.21945150784688328,   0.5895851611906975,     0.1444626597607006,
      0.738918199088585,      0.4481544686964083,    0.9856359446672089,     0.29954706102055195,
      0.611250956442058,      0.9430562414796368,    0.7229305445999924,     0.1858020448235872,
      0.6618648057683056,     0.8030276227107247,    0.8628099361519953,     0.9052610609469864,
      0.48514713211278393,    0.21873607262787087,   0.5236259810661064,     0.230898613761495,
      0.17879765773860556,    0.6151719520382292,    0.8151124499805635,     0.5781982220346872,
      0.3922148718803763,     0.04935560570672859,   0.6166915363174584,     0.5081051021238706,
      0.7010454655614318,     0.4156377880919485,    0.3492037798091502,     0.602200690923089,
      0.09046365783660171,    0.16223935565771608,   0.5214901402508125,     0.5044965309511683,
      0.8718711479270838,     0.9893060211426482,    0.4959762454399149,     0.6638722685693331,
      0.27567906452334956,    0.9612735276985851,    0.017683914342381035,   0.6880525776298796,
      0.26384910388692295,    0.4717037005472474,    0.04709738998294177,    0.9206613460317158,
      0.30609401558422245,    0.650794876466132,     0.9549873305910817,     0.8260862345328126,
      0.4305511457337493,     0.15775833413756224,   0.5698073932330375,     0.6732764670891707,
      0.9398683076373318,     0.8884952039532361,    0.9747580378552119,     0.7012280138803675,
      0.8531212614847642,     0.5588857939967947,    0.4865193397093649,     0.35605598711197395,
      0.23192417196470105,    0.8943987506597288,    0.4581750581036229,     0.8316761648384743,
      0.1956329153934292,     0.7862726579345383,    0.2825441517137014,     0.12262868378623026,
      0.8276433833405171,     0.6205529971010263,    0.32692718075055793,    0.8228061122431176,
      0.01971216456364311,    0.34028396625042623,   0.9809049097581001,     0.42615866343689,
      0.31026080743670426,    0.655869132710115,     0.21848187364501515,    0.7168610879867828,
      0.4594451911566828,     0.665814039596452,     0.36315476515717227,    0.5792757848529761,
      0.2194177814751842,     0.04385373639898016,   0.518617925385258,      0.3231278017612045,
      0.2594374757740957,     0.29246587337951047,   0.9954689561632492,     0.3501425234728255,
      0.6709665721562044,     0.16735352771914958,   0.8260129706431494,     0.40920719564891483,
      0.6726330850570945,     0.9363557645462725,    0.6556123113787984,     0.24270806527297228,
      0.7235976249239356,     0.24447580020214432,   0.1570820781313833,     0.8148349956024216,
      0.6933255834175878,     0.3001748159747639,    0.4345877719588055,     0.5503760162209426,
      0.25779097166992126,    0.4929286821874297,    0.9452724276975171,     0.665277564567275,
      0.8981405030205403,     0.0670257099481898,    0.6939751122857064,     0.28055550151293496,
      0.1332388904235442,     0.5375935529800575,    0.7796575064872702,     0.6544817490995954,
      0.07015083766352537,    0.5144850339572572,    0.8525538781907521,     0.9739838860835902,
      0.4968967376586929,     0.4127145314686359,    0.27933761555501435,    0.3672016010943906,
      0.6624024674092706,     0.24544598528646022,   0.730314983254911,      0.17701101837412136,
      0.4254799754930676,     0.35423136895259566,   0.5768227897299716,     0.5744645070463099,
      0.6089490929009442,     0.8468421104716097,    0.062493117646656215,   0.9433883841846586,
      0.3224314773749847,     0.3879437547436835,    0.06542481862518479,    0.4524283508742747,
      0.855669739307951,      0.9355414144830774,    0.016953557859817336,   0.08887746141991093,
      0.3077384846166704,     0.20142444310220264,   0.23430527951848246,    0.26726979711914867,
      0.7538977184667861,     0.14055565974103956,   0.12019543811452327,    0.8032361878205014,
      0.7275211502307414,     0.5391190118588421,    0.39040871413175204,    0.9111147281454772,
      0.9493616269229143,     0.7539309432514376,    0.32713630350951395,    0.748126071640409,
      0.7235166954765612,     0.5451528985198291,    0.08939363370630093,    0.9726577168929407,
      0.5056002065235468,     0.8720214092930499,    0.14252130964260157,    0.8017993349366525,
      0.8789412016297585,     0.19733101052115432,   0.155381302468528,      0.8861006212175135,
      0.28308405796973546,    0.3421889072421824,    0.2741378883081277,     0.562728159108378,
      0.7383010713186272,     0.2940145578132707,    0.28188592835883397,    0.876776834120555,
      0.4094498174275354,     0.2609720457658792,    0.9077216796152148,     0.9167908537532,
      0.6309256990750524,     0.2932255295296887,    0.6187393252348707,     0.02419640268937162,
      0.7615549945291642,     0.40152068077174974,   0.636001364738158,      0.31693811983415865,
      0.17459370162390564,    0.09635478622334415,   0.773110596039915,      0.36730671076204746,
      0.4443424697638383,     0.6269672542570564,    0.18052959491911025,    0.8763251766396633,
      0.9298965932343471,     0.3114788775550925,    0.5129502631275407,     0.2671988790638957,
      0.03395469873611412,    0.20677057622909345,   0.029755677202100816,   0.4219143640858508,
      0.27766396280399275,    0.7626861520170851,    0.2804449959173896,     0.41126630075958903,
      0.6130098684306445,     0.7749747562665911,    0.6306743873349789,     0.17398026115826748,
      0.8664778902230784,     0.13631390978684288,   0.126146245275511,      0.14392278284610127,
      0.4957647401686809,     0.49393608417974944,   0.7608848150197474,     0.7708537446533661,
      0.17041707735566713,    0.5292679237649189,    0.12997774787294147,    0.5833293771008747,
      0.22158461844207578,    0.38454048634657145,   0.25170772654694007,    0.18384322498407457,
      0.9106010886281795,     0.09659133036787504,   0.04798999449920649,    0.5971959180210877,
      0.33920293291125825,    0.0026978486282175362, 0.40823027702490455,    0.7474551858830002,
      0.8447835860688525,     0.999476073467762,     0.11292905422267163,    0.2891202214831097,
      0.6782488374010278,     0.5640985110366258,    0.8986345118209681,     0.8303221656535216,
      0.3838014827262134,     0.6954806707019082,    0.04745548087955098,    0.19020545853032067,
      0.12142096074765196,    0.8083835608993636,    0.2703724701412815,     0.04308441751967196,
      0.8978514331468422,     0.9227768394778075,    0.054487218354160816,   0.8881844540343677,
      0.05812500740473081,    0.43395580484342355,   0.9128284726568942,     0.46153699068964205,
      0.9329113950684834,     0.5436808169668677,    0.8551864909610408,     0.35430629048202467,
      0.20331160404943038,    0.010592767504785994,  0.768145204266474,      0.7716453181066588,
      0.07399950484290962,    0.35304343137569727,   0.7125013832160177,     0.32282759187212584,
      0.5098121496598533,     0.9429961075410074,    0.23690140194649634,    0.28545879601150004,
      0.36072796490221837,    0.08273436245662757,   0.13321861653992195,    0.45428395959680057,
      0.3292870423168869,     0.3717537796542958,    0.9151157324904851,     0.032565267234247575,
      0.5663024224678861,     0.21258936026884934,   0.018792364759155578,   0.33061571155470315,
      0.4408215380032614,     0.6373830559219769,    0.409083548130421,      0.5719023860863325,
      0.5966825436453085,     0.3384202473006439,    0.0652522862056627,     0.7184518347094753,
      0.7333243428502271,     0.3397689359164483,    0.39030612456817504,    0.49021356874309363,
      0.07567478335266509,    0.8152990173046628,    0.865796090334987,      0.9772443897479798,
      0.8237383881843146,     0.6529526140669909,    0.642639906551107,      0.48148740771686727,
      0.32824558349693844,    0.21997446692237632,   0.2826342393226089,     0.6925547552930775,
      0.8127702758298999,     0.8449833779720203,    0.04123879385713569,    0.15065632287258246,
      0.08510557609762459,    0.5458280878881934,    0.8586504699178478,     0.9911190250770345,
      0.5763284424876813,     0.7391889450985766,    0.40039453665752356,    0.6580974766512633,
      0.9713635948599508,     0.9633153015071205,    0.9892725316197725,     0.7655195394029977,
      0.2626076882068743,     0.5724930703594869,    0.8770329572359922,     0.9241957706353401,
      0.5311898231459584,     0.9787947183754235,    0.29236240390648527,    0.1370530031021152,
      0.21557458708432398,    0.21930911835253963,   0.8715098439481456,     0.18225413327885254,
      0.1273980429476339,     0.781536231097221,     0.7399707114697983,     0.03176008087944826,
      0.07484892991644743,    0.9938729205296434,    0.7208500631972949,     0.7020940151356819,
      0.649863542644937,      0.07171846155065342,   0.24072337013910783,    0.3613692423637672,
      0.28109344159579286,    0.6906532840886619,    0.2697954961712017,     0.28147888050363834,
      0.8129444048447061,     0.6482743700303343,    0.567516198772247,      0.3377204549692112,
      0.5318035966189143,     0.13996490823612162,   0.28411043736720165,    0.7086066320571008,
      0.7364523892364573,     0.24583114874653533,   0.2718401559841159,     0.4699898162815598,
      0.8368333921696967,     0.6039469513318906,    0.6881629540763242,     0.10914136009539432,
      0.03794547642282364,    0.16071126773904743,   0.6071822780850678,     0.999449454081704,
      0.38785614009596714,    0.2305249584020561,    0.9381100298775975,     0.6723682337201471,
      0.0270853082856215,     0.38452454801976443,   0.8104401851265016,     0.4148616154771626,
      0.25348586490031955,    0.9559803040006986,    0.23669298529343408,    0.8683776502568926,
      0.6818154399643029,     0.386930406487093,     0.4831551067581342,     0.762948076915824,
      0.3080418124016162,     0.5783325642474083,    0.02031458126010055,    0.07023369879228158,
      0.2510418307035861,     0.06557828934649368,   0.20332294284183228,    0.6988094459473019,
      0.40342220501450765,    0.9809970493544985,    0.26572276292341057,    0.5928075161063842,
      0.8549134765023864,     0.567763428815418,     0.5470926603460404,     0.9274902125377089,
      0.4928070771606695,     0.526894280369654,     0.6376977924010896,     0.22799338981773765,
      0.666609321330193,      0.30868196403098336,   0.14279972266571528,    0.5062364564484477,
      0.9157139519719435,     0.4438514752002488,    0.0967753755965477,     0.8364362062093621,
      0.7507227281441472,     0.034410730069850626,  0.6782441014462247,     0.48150125869929983,
      0.8610360109688682,     0.040318507891833,     0.981454376414118,      0.9489949777983132,
      0.8363894005173848,     0.7935877513663323,    0.7161463843240741,     0.005320974874661322,
      0.7219264019524386,     0.5939046135812794,    0.7367415608933358,     0.4901397664186017,
      0.7455950792620178,     0.38453281111378745,   0.11932732877577257,    0.23846310575164364,
      0.5070859241209125,     0.4714858979832832,    0.9511226798432605,     0.816798240831224,
      0.9906645769037737,     0.11961893403587176,   0.31535187276502774,    0.6103025507014492,
      0.780168389505919,      0.4873081795149584,    0.5385034675060101,     0.979880443701223,
      0.38006057763820444,    0.8983108410336961,    0.7260784501222746,     0.08445070147685141,
      0.19108936840472623,    0.8684070135879295,    0.29639093380738957,    0.24831227601153794,
      0.49319075696101833,    0.6248867669334034,    0.043314312738550464,   0.6751994351532093,
      0.9839650562784863,     0.23577156317354986,   0.655407771653181,      0.9998838732393714,
      0.914266783053472,      0.9781753528714074,    0.002991513868391582,   0.27941324936645506,
      0.8503441860013552,     0.47965377849050583,   0.6425737018053364,     0.6917759376427142,
      0.5997255515022856,     0.060241281568058636,  0.5393389196251592,     0.18985718347501923,
      0.9351558163273623,     0.05023015623962879,   0.6468904895820736,     0.014573021284780774,
      0.07314826533484264,    0.7385634948320089,    0.4736186028473338,     0.961769707187561,
      0.6466132639765876,     0.6540721879369729,    0.5897323507539489,     0.24160977712950327,
      0.34607925280409346,    0.6030672545910204,    0.09219015818821708,    0.2189044326893821,
      0.12227548581400349,    0.8947981854220011,    0.252625479705346,      0.9946789181499702,
      0.16317149618234628,    0.8889540539831564,    0.11335746065295138,    0.3021348506513677,
      0.32426537462416727,    0.3221710260970897,    0.7955224454834644,     0.31995046679141825,
      0.4603696522905393,     0.15274124315980264,   0.5767785824549683,     0.9089273609938713,
      0.014181800749509588,   0.8968517292934882,    0.8576432177022097,     0.41392758451611766,
      0.49075724214154415,    0.6724006689201423,    0.7419828793396049,     0.5918792807869941,
      0.4964571450177757,     0.8462797472729263,    0.24074647479855604,    0.17389013966384548,
      0.4336537753610863,     0.20804076413234251,   0.8346292608572363,     0.16330788557412612,
      0.6470926565729509,     0.24909881173874848,   0.7800536906520463,     0.9027679093109797,
      0.46621683989976836,    0.8825818086255208,    0.6483997410357604,     0.07090902131552845,
      0.4615378723949781,     0.3984200929917433,    0.793556355780704,      0.18864072780222685,
      0.6683790309702944,     0.8281722909526522,    0.8584671461088224,     0.7674560890352315,
      0.30241765553139677,    0.41475831093913884,   0.22776361413963964,    0.38489260664050606,
      0.42790348692893054,    0.4855741541423584,    0.7700059150649414,     0.4463345406584335,
      0.3754021383352054,     0.554149430056228,     0.7229379198353453,     0.3532397254539792,
      0.3768025729772698,     0.668903032222659,     0.9064030808327798,     0.435833055858148,
      0.8685532076495873,     0.2886386669233906,    0.43587518450474105,    0.694872592542479,
      0.1796499204429559,     0.22480783387822612,   0.23350737891309348,    0.8144091649840206,
      0.44616818509133616,    0.22082898026287756,   0.17930805292422558,    0.15071070399700426,
      0.3155340984080618,     0.6760742950253298,    0.2621675138999626,     0.17823328215968037,
      0.08015587675406999,    0.9763732534524071,    0.8110620473055706,     0.9566564231509402,
      0.25767909123698307,    0.3601800348476929,    0.950425899846338,      0.174356764476159,
      0.08077041781361871,    0.7687961673279716,    0.4354185072613621,     0.8310249565932173,
      0.3721057577278879,     0.5340391905817158,    0.4872996797842588,     0.761276430509516,
      0.7341317116279491,     0.11585158022036635,   0.8117034975015432,     0.04017399270252342,
      0.5161920405254127,     0.02912026146204605,   0.283469044387504,      0.6056600705599993,
      0.5892643002783994,     0.19327527302460534,   0.6201029277090222,     0.9439856016164112,
      0.8563446020541817,     0.6525564675585972,    0.9151952958944338,     0.582373416388159,
      0.7669560791324367,     0.02468294355083911,   0.32790419872418497,    0.16828688898958633,
      0.9785136875320333,     0.7559030686500858,    0.4880628030762244,     0.49742040693088596,
      0.3807874726702045,     0.2518072818614463,    0.28293848736377514,    0.052065141479679444,
      0.12673432223072,       0.00493210913236386,   0.0659657665976604,     0.7546657122157793,
      0.5142072130637574,     0.47101495152740935,   0.12423809933676722,    0.631621048904926,
      0.9375168340975689,     0.9710427645428577,    0.6951321450506236,     0.12975755461724825,
      0.9371463814511896,     0.06329947410562009,   0.17250706916082792,    0.27504520679952815,
      0.7997764878570511,     0.6280084931708173,    0.8790770172906017,     0.8699573351880034,
      0.47162638306287774,    0.429977964766746,     0.6852470236642084,     0.02825069851350992,
      0.7187392702298809,     0.6897047244877237,    0.21155052406886465,    0.5782009379374243,
      0.844124004652653,      0.13477494670163825,   0.39460860995867053,    0.21886878537466137,
      0.9331765626546623,     0.39975766464681506,   0.05306072541805107,    0.5198958252400147,
      0.30504398126008225,    0.7433307539428954,    0.12287466682408421,    0.9670010933795353,
      0.747858359423017,      0.17207327768824898,   0.2545220160759658,     0.5911442854526012,
      0.785125289716672,      0.34374725201679623,   0.1881988882326393,     0.2864207541695756,
      0.022946369182973436,   0.035928263856476184,  0.8248370296597001,     0.0326694849755228,
      0.7293502533474547,     0.6077561758020177,    0.5308356230207454,     0.03316711866227229,
      0.7568490275843757,     0.520780966891579,     0.23241392652065784,    0.6897984319358339,
      0.6291991128180034,     0.4441797944319068,    0.5568587932114791,     0.4498088314464638,
      0.7010019040522237,     0.6507673483154275,    0.45381116863257953,    0.8343724626292929,
      0.9726485983607335,     0.08883727023216881,   0.3240589354871075,     0.17091823673070605,
      0.7065195713066943,     0.8019676727987474,    0.5441090274902036,     0.7569920288292978,
      0.7284967317947634,     0.41634232641384894,   0.07570625995129976,    0.4839470331704978,
      0.22728929068210257,    0.6017907078082997,    0.2752057089278115,     0.6197057838032689,
      0.5062528432426374,     0.9578668123268466,    0.17145202413217242,    0.24939262342805169,
      0.6288714928454562,     0.5306228139658058,    0.5871282516007716,     0.5544974175100911,
      0.6268496169607662,     0.8447978213259328,    0.5990456111341405,     0.4975881427045391,
      0.9759159347677031,     0.6791081992495608,    0.5316632896786118,     0.731025524465835,
      0.37977185358977994,    0.18206518830018836,   0.655684273695134,      0.7157391210381715,
      0.9914665753650298,     0.5048593361026893,    0.9551772829563094,     0.7745323297735499,
      0.1264456909491325,     0.3699896710346614,    0.6285338457271957,     0.514443036953066,
      0.9899529710790698,     0.7325623262164351,    0.42250238115582217,    0.9471771192019562,
      0.5681364044488664,     0.6486542055885673,    0.13720737835505248,    0.6846959458412011,
      0.4521690685914095,     0.9371433944439886,    0.9945327264012567,     0.33107065688983917,
      0.9343690829724055,     0.6856832306125681,    0.799031808457499,      0.7380137292376373,
      0.9746119191774075,     0.6114354110845129,    0.0891424280914559,     0.5091757110322869,
      0.603309404646988,      0.4295246842942808,    0.722036085094832,      0.5625133815588351,
      0.13050048794622393,    0.9927393684728438,    0.45025947906275665,    0.3250450093807251,
      0.09561872500769664,    0.8633353598344091,    0.40442616095861705,    0.6049206328617713,
      0.8428239809093349,     0.3359551331198569,    0.22248396807251225,    0.5502353681183261,
      0.40267811045207713,    0.5815240359991557,    0.3014924083991003,     0.4250990948690391,
      0.08277471680497728,    0.16446000783135628,   0.7582322318598479,     0.4513912032123134,
      0.21989757035321167,    0.6951066958420687,    0.4703863012569903,     0.6716716338779879,
      0.5407943154328158,     0.4271833226075261,    0.08610893472179548,    0.693695330552891,
      0.31314361600309726,    0.5535216118808298,    0.5990984962870414,     0.5131726892092602,
      0.806119912485667,      0.37726715649026266,   0.09688997160729618,    0.18191235600914468,
      0.7408756680625669,     0.067357737461333,     0.34430792748579353,    0.35918926626247394,
      0.136124078264096,      0.3541995171494954,    0.06349779403656919,    0.3754301718183216,
      0.1727189346883753,     0.7580345332123546,    0.5946766069056495,     0.12308175309808889,
      0.5448895422266883,     0.2753416276479139,    0.23336713618230265,    0.4308822662286048,
      0.5621756856088449,     0.7611032921388645,    0.349812128693896,      0.3881534377705992,
      0.2835050132379042,     0.036894377980221216,  0.9307542758686738,     0.35984184065576474,
      0.057717777604340714,   0.16357715519612248,   0.5474191675603088,     0.17209729645140837,
      0.1035218074281723,     0.550510065989391,     0.41363664298505376,    0.2424585443425049,
      0.12297541084632557,    0.9285138515876707,    0.6290588065058829,     0.8255063271949105,
      0.20874626048136935,    0.9395041387697237,    0.04600701773713345,    0.24156959559907465,
      0.37041024160368163,    0.7264228362952664,    0.04321551557401371,    0.8319348475055413,
      0.5128934010550922,     0.9925867471857552,    0.9216267877935361,     0.24718436038946778,
      0.4698226024943565,     0.5439280672034829,    0.598067075383266,      0.28494763010177293,
      0.03773308148441756,    0.14574269431127063,   0.6053555487266239,     0.8475034881533703,
      0.2020262485026808,     0.7042307474819337,    0.5005531552761207,     0.8192645819547374,
      0.20759838646694628,    0.42254359806485775,   0.49037819615284917,    0.19201492423287725,
      0.37500924763986043,    0.3021041849823324,    0.3213504994388482,     0.46774067505236416,
      0.0026173221305848537,  0.2236980382939876,    0.8209726800498244,     0.1341877362757261,
      0.7037171416664391,     0.756226471861304,     0.9793647620935093,     0.44373960477005947,
      0.7700194618684637,     0.5673608450062326,    0.013838598953302195,   0.6574138322136758,
      0.7782853882176008,     0.9813441063355254,    0.6393022773267258,     0.9384754208419224,
      0.9544023739700562,     0.8689363282216476,    0.25686033022026544,    0.5677299374542079,
      0.20226249527907136,    0.7413309609345924,    0.3902110116265247,     0.817381412418007,
      0.67832670080788,       0.46537137842295107,   0.6072049619454954,     0.931659554219823,
      0.7232985553535521,     0.5613079712934398,    0.9529395011786647,     0.3233140991562946,
      0.8867061849259075,     0.3102047303338008,    0.5569391637391777,     0.7072786765330655,
      0.05248664008431159,    0.9215047227212699,    0.32001852496573835,    0.2947421881907316,
      0.16826022413555786,    0.9470234077238253,    0.02390800364358514,    0.921284435754136,
      0.5062140210208729,     0.38265197505015147,   0.1803325603165793,     0.35597726956395437,
      0.7943681735300347,     0.41606259121453004,   0.9499169772053542,     0.022111673063570425,
      0.5235643488450099,     0.13857697122597168,   0.4254536166360948,     0.22832181147804687,
      0.23456948978616432,    0.9860684004280239,    0.8756978874984395,     0.03544764170358694,
      0.08973630772908203,    0.5083562496701145,    0.011202382317988091,   0.8990670746555705,
      0.9537673849619107,     0.7085713197473092,    0.986232021543572,      0.5081578876729579,
      0.6945190695598703,     0.9024711459516134,    0.4208577171692106,     0.766413072935944,
      0.48028012847993773,    0.22874311332279218,   0.2133704688789767,     0.5125128278114942,
      0.8880847121160246,     0.3606612472771661,    0.34170378950422586,    0.39477693551558457,
      0.6340623996399476,     0.6953872129694927,    0.7092038405181214,     0.9624278741295362,
      0.3905353641961543,     0.10208035797721937,   0.6101978379539461,     0.7583740478481424,
      0.12625795541839047,    0.6348773324268129,    0.8871458755396873,     0.01670678244223589,
      0.4146830711435052,     0.5372807865088944,    0.12542194922035377,    0.6512231246433252,
      0.4980918754933916,     0.2091095413841736,    0.21206766259675913,    0.031624355402636306,
      0.49247318203534907,    0.8251416658391146,    0.2265518914158131,     0.45579558773586915,
      0.2793801346253608,     0.48011367142312156,   0.19316663611067186,    0.9630653586008612,
      0.2844483346903066,     0.7428791983417421,    0.20350354070834398,    0.2553320192818015,
      0.8212809248620727,     0.7661178866721406,    0.765443338343973,      0.5677574750675933,
      0.05410405845144206,    0.8535598075847425,    0.5267124302899265,     0.16596308978355268,
      0.5165349840530941,     0.6009663705061661,    0.8001224351986231,     0.12433512035597516,
      0.7328391838711578,     0.46843650518351376,   0.19453361700593552,    0.2457914503921359,
      0.9715041128172724,     0.5035253179717091,    0.2738750246354873,     0.76571572353285,
      0.8322725912841784,     0.9742207856586259,    0.17221294952368482,    0.30429255859284565,
      0.150446075776693,      0.5774457449870724,    0.055204948247565166,   0.9049180192781775,
      0.09219720725874558,    0.7249660525087812,    0.7634298317772668,     0.09532513565669298,
      0.6037902965957798,     0.775876091952754,     0.30048105187387053,    0.5321075407103473,
      0.9676971504359092,     0.26881827714334805,   0.3270462715063217,     0.14109347688658214,
      0.718905496165389,      0.5178340264469525,    0.4641920385691337,     0.6886634266980226,
      0.7541743566585278,     0.9338177907400674,    0.6377610366495927,     0.07859012814204014,
      0.047881143812792626,   0.509518876595083,     0.4662566613906933,     0.044753641991725934,
      0.2888474238293234,     0.4300753033759601,    0.24090396899360778,    0.4880819616569849,
      0.49344032440942565,    0.3267337118213137,    0.30739545858667916,    0.8347976589605131,
      0.8468181237471225,     0.9397711276395985,    0.05076516895725314,    0.35528884635673386,
      0.47869109342428395,    0.6485992654884545,    0.13077849395002672,    0.7561835005330849,
      0.13019119770401266,    0.522947346864396,     0.71681653486775,       0.9545807279091522,
      0.048471853442748514,   0.7656959974208565,    0.33260665541814094,    0.3107698976359098,
      0.784262134457234,      0.2390556069831512,    0.2171033013333129,     0.22106855321775898,
      0.1777305668557082,     0.7010763743538238,    0.34687353348311567,    0.6713227825218957,
      0.31741624899077014,    0.27699680164190077,   0.24966398933329337,    0.4378580357548568,
      0.8220315880834599,     0.8780303052900865,    0.3282223224417613,     0.5304855331661286,
      0.8759301198567931,     0.8022054018812916,    0.8087106870029261,     0.39915235222002377,
      0.811956074326436,      0.9536455298780298,    0.421213924992475,      0.43164313734964477,
      0.5227138249336246,     0.7090043439645167,    0.2998320373339187,     0.5545990176184411,
      0.3997327842492463,     0.7316793591805311,    0.8754030075046323,     0.843831916727075,
      0.742684393168072,      0.17453735067792653,   0.8625298941919014,     0.11381870844975783,
      0.27979009889454887,    0.5768907698535688,    0.06594773733933168,    0.9579455432204982,
      0.5946935153059155,     0.45202323444648607,   0.9019434787093433,     0.7818194846873125,
      0.3967066863484422,     0.8228406568388705,    0.09721161204039697,    0.4801522356674264,
      0.01959637598493358,    0.9850457198522312,    0.24050822306737707,    0.18371526827375517,
      0.5845485582312591,     0.17652807791034186,   0.8647449178268475,     0.2895166509368404,
      0.2419901155988491,     0.6941088664970383,    0.1560864519399333,     0.635427742150778,
      0.5816818559836522,     0.9849155684106518,    0.025588074983513787,   0.49459827852911853,
      0.05425377571263956,    0.4743775865820451,    0.7564149515738253,     0.16276984906703595,
      0.7687548469520425,     0.41373225024064564,   0.4544064319037999,     0.41801259667280766,
      0.6314198197027366,     0.20323482183642694,   0.34349885200542063,    0.27104141183367414,
      0.7982388531148257,     0.9953984175532257,    0.8327122421658457,     0.4281616517848509,
      0.9687894499866775,     0.5466038572944231,    0.22487868502002484,    0.8384645649234528,
      0.36865165146819756,    0.9336942046854281,    0.6160039963189174,     0.651923536201123,
      0.14310507886655377,    0.06001830530380037,   0.22971825195338103,    0.9060489022166647,
      0.17227243918298796,    0.03562839494317671,   0.9833405699591752,     0.879047113237965,
      0.06427639038238131,    0.11198359585969286,   0.5120162273713391,     0.8195681998043876,
      0.518411923936739,      0.5964168071235564,    0.8644480695528365,     0.9742302432739681,
      0.596784065205653,      0.6009605776303654,    0.9172413061542587,     0.9722770947384021,
      0.8230312406014156,     0.6689544008223667,    0.06070494793081682,    0.3249888584728904,
      0.623899766373403,      0.6526210484092227,    0.6766952396244709,     0.34652804154497674,
      0.4071283107450684,     0.8222639692618214,    0.011132519537103813,   0.5760595421942754,
      0.28287338543402074,    0.37983591169858555,   0.40870027326127367,    0.07771932097463397,
      0.03700348128441577,    0.34853902862782316,   0.34976756257395014,    0.20268620904747214,
      0.17602558997716566,    0.07375838827968006,   0.8258050102203596,     0.22552025356880057,
      0.6174348425138062,     0.8743948521904985,    0.04826767861785841,    0.8881260245700738,
      0.20517630380817353,    0.7158063809593872,    0.6424390262914653,     0.28579474166696406,
      0.6943570209638391,     0.8915403913726628,    0.18101264400038986,    0.43672810024025943,
      0.9720888013306086,     0.9163586355462026,    0.8554811772547043,     0.8390860580206726,
      0.9764990516164289,     0.623084563941527,     0.7274814276805354,     0.593214063381061,
      0.1366543769893125,     0.5942756436334763,    0.940654759078095,      0.8976841341685899,
      0.9170727635406218,     0.5512259884901765,    0.8732383847949075,     0.15876424149214485,
      0.983846243401889,      0.06524064955606268,   0.22095794008768244,    0.29289061978348774,
      0.01906759179346751,    0.6027549581512781,    0.06775862309828506,    0.25143958689042967,
      0.5669673318847419,     0.28294105817696213,   0.3174541416076303,     0.33060755385741214,
      0.4008286112428354,     0.36612160617925404,   0.3324377788357381,     0.6469852128501971,
      0.12960876007392885,    0.5573253264003803,    0.18164164552223339,    0.05488525449383397,
      0.8333901979014496,     0.7013270063862299,    0.00973447081459422,    0.44646013225218206,
      0.04509404363374836,    0.6007283625082954,    0.5760011451082034,     0.44293294050290455,
      0.7335522619452794,     0.27903604275828786,   0.1476826817000655,     0.32432344497821075,
      0.6870931336062818,     0.00857861060126519,   0.7820956055279831,     0.4726044283862554,
      0.5732177277699113,     0.14034121755523665,   0.41804284566429306,    0.3953383120567484,
      0.803883857137373,      0.8793775032337189,    0.7863521774621048,     0.9210368915228765,
      0.527325528345828,      0.2898124695522769,    0.31385222532735757,    0.6472638868328983,
      0.5235968800554752,     0.08089383474428724,   0.6501478763743553,     0.1226793956172183,
      0.7544937807956091,     0.1011571047349803,    0.8036833193003035,     0.3947568249380681,
      0.7113878526534941,     0.4334600130160059,    0.995734610188258,      0.08750876548564512,
      0.41692095049348066,    0.4161099210925021,    0.558301508648263,      0.5234324181480597,
      0.6021309454264144,     0.11982213855056323,   0.652984817383927,      0.31994110490998406,
      0.44025076342842107,    0.9018474001363644,    0.1780521010787487,     0.0928203326209236,
      0.5689257589296584,     0.9307858048545634,    0.5019191507483846,     0.0732359171678838,
      0.7472470560306381,     0.7606290137163079,    0.1759363749688474,     0.9865090966718135,
      0.14162530231861792,    0.2257810200578727,    0.8625577589305529,     0.6182840554609289,
      0.7627928373929174,     0.7138267678661641,    0.6271079408184336,     0.26542849852208483,
      0.5438712954597966,     0.6534648091675265,    0.9366397928644904,     0.24959632558445233,
      0.6955069355781494,     0.08747607765195109,   0.4496760092668539,     0.6515312368984656,
      0.36913050836766426,    0.1884121970188235,    0.35484115555318807,    0.35296784884342236,
      0.25069533860349336,    0.9058873429939744,    0.7443484994879821,     0.750346435642241,
      0.7617724756232275,     0.2922607375715792,    0.5466903040314682,     0.8097090004421225,
      0.35407885946174,       0.6348456786908329,    0.4096851448355948,     0.6754014404335078,
      0.8487343259562462,     0.6503887202649459,    0.023939621711200898,   0.0697668884428575,
      0.1932051338234947,     0.07098041071523209,   0.8895455416639768,     0.5970662891404159,
      0.9672124324991637,     0.25710752222232724,   0.2512360193659343,     0.9118588060460109,
      0.12641331224828478,    0.2591745695762785,    0.5354205089164524,     0.9697500651356975,
      0.7039769817809971,     0.9674853015743734,    0.7581464456430004,     0.009967363889854308,
      0.9554403083896627,     0.6514960891704691,    0.9819054955872719,     0.1655400926361219,
      0.6854831617362053,     0.6538109602793701,    0.29197658934366655,    0.7026261377883648,
      0.3361358393099737,     0.593058167944492,     0.3193604213031376,     0.9112331297151058,
      0.7565016778289977,     0.8148016159609519,    0.12956549959331298,    0.8840025203699886,
      0.15092088574069407,    0.20505821088972076,   0.2243079482977779,     0.8559123643624608,
      0.3470255353137828,     0.1316340364530686,    0.6434241700287737,     0.6784281820296103,
      0.20732777369293587,    0.6251808986824415,    0.6394504726870864,     0.999032394532801,
      0.7786813383845239,     0.8636701630404309,    0.0023017909877571796,  0.696449724735671,
      0.10128652819511497,    0.4003153911577081,    0.2469767716265694,     0.8768832326648365,
      0.34089952102337384,    0.11367436364895223,   0.607022940049033,      0.310423907918116,
      0.17692819881508148,    0.893849330155664,     0.4880236414430278,     0.9956660538325679,
      0.6061924103235181,     0.43946977537006016,   0.014921239872288439,   0.463398031987058,
      0.8435515709522923,     0.05922628363397964,   0.9644192036892971,     0.09735680952505932,
      0.338804944299988,      0.122083944069586,     0.5384101447575116,     0.894293825409865,
      0.7951670891521336,     0.3730764160164859,    0.20353695631133162,    0.7561530473263479,
      0.6832856935883096,     0.600988913103398,     0.35514255942741124,    0.8499665948777161,
      0.5804484005287095,     0.7105133890231672,    0.5155572582331448,     0.9580874216612449,
      0.42311501062470824,    0.13594740755997503,   0.5577114428718954,     0.02444976711511415,
      0.6073524946467592,     0.42490323282605924,   0.9560741306479802,     0.17062467593248265,
      0.8032635864461389,     0.4236136037107485,    0.46938391908058286,    0.5712751546570827,
      0.6589700800129294,     0.07547209392481724,   0.3993441495689085,     0.3406978944629723,
      0.7797752606137046,     0.7855007898427816,    0.4117897980533102,     0.6899309686736047,
      0.6962784108609973,     0.026169671983859666,  0.40177616240464586,    0.940360830179024,
      0.7321905293315297,     0.4795568133323319,    0.1987575279476046,     0.6127453916604444,
      0.757610880372048,      0.8914703620980189,    0.10720148213654712,    0.7929011279820072,
      0.6530747492772068,     0.308240250783111,     0.3398854214559405,     0.17318325577009575,
      0.3507555425234006,     0.6115615288020042,    0.6172965474103689,     0.773900176617242,
      0.6826457756065216,     0.6383381900788276,    0.7095117173673956,     0.13989700600187094,
      0.8519068750537195,     0.2514355559461625,    0.44387467049936746,    0.08873576599160304,
      0.6307491605599468,     0.3192212749113975,    0.19105550091405066,    0.5681426912540237,
      0.4852586570071583,     0.6901510334227848,    0.14730516213349298,    0.7377793699206823,
      0.07770239636167253,    0.6353314323740415,    0.7769348461239013,     0.03146407552911468,
      0.881921416148157,      0.5196241210509628,    0.18644631162996206,    0.1800152993000519,
      0.8469011263430949,     0.2044030747533443,    0.6714715606818085,     0.2652006622562567,
      0.16588414879773827,    0.004974429525489654,  0.9421216848976225,     0.8680591840359811,
      0.47536229896418614,    0.9087132127558714,    0.36269836666060895,    0.08994196144024535,
      0.46652965119134227,    0.7635088426479022,    0.7580543424043561,     0.2814576427741803,
      0.703103211229103,      0.030089454512598146,  0.431288495782855,      0.2822540862742956,
      0.7883604392754977,     0.40414295830619484,   0.466555918451075,      0.4449073577848274,
      0.3738360598670297,     0.10771135525719733,   0.11598141083836666,    0.608694960356133,
      0.8076241092099635,     0.4556595939890059,    0.5354984218212357,     0.04529301994047097,
      0.2178671393843703,     0.6882823913952348,    0.865528980527933,      0.19956656357560643,
      0.22844588988154046,    0.46974197301841936,   0.5309853116091245,     0.6839795443783202,
      0.29595752432872535,    0.4532475799120991,    0.9284317401382437,     0.8788823041707505,
      0.2166810902369931,     0.5487203138636405,    0.05600987779157096,    0.3084775342972511,
      0.5393125299204842,     0.37240064437816334,   0.3468973654158175,     0.9350645534385649,
      0.24039614056758862,    0.7402803066693978,    0.08306562891693459,    0.28044191179432376,
      0.8657987335237997,     0.9934355754376296,    0.1270705175053224,     0.6460880715079992,
      0.9198821934593109,     0.6070568194283551,    0.6464985488505831,     0.15197537639099556,
      0.2664357790754843,     0.9231485651377281,    0.5340418003367865,     0.9957229597354874,
      0.8319214218168568,     0.5422138048023872,    0.9699107535181725,     0.4752429518518142,
      0.05408065715452448,    0.412116834384297,     0.6195568540366302,     0.881986809712991,
      0.15550908602876878,    0.7044936352812271,    0.09920603364957725,    0.7458878830244886,
      0.6374540922492773,     0.41588511532180117,   0.3429122583047075,     0.48188295150668603,
      0.45953260031670007,    0.47601109541209097,   0.6130040691925399,     0.37050149227938656,
      0.6783163427743601,     0.997835766092076,     0.3119262852356456,     0.41049362892379715,
      0.2871220882198977,     0.08075775985242728,   0.646921181653617,      0.8765279657302582,
      0.23805860015263158,    0.712917806978227,     0.7988705300739493,     0.8923433911728404,
      0.42345599054528416,    0.18133583214691362,   0.29445384375862804,    0.877237778478381,
      0.4062427754927561,     0.39792110919390933,   0.5595455188757487,     0.9451098578780788,
      0.39714743857270696,    0.1710267066560992,    0.26824919626807686,    0.9956553743600529,
      0.9283196879255161,     0.07718521227499053,   0.4612312284809391,     0.09342894139926139,
      0.6584945035502988,     0.7224986788775738,    0.980272950501206,      0.7600669820648661,
      0.6208086249350163,     0.6086644042782733,    0.48308153203364257,    0.660326199954179,
      0.9276878850610732,     0.8633830105539054,    0.7962187452157085,     0.9194747290923341,
      0.16231806206359722,    0.9499107963424789,    0.06252948055080076,    0.886862482313068,
      0.5294739865073963,     0.7551343176832722,    0.3967203263856607,     0.3205093213479737,
      0.11273108728145032,    0.5400172007465541,    0.5463584941018298,     0.40902420190783784,
      0.34753173597357556,    0.36190947502133863,   0.8449872186646363,     0.7122210627434624,
      0.9946162402041455,     0.9132488211351393,    0.876847448826782,      0.7803556977166688,
      0.9356233374490821,     0.3252320637795516,    0.7962997602423394,     0.3947709697277736,
      0.27607928050158137,    0.9617201147257819,    0.6892430274739247,     0.5706639923472847,
      0.8567674143010484,     0.759254344754482,     0.4640661001028902,     0.849388861265472,
      0.915484880536155,      0.6803950008264036,    0.2233794778069803,     0.9322812689951643,
      0.6255594311375979,     0.8293069490130799,    0.5363731200101739,     0.22248705406746683,
      0.03548460537717968,    0.5681856389695299,    0.22852476978776393,    0.25863174388684307,
      0.8597279049431693,     0.7032097750280445,    0.49225726322638097,    0.4614451564658706,
      0.40804943937105376,    0.7560063316576442,    0.2990920309244123,     0.36319226695497175,
      0.1658941783846568,     0.9423775873373108,    0.33575270283571046,    0.18716742670642605,
      0.42701655041668696,    0.0062520852671191784, 0.9121308724576324,     0.5179750346926351,
      0.13397622219055638,    0.41617067939349794,   0.22602489432339978,    0.8549501299106076,
      0.34313173874115677,    0.27630233769563395,   0.6506926207027762,     0.2534847525768975,
      0.9379397622811656,     0.24893248547242908,   0.25003116137255343,    0.24185977400785785,
      0.035595161608137915,   0.43731034171619265,   0.9865984103159812,     0.6692875029221403,
      0.39193623341329087,    0.8149634125086003,    0.3685145118514238,     0.3321064154658263,
      0.8821130091244994,     0.5126819098142537,    0.7521217015064541,     0.2490810176728513,
      0.7473789792510476,     0.1377191248691576,    0.8731112905545552,     0.37167076667157495,
      0.2018551847032306,     0.6391343316493395,    0.6498829810818338,     0.5095016824529556,
      0.12411368836434056,    0.6857165595366345,    0.728389597919631,      0.8384343918540044,
      0.13893416384908752,    0.051156043086339476,  0.3945522835366221,     0.7021774315180461,
      0.9664029679637711,     0.8937346328630393,    0.457178494165455,      0.21522711616193102,
      0.6336352979366736,     0.26726767288419706,   0.13628950637506665,    0.8252202343876291,
      0.8953549328626846,     0.1406626559991494,    0.9727894305213565,     0.13233188045808586,
      0.38048680651099376,    0.8619913912534997,    0.2680556820317197,     0.26289459991228925,
      0.7922081914968131,     0.8526785089625418,    0.23177886240082834,    0.5635282170289971,
      0.2942218688725433,     0.9319828382613095,    0.36720463922998925,    0.98388126028702,
      0.5648451215100978,     0.9973939542919464,    0.9896063503276095,     0.6678758243457174,
      0.30974219900139965,    0.6138943763484822,    0.7659247094960486,     0.7327510716461801,
      0.4580874332818764,     0.7148855948300462,    0.3015210526811154,     0.3193783762708463,
      0.5729194299390246,     0.7009199288239003,    0.1498401214370051,     0.8024617709837892,
      0.6546582644003875,     0.6992573312662181,    0.6233980510220369,     0.2816126619003816,
      0.9722556402827515,     0.8089546292787112,    0.8228667190501502,     0.3965111409530997,
      0.21891778563745656,    0.13706461948658555,   0.4930115559366377,     0.08061879901104274,
      0.9723893757331308,     0.09685347646885045,   0.35444636370166327,    0.054297663446587596,
      0.2747322224417924,     0.24392971152181964,   0.18653707247554163,    0.6059851654730029,
      0.6831785302075528,     0.36331807826529416,   0.911774786154115,      0.24997575428215468,
      0.6786094473828951,     0.6104874988450785,    0.3031168390839635,     0.410700724383396,
      0.5441503499168883,     0.6307108716552837,    0.7790601468219183,     0.697505254353997,
      0.9685361200100565,     0.2817021433162583,    0.11693715636983493,    0.5124421281724756,
      0.5381636229756999,     0.2826808604940013,    0.06584110328759119,    0.5204186195482896,
      0.3163423828270894,     0.3494352418870309,    0.875103991061865,      0.008370670187697438,
      0.042207344779274125,   0.06946350667391499,   0.7652448085238555,     0.8849312566549212,
      0.21916084245243994,    0.12139915967065251,   0.6864097172319,        0.9174864218121146,
      0.707314017888608,      0.46782580051186906,   0.449272860553954,      0.6218540956306559,
      0.4832808027986517,     0.6734352802484965,    0.09801798837998055,    0.7656392694188594,
      0.5803233074672121,     0.016925723804065762,  0.4280916359177751,     0.759272753065939,
      0.3546974115594703,     0.9730373850561599,    0.2938207533589179,     0.4717204342156366,
      0.760910396938359,      0.2651220337342728,    0.5942567905334719,     0.6481821197668466,
      0.2895714547071302,     0.26823150371057913,   0.5449562468235388,     0.520914828762417,
      0.5824006220574875,     0.6943794810741687,    0.5902701522923899,     0.28597743896497085,
      0.6906386637349428,     0.41787531512303433,   0.38227786476971226,    0.5300921568839477,
      0.2857412596573464,     0.6242493428037001,    0.15299829554197697,    0.8562897909007144,
      0.16292018821779197,    0.5840137481432885,    0.0402405580781926,     0.23787132538690514,
      0.02776599953972303,    0.11692608239388758,   0.288342139829152,      0.6706689963111256,
      0.2839947727752087,     0.7475480285762276,    0.03851000884593336,    0.10153799408455466,
      0.14982167863718432,    0.3834776944894259,    0.1975377435113611,     0.6118508790784729,
      0.9680924500451281,     0.46467210253689606,   0.09010588274027209,    0.6136328993397414,
      0.25988950283817835,    0.38455137915690174,   0.9271848868044517,     0.22389518132293573,
      0.04571433156010063,    0.4132690224056872,    0.8095602899860317,     0.2004302755831857,
      0.8245073000661697,     0.4025263860553472,    0.4360528711995313,     0.7644179539602122,
      0.5282084404936749,     0.7836857694796493,    0.5285920916618999,     0.32404378742603523,
      0.07969461980030712,    0.43825279850385856,   0.3910540496216194,     0.18601781392486605,
      0.23184017385286504,    0.2023338017648867,    0.7205492578820715,     0.46163607994538014,
      0.10564143426524919,    0.8560466828351337,    0.18314823447283957,    0.8790698403280611,
      0.7235404635750523,     0.5700427190537816,    0.663288944624978,      0.20529307657969187,
      0.025872315445884086,   0.26585233191055013,   0.49916586962692366,    0.7745665262881396,
      0.9627762879628154,     0.2063350190884421,    0.6834666446671213,     0.47480586450535844,
      0.28448716214382685,    0.18825684592312497,   0.8325226059057012,     0.6286561310639678,
      0.1087577996666701,     0.6207378740918625,    0.4104288522350794,     0.4108005415293736,
      0.9696660955122183,     0.11915598038634478,   0.8193173491910225,     0.2746599332463444,
      0.6098656218024554,     0.9292887066073673,    0.6142569905538732,     0.05766198666724043,
      0.2891271226686991,     0.7332286872225152,    0.8408570347410926,     0.12660806202788155,
      0.5489109956266367,     0.07599553849100638,   0.9426092890379096,     0.24765591006824883,
      0.08682472760964643,    0.3047969726136577,    0.1583511693504679,     0.010906917670314709,
      0.25896069702163316,    0.944522556205986,     0.06234151012262623,    0.07594537970249937,
      0.16105869616486723,    0.45356629802200643,   0.6374632663710944,     0.3001914280312634,
      0.3597821367694215,     0.8925621967245283,    0.5858933471277528,     0.07241246235730059,
      0.5227573031421745,     0.826769449555715,     0.6226000232785439,     0.5007372389529805,
      0.6254709820295706,     0.923561320563299,     0.5797200818087839,     0.11245274382307002,
      0.8040764735441351,     0.03714647611264532,   0.05933763519542601,    0.6553880446377699,
      0.9868084819068811,     0.846601969915844,     0.9912595685257292,     0.5411967110606196,
      0.3194458019544081,     0.28503696973115,      0.940558947933651,      0.015463034936463949,
      0.9542894277531666,     0.02249221602169349,   0.3513696995287743,     0.3965583453713156,
      0.6480682314401847,     0.04238822866653824,   0.09266875642374328,    0.7134561008482744,
      0.7814274812633255,     0.09770666780296278,   0.8599989901279588,     0.971347798540542,
      0.5212471557348936,     0.31747991512880813,   0.1450807372463252,     0.65117620072487,
      0.9083013925754693,     0.4222592379453515,    0.6905458283758098,     0.01975954713367367,
      0.3018825082636548,     0.3989451876225656,    0.033855521484832285,   0.25926813158625406,
      0.5400023479033437,     0.7352796709581246,    0.2863491137150781,     0.3993791960463924,
      0.26115064828523893,    0.3261317553000693,    0.41279615227638355,    0.09280822785115939,
      0.39962864076829185,    0.0691091881928031,    0.1099761175200129,     0.37020732327571115,
      0.47322203903962057,    0.6020481442203578,    0.2913197256907183,     0.8480503658447193,
      0.8369212226762754,     0.2159265533102135,    0.2040596933892561,     0.06270244678302228,
      0.30482629522564386,    0.30300441826102287,   0.10545107458851533,    0.9884500735278379,
      0.8224121625418398,     0.9606029349645083,    0.8137241016430465,     0.12256305862616801,
      0.3994648845872275,     0.13611055611209455,   0.3738234989638656,     0.42328184892804965,
      0.9544277910360667,     0.8602725531268285,    0.708119222125779,      0.5581734247006436,
      0.6308586413059186,     0.060826386546066535,  0.621321063968908,      0.8521662217677738,
      0.4581651056279984,     0.29113686416864226,   0.36072087688611665,    0.04325286466960776,
      0.5830232688027613,     0.36606945453901496,   0.31953469940448864,    0.4914081079298772,
      0.6417067214650192,     0.8435793516150908,    0.41203235803708327,    0.4704391766670645,
      0.7394040219384242,     0.13060880814567233,   0.17040717390092686,    0.07174560642273808,
      0.6625377359225677,     0.6025236807306683,    0.8800347546510215,     0.8617598458907858,
      0.8344530020929027,     0.34794343617049683,   0.012617908061536953,   0.24343754932350425,
      0.5029522917900464,     0.5709632194339286,    0.13859388237834847,    0.6036266706759434,
      0.6385922161244988,     0.08416762540551215,   0.9756385479332002,     0.02840231297593976,
      0.18962846029883196,    0.7663379017587776,    0.33597121615285286,    0.21157564433012366,
      0.681081775586533,      0.9639938724568192,    0.04278878227784799,    0.10497675111970428,
      0.2044066673074052,     0.7811112368170888,    0.7592405724946069,     0.9022518225287105,
      0.8772158453470777,     0.6456587085569585,    0.7197790789091134,     0.3039208514116106,
      0.5019971797043902,     0.8450484251992039,    0.31052008957605826,    0.9093877796634839,
      0.5703807373291514,     0.8825570205508473,    0.9302426324219213,     0.5410206187846938,
      0.02754354153544869,    0.3058589283856108,    0.9262969126813804,     0.8178829845848371,
      0.47457588199265455,    0.5186260420566258,    0.24145499687714422,    0.03303822455616745,
      0.3348919328070018,     0.3556239273348505,    0.7599882333173726,     0.31110488751399223,
      0.3117440864080102,     0.16944818831864428,   0.6417638090268055,     0.23236349580680038,
      0.34587506485912056,    0.971536990155157,     0.3940709548855814,     0.318828670016601,
      0.0648933258955775,     0.6832368804711757,    0.7001761872175356,     0.8929530106971526,
      0.6065172313437823,     0.7909968577662695,    0.11683051975031034,    0.7070988588976426,
      0.8471864001611398,     0.11578590196345606,   0.3780528252661348,     0.9625045931257172,
      0.638938863378801,      0.8233951066669498,    0.8385351425218545,     0.7824515461131216,
      0.5263191463937491,     0.8028713395585221,    0.5625443352568897,     0.9872417926766145,
      0.3681408361637485,     0.8846904840847047,    0.26192715803387,       0.7632130339005606,
      0.6292201295843374,     0.8353086549751415,    0.43072615273592507,    0.6299852117578107,
      0.07623559606686936,    0.9200085390206806,    0.7842562196034487,     0.1959979896446249,
      0.016376131571457675,   0.28265288649826603,   0.6861428381734898,     0.7076968226853629,
      0.7119703873874031,     0.5306741901401327,    0.4220208590103546,     0.7947033412160596,
      0.5151485053643317,     0.3972058702127157,    0.05462822465266903,    0.9877359986860426,
      0.8798662117666064,     0.5505568449033837,    0.40553513014245557,    0.5858695579179326,
      0.08895043292653859,    0.6099264183012664,    0.008441314642171793,   0.9760493177766492,
      0.9613678249547101,     0.9441676049064263,    0.8214246003169379,     0.15584451755630535,
      0.48076835271245866,    0.6035024949020215,    0.37612498047889287,    0.5799200401584894,
      0.302084172353971,      0.9265083065612753,    0.29098565888689487,    0.24602687393655698,
      0.17426263173097645,    0.7501661287022459,    0.41162147864955323,    0.3868646027379613,
      0.1256639886534533,     0.3813662077911856,    0.9778206599687802,     0.45455850729819236,
      0.1053539762985487,     0.3862350707804897,    0.9920370708143132,     0.9459078484251585,
      0.4436734813563835,     0.8830642404597325,    0.10166965940626216,    0.4025768580854986,
      0.7772630634910311,     0.12323142023199984,   0.45824203964740673,    0.23243528127384294,
      0.6578826604427969,     0.3765290956320032,    0.1199617226242986,     0.22675296032919734,
      0.5968539305969898,     0.4005983511468866,    0.715752364949822,      0.3128140640026855,
      0.4494720523772502,     0.419991467540507,     0.2731538167729105,     0.502086594317894,
      0.3094183489498403,     0.7552780010454833,    0.8805577295149887,     0.902189146147546,
      0.742954772014594,      0.9781813303477034,    0.6363166483167275,     0.3725438257403427,
      0.5120983390279673,     0.9872115141031088,    0.790564840505096,      0.16139999953510809,
      0.5981465436960732,     0.48790510653037156,   0.22935582142949718,    0.07371614277372229,
      0.19509813591282787,    0.1840965142883928,    0.20431153425451687,    0.4969302291390366,
      0.959140169330124,      0.2683435899702894,    0.9031893362312581,     0.3687029098463134,
      0.03620141355461626,    0.38881221139540645,   0.6753349209801678,     0.41152602910201375,
      0.0052301830419607676,  0.2863106714133702,    0.9992699446336895,     0.5659708014679586,
      0.8456850748575278,     0.7421248690482918,    0.5586035143499297,     0.8794148465102803,
      0.45707397600309463,    0.5541658388396462,    0.16386096814897566,    0.6592858371803196,
      0.6564806733580074,     0.8010196200791545,    0.6279639188224753,     0.2031856641673151,
      0.6458557703550399,     0.9151545829474347,    0.8769786758299422,     0.6799180659849733,
      0.6904471817906085,     0.23228805280446052,   0.6000224856943689,     0.3033046816911986,
      0.715991163634202,      0.32302123066508803,   0.5859542166483501,     0.5390683057467652,
      0.6875983398917556,     0.37324507167224097,   0.8686317365735977,     0.5818381906408095,
      0.7710230038037504,     0.8764752631082748,    0.515242166767882,      0.12610688056788477,
      0.3145630456262617,     0.13012984233586966,   0.7414249298066473,     0.815210289604652,
      0.90905210927758,       0.40423585066392786,   0.142438698726981,      0.59167598593775,
      0.6689854076381082,     0.3206711453776283,    0.7272396974165417,     0.8345578978997291,
      0.07672547710487265,    0.6434193235607697,    0.3087203445341079,     0.651369014143892,
      0.46951534551298835,    0.30502054553689417,   0.8437561055455536,     0.7924896011797614,
      0.3664547599672989,     0.8317041294688604,    0.9665712425143648,     0.0528305184676503,
      0.42771418724822874,    0.5206491406449003,    0.12193005095900578,    0.4697342463508719,
      0.09725307745032208,    0.35966530333572944,   0.7915871678529378,     0.21241115265506227,
      0.5366875174680859,     0.25023860092547445,   0.421005615630762,      0.4256991973898384,
      0.6986680430026889,     0.4710757414192256,    0.9811204098637973,     0.2583935201252616,
      0.9095401812853682,     0.6937367869104578,    0.37541234022892944,    0.12262670586598434,
      0.994332061313041,      0.7990247671002593,    0.10245145295586389,    0.08550967457652403,
      0.10042039847600326,    0.40650226458438943,   0.3226490169437305,     0.7383812349137626,
      0.5422736648704087,     0.2049997570656822,    0.9508231734138662,     0.5776571135926977,
      0.9805809124988424,     0.5965730283331564,    0.18099114349409262,    0.5201657020789454,
      0.3114135281665332,     0.7884053455933022,    0.21162100753327995,    0.6096628526066536,
      0.7786818515772684,     0.6306164268422206,    0.6526082550782316,     0.023776793523503148,
      0.727388103720703,      0.9474420794921771,    0.003255341526218092,   0.21311983991759342,
      0.2854201373436912,     0.025128788509482858,  0.3997306435338569,     0.12942599790128517,
      0.4193927666504138,     0.13846417764974062,   0.9002683982969045,     0.4192267650843825,
      0.10688797317660048,    0.8968779315227644,    0.09357801381969166,    0.593435488229436,
      0.1615617507037027,     0.3969104868778146,    0.2058168097911255,     0.8300275718594782,
      0.7133536924772892,     0.8099949020241295,    0.5971023657788384,     0.5047962655945608,
      0.4948308954480757,     0.7002644892137885,    0.6456106033965258,     0.3756926613839967,
      0.4182245496265845,     0.37524631154075816,   0.4190639562169405,     0.7083014940847334,
      0.4869688244503334,     0.1829384027232731,    0.05683992393624493,    0.6721339534854102,
      0.5140657078896878,     0.0009040149477490544, 0.7280619391959026,     0.3712765579804925,
      0.3807863333053648,     0.06030370411166375,   0.7489312687602148,     0.13619860548171914,
      0.30491461196827496,    0.15709812233775566,   0.7427612714485209,     0.4200114750902272,
      0.47452414939913423,    0.42721054046010754,   0.512269991709128,      0.7839968756026318,
      0.5189604172493596,     0.9678649031766825,    0.7694430117038082,     0.9661851659130114,
      0.11724320877673322,    0.16555987123424643,   0.7659982845287457,     0.8397851933122642,
      0.8308141524759082,     0.974514522674073,     0.5888823552385681,     0.6015497511834978,
      0.33766940452199956,    0.5172169007025784,    0.1151684664937851,     0.09917792697238204,
      0.5060481494154199,     0.6207034439235293,    0.3015730812304874,     0.7350401881896099,
      0.8745082574081339,     0.12569113600408566,   0.33003765531415297,    0.9538674588418777,
      0.16196141155248933,    0.9713885889181488,    0.8649598840900669,     0.8189622870992674,
      0.5981536968459639,     0.3375690293755511,    0.15780833091803836,    0.4688922374638951,
      0.6809653067294745,     0.8099489346942302,    0.9397818624567011,     0.2208160269515801,
      0.13731709291694183,    0.03399745247583141,   0.007770520790769564,   0.0136079750537067,
      0.08667409124482761,    0.5404703786188497,    0.5275884784108503,     0.6220797998515979,
      0.8949268584833554,     0.06220240112376141,   0.4547565499702113,     0.5616755944201894,
      0.456214811192033,      0.14549587585697776,   0.15705333126784715,    0.8513521876352311,
      0.8555707570987535,     0.6777777182584442,    0.5753792445417174,     0.8092710122108979,
      0.43039805717631474,    0.10813170001182448,   0.4061835414413786,     0.7620290676832067,
      0.9710955949401937,     0.848538152922535,     0.4388449636077072,     0.07822048979791274,
      0.007685888257720652,   0.032468281577470615,  0.04676620436150869,    0.7547309136235593,
      0.8557161437216616,     0.2578097946169817,    0.4414396192494072,     0.40608624202104315,
      0.14065329873717702,    0.19644810328555762,   0.7695470456140437,     0.13664420438195413,
      0.9931986787283871,     0.9715427572974837,    0.9915401647749037,     0.45657463234448803,
      0.26859395150418963,    0.28062277894225207,   0.7828418607966642,     0.8739985683364804,
      0.08575203567051937,    0.41551736379629955,   0.6065216383819657,     0.06172263793491739,
      0.17010506879235443,    0.8864487706687101,    0.6171103631418245,     0.7628600111470007,
      0.210788208367501,      0.5956951636240592,    0.5256402517039437,     0.04064796753551947,
      0.6579871047194946,     0.3968511365349989,    0.6603727903769271,     0.006700832888891561,
      0.5821682715045241,     0.22546133794562584,   0.734471981011275,      0.5390135191250676,
      0.5775081355839604,     0.38847698857575796,   0.8453847336741982,     0.4658590048775938,
      0.941477806709561,      0.2975637512420789,    0.5945939092960826,     0.4070850205548726,
      0.8249067365327899,     0.365635140634358,     0.1403827626894042,     0.45392877256083153,
      0.9623768954201665,     0.24757332720679925,   0.5574796800533819,     0.736642339096794,
      0.72489895136655,       0.7478504406583955,    0.4001746826211111,     0.28816400083168947,
      0.18556235721551018,    0.23141442594983586,   0.3790518688428455,     0.9732520483918374,
      0.25647077127159446,    0.2224949006171092,    0.2831329493595981,     0.011121202826457122,
      0.6181425590910106,     0.43467899935186194,   0.9187154389042755,     0.17237356356419375,
      0.18633908703966862,    0.4458063841849417,    0.3912464854881712,     0.1799738696676394,
      0.425829975954919,      0.939064828155414,     0.13128887350533702,    0.9652928261801049,
      0.3915637445603185,     0.3649603875072934,    0.7271590688509747,     0.13534767083588983,
      0.08817532104193404,    0.9364372076271191,    0.18814363443177118,    0.727429761686807,
      0.9932277290945939,     0.8204972337366694,    0.6334548375315132,     0.628648558317215,
      0.6263936559908078,     0.7832969276419149,    0.8028167340995543,     0.045674747125095005,
      0.7943958091580005,     0.30107941329116483,   0.12030684478676545,    0.8668632578967099,
      0.3626401220761749,     0.07416698248426812,   0.5871969658905604,     0.6456015981458945,
      0.813032797809856,      0.6463180884774861,    0.7425872273440208,     0.8178583750516089,
      0.547200975814759,      0.6297972581993809,    0.6253475045992721,     0.8544965868004621,
      0.040157587010636986,   0.022012759569749574,  0.5641656956003043,     0.8060041308551817,
      0.15623669049953204,    0.7650688260591991,    0.9561747603815457,     0.9936242403254489,
      0.17832816620466918,    0.5425655964854472,    0.006858244863806817,   0.6331805004320914,
      0.4377186829104204,     0.9432754160853529,    0.8283466290492493,     0.1611242045057537,
      0.7127304224124086,     0.2656178802989031,    0.10526616849523729,    0.003916817073540968,
      0.36758966750883704,    0.16178653008055832,   0.205410845759337,      0.34398519008443884,
      0.03173678051946971,    0.9685580908102037,    0.11752290040258584,    0.20097463649952418,
      0.01699043671132916,    0.8259350267817422,    0.4270421810657322,     0.002046184804222584,
      0.2893358209362099,     0.4032794151614779,    0.1551112824129457,     0.8879493926574799,
      0.8828050518790767,     0.3910640017637924,    0.28207238476046215,    0.1453512595691372,
      0.6329104504723897,     0.9356594893434306,    0.8830201378973107,     0.32787900254361746,
      0.7524218897758113,     0.3021357790059974,    0.18880418288444234,    0.8252838539655625,
      0.5677734267472772,     0.29468100398338315,   0.6644797868172837,     0.2345284390740826,
      0.7833541222696632,     0.4622428710965072,    0.8180356085413665,     0.12176541112976969,
      0.584843100502246,      0.2076456133040948,    0.43119125370999967,    0.028992135873369018,
      0.8390508629446168,     0.30494489048984996,   0.6280335683239568,     0.05307911693569578,
      0.8573102056913785,     0.6401741471794711,    0.27379230359133766,    0.645161117163579,
      0.9104097310863962,     0.3315222698376239,    0.5311818367945779,     0.8652131787064083,
      0.05266485162702483,    0.9801456049196392,    0.8704025678050438,     0.4548102891048551,
      0.7721429272543505,     0.3241649064877178,    0.31469187001564736,    0.26334638977412717,
      0.03186660049441992,    0.8468763130656728,    0.19742761055665636,    0.34570779894698056,
      0.6323455327655063,     0.6875167796567199,    0.12259887929079005,    0.0363323122402297,
      0.939543188238221,      0.5489445325725613,    0.3518013616113064,     0.14453563213451215,
      0.5645100414748986,     0.2060199151787191,    0.28922738636034717,    0.5886677026646538,
      0.6672156439868581,     0.8099904763954191,    0.9395220274019341,     0.31919505562810946,
      0.5667026842767869,     0.19415684121677623,   0.4903622602229071,     0.5434191206814979,
      0.39852215448310746,    0.7065311902984609,    0.6081023293754982,     0.3592801531792621,
      0.12116546645226811,    0.5914790317147564,    0.26251860772831725,    0.14464917158931845,
      0.5297961258930557,     0.6478751446227324,    0.3604381026258262,     0.4107232060499867,
      0.3953008268223248,     0.5323642799386871,    0.9563146192752506,     0.7587602314961697,
      0.00027251187538357424, 0.121153316398938,     0.9594212052512119,     0.22759321662521337,
      0.4565702003992079,     0.6702201922004807,    0.36616708105055973,    0.991695561201666,
      0.6951684959011308,     0.6190500620335893,    0.21584536965123813,    0.9312075516725733,
      0.15601909764491273,    0.5179008075031754,    0.8255063490752199,     0.13494994051878462,
      0.9642310090290442,     0.8272333261653693,    0.6366021917962937,     0.6272395345063634,
      0.3602636410876908,     0.940511749873045,     0.0009212294184705039,  0.4377848361798714,
      0.02176286603887012,    0.7769672962061562,    0.782387956693346,      0.46341576437396803,
      0.656171249198167,      0.885971474612103,     0.7242765021053905,     0.08290761159813875,
      0.06457500605283284,    0.15185945222172026,   0.08498716445225962,    0.14438083935346202,
      0.04711043670053583,    0.6778996368590091,    0.12432456118167912,    0.7563736054661448,
      0.873973499785114,      0.1555684810832395,    0.34224996347013026,    0.36172841570411396,
      0.972676126220914,      0.49547019565160233,   0.4529244105540434,     0.9962839176328748,
      0.800125119953785,      0.1738920376037768,    0.18284623538536637,    0.7190213390838295,
      0.06399111697888138,    0.43131888124822604,   0.3345685233817419,     0.6918408961440536,
      0.09191401030276525,    0.6094467690319858,    0.3155152765543553,     0.8511304133976706,
      0.3775476493148492,     0.37718085648958466,   0.5018890912409433,     0.2716755222971863,
      0.9214684748828923,     0.8989643462692504,    0.4649826286370933,     0.11209393856729333,
      0.22266178357086241,    0.7288050076897057,    0.44885240894498246,    0.036118231365422915,
      0.8853099398791242,     0.30371015324266315,   0.6325498537175843,     0.9268946284372944,
      0.574772224567346,      0.9628607169992635,    0.8551770482833655,     0.008154746481042974,
      0.7077596087419412,     0.7718971969298235,    0.17830719702486064,    0.8533683250297552,
      0.30414568345346915,    0.07114972057433411,   0.2633680005183603,     0.23447101218581512,
      0.6559142128080728,     0.3462490453925803,    0.2572834998233635,     0.934642244682551,
      0.19259723052883282,    0.25112809867144714,   0.719306929764853,      0.046652277704817946,
      0.8048231508977957,     0.4035945094394259,    0.754843016228095,      0.44265447223390053,
      0.24163832945686836,    0.3508978652304121,    0.9487337341165799,     0.19954028994243,
      0.7753665058367634,     0.1261038361438086,    0.83914023410398,       0.40628145534635696,
      0.8904822604676276,     0.2052272748293289,    0.46178436950453083,    0.591897140583733,
      0.03771394287310881,    0.34487766607126213,   0.41897458442963253,    0.9070545816314942,
      0.5885735157093085,     0.030665400969038248,  0.5685906497268208,     0.25636706329293135,
      0.16236531729561277,    0.3672592843529242,    0.26167612287900055,    0.9198553184427375,
      0.5501237881758122,     0.9076478851904309,    0.7175677146126508,     0.6348659851182928,
      0.738882198702744,      0.053165947486076504,  0.07685485583976492,    0.4170544035053654,
      0.7530172238532147,     0.3824441052690454,    0.13183659456583174,    0.6946075275422765,
      0.5961802083489254,     0.0692154179454898,    0.28199758977763356,    0.31683855437220854,
      0.538331444827026,      0.8005022089671784,    0.6995404503460174,     0.2876084865438928,
      0.6803895260833673,     0.9614047085146076,    0.4217842196495911,     0.7451619152592427,
      0.022636969868852996,   0.09071007475742177,   0.8257945290556595,     0.8672837704089812,
      0.9135872070709495,     0.4681264936047449,    0.5697319106939637,     0.6892971196577914,
      0.8251242176940218,     0.24268165740736847,   0.08918571417302146,    0.40770710749949846,
      0.00887880468457436,    0.22222523143189055,   0.08802297896712996,    0.04229681129423801,
      0.27951120411954833,    0.3764968275482389,    0.7686805463597162,     0.4401306364653953,
      0.4573791871848498,     0.9550081226207489,    0.7591288480403849,     0.4915536774744538,
      0.205604153132955,      0.134868882715783,     0.48918377446252714,    0.7090594014668168,
      0.6843626683545188,     0.08242553746318204,   0.4642178367053419,     0.23937677032495597,
      0.7309833110928308,     0.6956405719072711,    0.8535413315180679,     0.5446728940069856,
      0.08533491880607769,    0.3944004625683343,    0.7994991032172084,     0.2164477184644662,
      0.7135783586336566,     0.4884831950340768,    0.08373053917017537,    0.5917610478476284,
      0.6674922873440412,     0.35014975370696755,   0.49517124851287797,    0.6613573248279636,
      0.3802171804990466,     0.11391385038906288,   0.8544333398683165,     0.8983031966127826,
      0.6680778169363261,     0.23296680235267564,   0.7980421992414213,     0.513600541684651,
      0.525730009757563,      0.37865528098107526,   0.7443857543743437,     0.32898043690749845,
      0.9267339237232587,     0.3916316623498167,    0.21583244809116986,    0.6108933063764448,
      0.12190382848315895,    0.05795075615419576,   0.18585339493384467,    0.4265454993211716,
      0.7841012401338366,     0.33272396587502584,   0.8534312979592312,     0.6009275803559111,
      0.23578725703009518,    0.8324782123117312,    0.7826363192089726,     0.36174336024410503,
      0.46230743039848843,    0.47376876037061144,   0.3678668010995072,     0.4017431618223575,
      0.07840386621932616,    0.9279892070050552,    0.42793000217781685,    0.9587557377816119,
      0.5263942942488995,     0.22350792178613854,   0.052445741452695316,   0.9908397138466685,
      0.2500980404942075,     0.6829265211588706,    0.11852451787498941,    0.3013589198082067,
      0.8329930182716929,     0.760481752519026,     0.9505592437525293,     0.08324982179541662,
      0.8163606057049256,     0.4311119312995815,    0.0023911672020161534,  0.5746291987093409,
      0.22315561753963054,    0.5084757985483405,    0.9426895664145185,     0.3709217647432501,
      0.5826098985446154,     0.23198610325080737,   0.943977046006374,      0.47921249737199123,
      0.4412200057857809,     0.9476458707861092,    0.045738384280730515,   0.7440122966208216,
      0.5587358512482475,     0.6867640944542505,    0.5441339218722309,     0.22356366387145854,
      0.7911120734356646,     0.3726953927021709,    0.018267589919367833,   0.04969670279331795,
      0.30194420494378316,    0.7617935659252226,    0.03786146595146933,    0.8032907384522256,
      0.5148928437192715,     0.026497693642896003,  0.7562626268164586,     0.24084937566731512,
      0.9900162673871896,     0.5770596352891295,    0.37977057043713136,    0.8054207224094382,
      0.6449681468487811,     0.47661518558967464,   0.6054630496227391,     0.8585937854748453,
      0.010922473849501069,   0.8801276229682918,    0.3842900661568762,     0.302059066968726,
      0.5282769570892245,     0.35696922171147905,   0.45964440944787543,    0.43105541008311343,
      0.266541068882056,      0.1773350480081508,    0.625605513254196,      0.07627923477584031,
      0.35297661206462905,    0.06399992814421374,   0.8012573029771279,     0.5988537160717968,
      0.775179820309573,      0.7868373451818418,    0.5288757403368023,     0.6927594213461519,
      0.9076439953515621,     0.7746089955402077,    0.47985422368325525,    0.5547764500676566,
      0.7754494052083825,     0.7423050553637645,    0.8712909935000541,     0.4295708781702815,
      0.9914003267663137,     0.5892289698919039,    0.07275209414974826,    0.26120918587482855,
      0.1569674079759794,     0.7865373097173526,    0.4572516078945914,     0.6816153429914849,
      0.4239542214959864,     0.891339465192573,     0.9220303240191849,     0.8704793332059096,
      0.8311150077207858,     0.6768975025540995,    0.40411864967994826,    0.9459818123797102,
      0.8453923354042879,     0.05854081503333863,   0.1558983828448729,     0.5223476813940962,
      0.802904691532934,      0.3459328047581237,    0.23543281492526158,    0.17112892107419742,
      0.09439383621100295,    0.015444498324765465,  0.9349297310812379,     0.3205826664760323,
      0.7639851607294579,     0.904151529210235,     0.43898243616850585,    0.8224805696304519,
      0.6096093745024677,     0.07622355975099515,   0.6860819926917638,     0.32974242461211856,
      0.2632632314535682,     0.7772794526938429,    0.20396662442736302,    0.05717543744910236,
      0.9521053962218727,     0.819668916988034,     0.009412243942937826,   0.674833232923555,
      0.5595359880184179,     0.08426763215952948,   0.1845440135798554,     0.17549086921303902,
      0.5671045939097512,     0.6947564656008464,    0.935433974251328,      0.06876677844106338,
      0.716142997612416,      0.8335624602169247,    0.751900542744193,      0.21008292822787822,
      0.5314087389791223,     0.9539426568404354,    0.49432460498496733,    0.7662805473894664,
      0.12067300248409352,    0.9490060225911943,    0.38129757160028743,    0.3304637622494121,
      0.6923925118449249,     0.6763837818953047,    0.31376603445089246,    0.5500136363506121,
      0.9695662573635561,     0.7969621201873063,    0.6622009734643651,     0.9208935437033601,
      0.6345354077323916,     0.5539869805621622,    0.8271605574226225,     0.8381378777363601,
      0.6482903130871641,     0.9121341296999985,    0.01877471354184357,    0.04333833299240708,
      0.29663301105482776,    0.7826167619606251,    0.6260000064979128,     0.022931176394607178,
      0.4702176111712024,     0.34464613773622854,   0.5622233704239853,     0.9308045897435863,
      0.17052869748875965,    0.5380218062477551,    0.8575389690788897,     0.16184626778171896,
      0.19261265882286527,    0.415940048096498,     0.10152831619720848,    0.2557631049165596,
      0.5248283755391164,     0.5727453970128159,    0.8788143445646042,     0.2959781503580521,
      0.43549633487840866,    0.3609061940005751,    0.1909449912841873,     0.5392619410749471,
      0.9567071103280261,     0.30935584991961085,   0.6105278507130479,     0.11064377140205917,
      0.31109553996540673,    0.04125403009092443,   0.34873047660954803,    0.16387727336452274,
      0.4483096419197691,     0.35998169886965325,   0.8856564503011035,     0.6129385575064529,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({8, 1, 24, 24}),
                                    std::vector<int64_t>({8, 24, 24, 1}), DT_FLOAT, std::vector<int64_t>({0, 2, 3, 1}),
                                    result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_FLOAT_EQ((reinterpret_cast<float *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nwhc_to_nchw1) {
  float data[1 * 24 * 24 * 3] = {
      0.5576938179613676,   0.5480679233387061,    0.6417021568083997,    0.6750876516427856,    0.24353641279477833,
      0.9823224495525934,   0.7731501711752171,    0.6953374325865181,    0.3602570492037227,    0.7433939974308816,
      0.7004059077803506,   0.9726701877796005,    0.914153253113105,     0.19895076559790037,   0.11256718369098428,
      0.0022265480498459,   0.012614468166029846,  0.42981846729932316,   0.19866318622083912,   0.6931676652271119,
      0.5259354601865902,   0.8774716463189989,    0.04933882811306345,   0.7554362854591897,    0.24900653579384002,
      0.6817184766496525,   0.46022153322521797,   0.5520332209722566,    0.8967786967807705,    0.4793136280134549,
      0.9912034603665761,   0.0370223139896404,    0.10844142009323199,   0.3323270294507361,    0.27005041666217366,
      0.5502761733796465,   0.32836141278496667,   0.0603131267983219,    0.8811862678452823,    0.9715790422861825,
      0.20690528700779764,  0.24009629432278679,   0.7242783251562759,    0.5567967676701338,    0.9493545988254306,
      0.5527640012764481,   0.20463828478253465,   0.7964892755562489,    0.2724333255839113,    0.14616326216863784,
      0.4662575194407572,   0.1527199695829402,    0.6296157294792657,    0.5936738217081192,    0.44418427285801776,
      0.9640954753646813,   0.16592882093823258,   0.990476417594261,     0.36846030912030836,   0.9859866019657224,
      0.14510035718537184,  0.002330958564625618,  0.2358787856060547,    0.13460757957409675,   0.5270410644078244,
      0.5608551370694833,   0.6744658506273948,    0.9281730412702204,    0.945964541591334,     0.5451854837499628,
      0.45519656900706884,  0.5600342383454875,    0.6893843112155923,    0.05767366375949612,   0.720030390653406,
      0.2673573323323931,   0.19679167663135078,   0.20677275937071815,   0.7533764068311143,    0.45322589140773506,
      0.16132030555888355,  0.4715876236843328,    0.37355093745443213,   0.23481442646444717,   0.0964560448883105,
      0.4316713413341995,   0.1486933723029148,    0.10510210443177692,   0.8613778389131638,    0.07823117805129631,
      0.3254970321441475,   0.36363172551401024,   0.2085993840241619,    0.46320953694522016,   0.041909481052292086,
      0.10858147254244044,  0.8749740701787951,    0.40803137171006676,   0.6945817896285724,    0.15502984464465686,
      0.1644490965265104,   0.42563070985356066,   0.6654145558749625,    0.013508862338429739,  0.04004884332870884,
      0.9014031191103209,   0.18087791778059537,   0.00303398548561018,   0.0038954249311695666, 0.4808668404807881,
      0.8542934622625173,   0.7367959934022067,    0.9896217208245889,    0.25149635186390307,   0.9050016678033207,
      0.17031133805671994,  0.2494715702411735,    0.5680930437476771,    0.954549933820125,     0.2557558871357666,
      0.41318707539729127,  0.21830098176483825,   0.9861938251287953,    0.4672252846267282,    0.32074855054918405,
      0.9196828767636545,   0.4672430576408313,    0.7055647713037171,    0.38979676119223083,   0.0358453349442871,
      0.4017341341400964,   0.383631632999867,     0.7047848728340145,    0.06834239147352672,   0.7616502164965523,
      0.4107587048469111,   0.06595343518235453,   0.5989834812104214,    0.8862218980474931,    0.7927013837463739,
      0.6918854518083776,   0.5545361856803096,    0.736351436409856,     0.5911325727260477,    0.8370808709961333,
      0.6542416800517766,   0.2613787103362436,    0.9904920761291204,    0.2611136415462978,    0.6065738141875372,
      0.31842130537927016,  0.8052245691122532,    0.9653573346034848,    0.21230284391317644,   0.5036101372743131,
      0.5147461408512055,   0.5839095046253248,    0.09263478211668819,   0.47813464137618733,   0.21555704875753656,
      0.2557611178903839,   0.6801750264462293,    0.887653344662633,     0.7150756721261634,    0.3791725115370653,
      0.33115085237976816,  0.7396670803132176,    0.2212103957921122,    0.3443790134865867,    0.7249200847189967,
      0.198746899771007,    0.827802415010975,     0.7983836884890896,    0.36473450549974684,   0.5798915139606355,
      0.26459354102142374,  0.32253490241826444,   0.7454675023371802,    0.14864548914507048,   0.7436637136812738,
      0.7875162903072089,   0.5586611197141035,    0.13444458615243549,   0.0584828568322322,    0.910350130922468,
      0.6934462857903217,   0.7681269695003293,    0.05593434871311043,   0.5944713140884937,    0.2688403266948515,
      0.8149779553107497,   0.4721117833920081,    0.7872139137118884,    0.4767667472242454,    0.49288902255267475,
      0.535368023415492,    0.285442788189455,     0.41371401125823193,   0.6359195295816026,    0.40006884264320053,
      0.0396525318325186,   0.1128901838996228,    0.18928550101259878,   0.41446455995710885,   0.950038806411715,
      0.8969656410445062,   0.4738685767876225,    0.27339773093230824,   0.7896722423559953,    0.11421088543024749,
      0.01579675654776469,  0.6525673934788851,    0.10070832493884896,   0.20296075269570268,   0.9034835925846796,
      0.10616464455460517,  0.8467913390425336,    0.570442903736869,     0.4167239255685742,    0.41551022895908507,
      0.41536471357181215,  0.994852989759743,     0.2513109849484241,    0.10265360872088514,   0.23008445309632586,
      0.9572558290726614,   0.633573216040501,     0.35510350164702775,   0.07832911776016815,   0.554940923788402,
      0.8425244929657464,   0.7547507557346254,    0.7603504216202375,    0.32454656934246384,   0.12844765027072702,
      0.2815142314209388,   0.02176898509566194,   0.11939825073119481,   0.32091865605809244,   0.3157593965935449,
      0.6690397046010088,   0.48941224655962345,   0.623726143557632,     0.1575709812498055,    0.22003985504243984,
      0.3229516294381015,   0.7095236946648049,    0.13607798635337598,   0.44804658784405627,   0.6310339935297161,
      0.37901062340884994,  0.08598374871008696,   0.6158424915733098,    0.8706905255134766,    0.5386230791292398,
      0.7144996557898061,   0.6356807028139803,    0.4425710876561455,    0.5365983278275497,    0.418779162764653,
      0.9469773008495318,   0.30927187206231654,   0.40936893971458166,   0.548309347248721,     0.8179140740843444,
      0.25667308138726475,  0.49060334690872587,   0.19326779070356015,   0.8626424645173111,    0.7063301594750016,
      0.5119758149283705,   0.8168071724420188,    0.16641329612366873,   0.06754426402085834,   0.40923910723158874,
      0.816499405124871,    0.9634459187238493,    0.8487566728412825,    0.3896457253625296,    0.3301225172106783,
      0.8825770435506887,   0.7402659538376386,    0.26080864555541483,   0.6978130505246456,    0.9847530894291007,
      0.8441762152997584,   0.5256740994874012,    0.4843213425499143,    0.7017503043482971,    0.3591905906139944,
      0.43038245869640657,  0.11348934492273088,   0.5799067477434993,    0.9152388228522966,    0.7600253102481189,
      0.9185955898312771,   0.4871844797098087,    0.008110304658435208,  0.2737326463684574,    0.41937549531706264,
      0.3112662550079637,   0.9097323699454616,    0.7956152302108189,    0.509438821155469,     0.3930555738378564,
      0.04276396841566121,  0.7814793117071854,    0.47911845356231575,   0.9389220865118408,    0.20120685769092328,
      0.7290407441224809,   0.49700650040477534,   0.7567614845781191,    0.46055879064643657,   0.2777255383285019,
      0.6165739435500294,   0.03207769742241595,   0.8953375189380939,    0.6671961409330499,    0.7975276475662959,
      0.30314186832239975,  0.9596376673343043,    0.640093909231198,     0.8436821711164175,    0.1237345548042279,
      0.022886213132301436, 0.250299242916484,     0.7843568303497188,    0.8609937497701943,    0.29284076270596604,
      0.7675030315279653,   0.5631041599341441,    0.24860916694926627,   0.5560400086719663,    0.679972623497357,
      0.6297084257593848,   0.9726350531669181,    0.48577991928492015,   0.36414041461821367,   0.7074466158829527,
      0.30538790875902155,  0.8636898203206251,    0.14009878314486368,   0.41736161076242584,   0.03884685622262596,
      0.6049713928898043,   0.14830629853298138,   0.174040945005705,     0.8394226322869928,    0.23500812773962576,
      0.9027325229904037,   0.07210232833626673,   0.524592542808368,     0.22636793436272418,   0.6058030611127116,
      0.27437111512336143,  0.39057502635271857,   0.3942672946450676,    0.05965904887727835,   0.837149862010498,
      0.46762342221081143,  0.2918591238325783,    0.6197874282482766,    0.606961856564349,     0.25598434684729043,
      0.04034986432833665,  0.6853285787984453,    0.6924920794474219,    0.6199159287396855,    0.5294984766990256,
      0.2497349859377368,   0.8618246322637451,    0.57362010476332,      0.8363347417707052,    0.5663522588730695,
      0.7372789472300072,   0.5282798641981886,    0.19114958847316454,   0.768101200276183,     0.7312494341931193,
      0.9037344787676701,   0.6008521026900275,    0.17757135544241376,   0.697998863172609,     0.270660842170115,
      0.3173567907124467,   0.4408583750989511,    0.9688837432017031,    0.15325240685171326,   0.5873937362047855,
      0.6060192520674768,   0.662708767649447,     0.7479938702505384,    0.036559310251870425,  0.2781731367872762,
      0.5903087296332238,   0.44416396951615966,   0.6364481666190819,    0.0599973686234887,    0.6462328722469546,
      0.2903981867328158,   0.11453030427680466,   0.04898283124047065,   0.6496930178456091,    0.0889054813776653,
      0.6316790255001938,   0.039653072192095906,  0.7935221546263311,    0.22023940332382175,   0.4279605117814289,
      0.20525060803459405,  0.5404833527145714,    0.23717483185086208,   0.9786164402703464,    0.5525056845431044,
      0.5850515639649501,   0.13534554243929542,   0.8898566020334531,    0.9272006593578849,    0.33271341280193,
      0.39999980363972587,  0.6694541951302534,    0.29583524445415277,   0.8389631975404395,    0.17883121234879118,
      0.5208034566041221,   0.8778591814372076,    0.6436522945258664,    0.715961659170718,     0.5162066124785467,
      0.7792030175008168,   0.03980357054734318,   0.28297437515915647,   0.8949085776808361,    0.3025012559871788,
      0.18238528044315205,  0.2496632683186638,    0.43986870620151064,   0.005381997132809846,  0.832457996422202,
      0.3070560150214996,   0.46999899129919254,   0.9674353985309306,    0.3528169416286786,    0.13825446763275795,
      0.8528802875571208,   0.9265141773481097,    0.49222794645391554,   0.816763289811324,     0.7501567103388216,
      0.7030820831074535,   0.14688252055455986,   0.08674132803750234,   0.6804400231686772,    0.5642551096559059,
      0.36407252083885433,  0.8965979777482974,    0.26530479151162056,   0.08833198768361261,   0.694946176773454,
      0.5049743798224671,   0.35322988319400805,   0.5085146662370216,    0.3715996766715721,    0.7636110816368085,
      0.8240197376801905,   0.21947402581862918,   0.877615468813198,     0.31776581529233927,   0.32254310459801105,
      0.8381086608218498,   0.5732121905660629,    0.685007228645308,     0.1264748334029474,    0.01390285801777269,
      0.7470850821296687,   0.7567472028783842,    0.8757581539790499,    0.8160227628454733,    0.31610283349055857,
      0.907322093268178,    0.9137489054962102,    0.10241018294853332,   0.6978352458800421,    0.8560251137039097,
      0.3903715982953918,   0.6894629329539623,    0.024534003121607695,  0.768703697365061,     0.8407068458923248,
      0.04521871276101308,  0.3911478980175912,    0.6048366748080617,    0.02367129352716124,   0.6373792187400823,
      0.05367367526069333,  0.5783021171133504,    0.9085193553173185,    0.3077714610041279,    0.9139449448889625,
      0.8484878574968941,   0.6279264755906374,    0.265504442325993,     0.055705717555123546,  0.41911626457549866,
      0.8182890630399161,   0.1856657129414182,    0.605908791928396,     0.5049329705377718,    0.14795677979058397,
      0.11473188943088652,  0.6800245200790865,    0.0851766335876345,    0.4066331998413033,    0.6083213289049307,
      0.7408546264277205,   0.5917865120906529,    0.1811262015095133,    0.1515139082850422,    0.18245356961058734,
      0.3202506649996555,   0.8347462304916916,    0.5391565304461164,    0.06139823543315803,   0.5556014140682733,
      0.5624966145847786,   0.7975693287711333,    0.4231662930615506,    0.7504475253633486,    0.3783321068312443,
      0.4156346278851234,   0.7615701321627198,    0.4215509767310476,    0.6195024953733143,    0.31028122589925966,
      0.4817147366535751,   0.6450608352745005,    0.848323852071799,     0.14335792395875457,   0.5794559042167301,
      0.4694763662956777,   0.569959697175572,     0.44398307932725645,   0.7516506165708773,    0.8326804416539675,
      0.3386896839514363,   0.4838291003934557,    0.7881931631320024,    0.9947910463626235,    0.9379908782009793,
      0.6250101717036214,   0.4295650024457074,    0.11489890753723331,   0.8150438598132201,    0.46668569716119923,
      0.10687123028889634,  0.8322242767985054,    0.1683570545191131,    0.3005593571845695,    0.5141109538083758,
      0.38481488230328686,  0.2790369765995646,    0.101622534940505,     0.21198524988541256,   0.5618268632620098,
      0.6020576478139832,   0.6861363838530093,    0.2506744442166098,    0.862875834352914,     0.515617605529789,
      0.5774223878377291,   0.44412999428852895,   0.7871540883141954,    0.039557168583882696,  0.09303719406445532,
      0.6186809320638805,   0.47547710684047406,   0.6365615446012882,    0.3635186528606992,    0.5404640956394502,
      0.391697345346507,    0.24250401036270308,   0.5173064771408595,    0.6276038960866358,    0.48087219344337306,
      0.8595156094358232,   0.8384240955628381,    0.8664804169889542,    0.10311625824407467,   0.15117205862777972,
      0.2842565683987759,   0.4313108920421431,    0.6859166896968107,    0.8708403014819337,    0.9238740143377883,
      0.46096307835937356,  0.5259228242606849,    0.20687524999638973,   0.7628475477918988,    0.2355911329326772,
      0.15255012458685524,  0.010532812497153099,  0.7287022892124747,    0.5427457659655633,    0.39110174343301596,
      0.5628813409165464,   0.8640947828253543,    0.18687012766308642,   0.2208727363386015,    0.4023460735613871,
      0.9953633859063187,   0.9843585772801463,    0.8152799497172286,    0.7336318791938153,    0.8585384885791164,
      0.22226454850151056,  0.7412558552103334,    0.09585638221818615,   0.09327791456333101,   0.21084765923063864,
      0.700121735075444,    0.540143349882634,     0.4907451177552751,    0.9457904755937173,    0.5557027424836565,
      0.40601299165301985,  0.8741342123700807,    0.6043822127088522,    0.38880973678461517,   0.2913965400017039,
      0.635045386209623,    0.5584246149451094,    0.3590258586858043,    0.11895408520648643,   0.10807602415016127,
      0.9324394591487412,   0.21412622156242278,   0.18275262543142878,   0.2785720549608761,    0.4168915541552838,
      0.17402817591505615,  0.5955109224024612,    0.6860410428994667,    0.2015937407328915,    0.6093048651358479,
      0.8362971024617537,   0.8849118337827289,    0.5579648244813307,    0.1604197275319652,    0.377331907017168,
      0.48923170302655916,  0.0015534694918136749, 0.3377638457595308,    0.040295444090547194,  0.16683864032852347,
      0.5086224074379112,   0.301895126385361,     0.0380164358652878,    0.7761068172424201,    0.7161338480188987,
      0.03511408488081447,  0.8458824121077834,    0.6212148954455755,    0.4807109372544841,    0.5825144300241644,
      0.3252230173406172,   0.15151664214217997,   0.31379789941978886,   0.5859846921828898,    0.10548618728899939,
      0.7799327059130073,   0.5017178396499485,    0.6302059258053215,    0.6462918881194284,    0.037315649813791096,
      0.4131988922704686,   0.5496040687131041,    0.5815118195729374,    0.9333959432119138,    0.5606280619195357,
      0.10529898355514655,  0.40858542505531903,   0.2622984173231212,    0.14560109732536652,   0.09631357136150354,
      0.9533428464170677,   0.7821128845752052,    0.087564812497272,     0.6927678723431243,    0.3908157894176354,
      0.12769479893109448,  0.28670323747922943,   0.32053314608704864,   0.5944289290157524,    0.918328531851499,
      0.7690452018739381,   0.1504256727793163,    0.9181276962383033,    0.8676929204814569,    0.8245058563795197,
      0.22471326407596626,  0.020209696387830434,  0.28398136463137413,   0.8742061750012948,    0.7080830488792054,
      0.9427807014726228,   0.035691735149414594,  0.30867899872761073,   0.8079236541236925,    0.9830142838917029,
      0.14378068100085928,  0.585802992322683,     0.04618299224281264,   0.906567586147243,     0.6431029480572278,
      0.978991611793116,    0.3927665003335742,    0.9852044970284112,    0.90920549543672,      0.9916129484423926,
      0.33240595005615725,  0.9641936713436415,    0.5415271388101568,    0.386704376120808,     0.352173417181341,
      0.12689054054302085,  0.05460816935049695,   0.02749063973513044,   0.15320500124098402,   0.05589652047614602,
      0.671264386437005,    0.690019196582955,     0.9792882505670737,    0.32074385906006564,   0.6785067283721109,
      0.5650652839468214,   0.3323412691373995,    0.33346421693887085,   0.4522524488689421,    0.6222518184003937,
      0.2796375762118375,   0.08701083613219196,   0.10327769425645661,   0.42199350041600436,   0.716345677249626,
      0.7478402622044948,   0.2699935286819868,    0.5839245986158135,    0.141175087073799,     0.315394010904003,
      0.40122325862538133,  0.13567435950327245,   0.6302297688265931,    0.13032245945931542,   0.06388400985569753,
      0.06165112274849838,  0.00256671520725571,   0.12022737044113196,   0.7570811347298088,    0.5869283108488538,
      0.04865807065818539,  0.5279310747451385,    0.5873285471779122,    0.9346626555052675,    0.9355999029242515,
      0.8488560464150674,   0.25035821705527694,   0.005502195322430903,  0.8061332855050097,    0.263615164003856,
      0.15228560281857328,  0.33938585999470916,   0.9103450312680861,    0.0024754880413346836, 0.6884758620551574,
      0.0822476396562889,   0.76205750363049,      0.8172347973442694,    0.9214016455934766,    0.06309530860411938,
      0.6477500880815694,   0.5471141631488152,    0.34430528503769187,   0.675451984773968,     0.050092295886368765,
      0.8108396869466088,   0.5223003594325687,    0.12916099885366905,   0.5944367076434868,    0.15458609355946118,
      0.09350772631506876,  0.6759427595358818,    0.43259107705555877,   0.4128426881984989,    0.873314370429706,
      0.28851810307018777,  0.03426701049550318,   0.2835014145918603,    0.3838462692063309,    0.1114557011437497,
      0.0647251610020978,   0.4657950297766186,    0.9034110226366754,    0.3257198707861738,    0.22707077383985486,
      0.6238078513067472,   0.1795620365862599,    0.8502192712624803,    0.6339993330568727,    0.07541607354608881,
      0.3677973310632141,   0.1017850925706153,    0.7292249395583527,    0.13403602141551874,   0.7574287993118725,
      0.9902209094287545,   0.9530360146704632,    0.4855538696652342,    0.08944953657777999,   0.9826440640203283,
      0.0993780068507144,   0.3673644605674675,    0.42089152977923683,   0.7840823982240984,    0.1642628862370007,
      0.42180479050443176,  0.9062905450373338,    0.11299431248688241,   0.15720226657930703,   0.5188575412994682,
      0.4695447110816021,   0.1891201711835082,    0.07931477242460494,   0.2869951115264081,    0.5353614977912917,
      0.3302454137917453,   0.7582745052506809,    0.6288357150342787,    0.9683115424644188,    0.47703270425834443,
      0.8147188655365647,   0.24089419521054534,   0.42683269753999564,   0.09049937046097911,   0.5221400082332656,
      0.25422858972984796,  0.4428874994360409,    0.6263972136839191,    0.025660370575602554,  0.9941624285613735,
      0.45655675103301285,  0.7868622372963548,    0.47490144756023966,   0.03623782209981852,   0.23858764239770813,
      0.792905409090189,    0.10528149339125581,   0.6938787595875271,    0.6373109153860876,    0.2369904707552496,
      0.2535497506022084,   0.362784258536637,     0.8871970275709483,    0.5371714185957712,    0.18612006988393281,
      0.3105201870093366,   0.6431145666956772,    0.43510833638726243,   0.8650306308730747,    0.6647676364679233,
      0.3671635077914902,   0.26975405692122023,   0.5513817267954401,    0.11409342083819618,   0.7401906890372566,
      0.4543637222307828,   0.11234212817124256,   0.015236741198945358,  0.2718008029139152,    0.24775037353256546,
      0.6932025352071033,   0.35994464028232376,   0.6212388268713533,    0.2353715196443774,    0.7056842331140273,
      0.6281062349165449,   0.8990410572378255,    0.6150478247355882,    0.14983193641298098,   0.13175976405917256,
      0.052748374640018136, 0.6762103626227616,    0.8299117018175071,    0.8940709299691674,    0.10448467671854955,
      0.5854392560620701,   0.9869207117898028,    0.598250699186468,     0.09941022297908908,   0.6428387188696808,
      0.6938074993804616,   0.49345606955707433,   0.10564621295462462,   0.8730247668913396,    0.5693111552840876,
      0.6451107754618787,   0.8268479077193474,    0.6109414753717066,    0.5642582138462809,    0.9972427087729138,
      0.6210232613493811,   0.5919936865559303,    0.5191046008923272,    0.12187375071541129,   0.23663160371727765,
      0.8911388789395779,   0.09170073062022499,   0.9151169937896009,    0.509264551627256,     0.6775185133293696,
      0.5807847949216597,   0.5049738483313311,    0.8926164238380273,    0.9055894805021459,    0.3087999310101207,
      0.11153600376557016,  0.5216542563502468,    0.7752137734199523,    0.36336189612943315,   0.578729717420777,
      0.155536036963988,    0.28575020651201066,   0.734142200046549,     0.8352195411494564,    0.3006161153901252,
      0.3385247520939818,   0.629649706648176,     0.4751978516601386,    0.046652306728973136,  0.1939043713632571,
      0.25762053965235965,  0.5827420694536557,    0.7669274996476307,    0.8259088244580408,    0.7131797928316381,
      0.11693237140089863,  0.2996039384723006,    0.8060861134326347,    0.9811994408643644,    0.9168704216696336,
      0.8332240607025703,   0.8081707614206302,    0.8741744876565002,    0.06749958945821999,   0.1746768750613229,
      0.4619743507528482,   0.516280600505945,     0.11924956852409285,   0.7190526080623696,    0.7492979599727628,
      0.6107457676123809,   0.43764245520627065,   0.39770626841941925,   0.5994539427198272,    0.029650825870803477,
      0.43677939717333114,  0.7269927062916417,    0.9399851529255545,    0.4170048577307417,    0.21157476325939661,
      0.1719914610443789,   0.4824712574759782,    0.7019666424206221,    0.29969992238435406,   0.5524848644926086,
      0.5389999399640987,   0.13512016024776252,   0.9193314618277667,    0.9060064439328889,    0.6519346860670783,
      0.6803898392289517,   0.4356093165139081,    0.04216471446744485,   0.38598035373059003,   0.8690026759179446,
      0.529699047649506,    0.9906048951292297,    0.8222557998599189,    0.8936486293424404,    0.8370374083834665,
      0.07222599597929102,  0.5614875873690469,    0.6866355448825368,    0.9189440327960383,    0.38854122489677667,
      0.7472313769107196,   0.009679487835292266,  0.42965353004741547,   0.4961903042881499,    0.5197248295836395,
      0.20866020350533698,  0.971688128137546,     0.3812919886435633,    0.8442419283811183,    0.5035567916576319,
      0.5842646327860408,   0.751957287605275,     0.12934923846644109,   0.9048431033119261,    0.6247835602850056,
      0.6663491618485525,   0.6191447480411455,    0.38868231376485674,   0.16429514721037275,   0.047048187901140404,
      0.1347824186806431,   0.004461437904420995,  0.9762230649248507,    0.6635426573687336,    0.4755094707753683,
      0.08415024415060357,  0.6146381733545787,    0.3487710412736914,    0.15657338996981707,   0.4914780532252889,
      0.7186224430800245,   0.47278786793745786,   0.22586533734423897,   0.1388136048065316,    0.9421248651798148,
      0.18687021665791048,  0.886751975525458,     0.27210373932980336,   0.1871193534007316,    0.16936019822848425,
      0.9304125472360207,   0.46427170052831335,   0.6327522727545662,    0.07545431142174563,   0.2887757304460784,
      0.635380555069413,    0.04655276242142847,   0.29264159982594307,   0.40152844863600323,   0.5698289275272337,
      0.48230928722272504,  0.5114169171284336,    0.22789767714751497,   0.3825012877262921,    0.5185614672521711,
      0.1737430953954605,   0.20581048451737827,   0.04940680888298521,   0.058372511339505606,  0.36888096201496545,
      0.5927527420448586,   0.6294706430315368,    0.31310297106149565,   0.004081843984338196,  0.07647535710909648,
      0.9227331395115886,   0.611581049519875,     0.22245198307387348,   0.14118035675934504,   0.5753891435829265,
      0.6009183620680273,   0.8821080388976726,    0.3574326544426977,    0.3343173459330723,    0.07400286558248481,
      0.6079510499897496,   0.6421025402503626,    0.6417623640115212,    0.16449092617603212,   0.8897818639890097,
      0.5170022343266591,   0.6995314134978298,    0.6474260353677674,    0.8420817289489861,    0.004239835106883305,
      0.4813679241351504,   0.2507963913182081,    0.35085826191749636,   0.3824802249210911,    0.7812620902445477,
      0.39165826007683324,  0.7824337622838438,    0.902646230736842,     0.7876851397804997,    0.8744568184404363,
      0.776047650573657,    0.006211069452425777,  0.26783566243254986,   0.8952462478818862,    0.2791760055342227,
      0.7023106099713998,   0.7907303599044537,    0.9213991389869884,    0.17502498094734908,   0.0031263566165733447,
      0.8730810656506978,   0.8814801958973274,    0.9809862858948138,    0.9524559675550403,    0.6161602839573905,
      0.81280099967171,     0.290153972227604,     0.14335035008289465,   0.8477577457444683,    0.8401166936915387,
      0.5212668248749791,   0.02104693531456414,   0.7383245499273487,    0.5626987498664584,    0.2934473998659016,
      0.3456826354918213,   0.22702830817160635,   0.4496243188766037,    0.4910238089090576,    0.9793781225504641,
      0.9468223697800644,   0.3401409033329521,    0.6180799786358538,    0.863014788820724,     0.13095056557012497,
      0.5857524793318057,   0.20029206183457626,   0.0361080988081901,    0.5129980956789748,    0.17455369794424835,
      0.6798675384017852,   0.04555314684145728,   0.1592728573611274,    0.9027129404222184,    0.5417022462380706,
      0.36209650006181326,  0.6357024603609229,    0.6289268057180017,    0.19553033285442378,   0.45043719562592965,
      0.8266341879328025,   0.7773840612765499,    0.8308068439506016,    0.4304725604114389,    0.41676684693732735,
      0.8708314311735844,   0.8248490675287319,    0.26264441069811695,   0.9044186668920613,    0.5936822156957996,
      0.7875285367610492,   0.3118444321158038,    0.6916715068300263,    0.5669435387631938,    0.6193299528144401,
      0.35712243943419775,  0.9175778213344772,    0.343460209344983,     0.6460542393416723,    0.21516198411188503,
      0.45642068377669887,  0.2987386214304467,    0.0632550323284714,    0.7362366025637085,    0.6128438567584318,
      0.9428771776851117,   0.17489798955430746,   0.6625086065781743,    0.2172456296265367,    0.4475923979474332,
      0.5564922845944792,   0.28320517322282546,   0.49267771485941037,   0.6547427411553769,    0.9242596499269207,
      0.9147805216639984,   0.6073412491734623,    0.46989203803910085,   0.45935706630078055,   0.19798791257453774,
      0.9334249248647313,   0.8744326138824626,    0.6205838180552334,    0.7762732211789131,    0.928459089113231,
      0.937820769140132,    0.013582125340719675,  0.5324907160051711,    0.02684611862059849,   0.06927193578744395,
      0.6400214688609211,   0.5133721282618873,    0.07999318330104577,   0.2577710810650832,    0.817321363351518,
      0.8076114189907397,   0.324657289350905,     0.9650672686251389,    0.2729254863821494,    0.7809831977836019,
      0.1652336449783368,   0.13662799169926676,   0.6776495828489617,    0.14255174957497696,   0.38418911218942264,
      0.361423843762243,    0.8685882991583032,    0.192680742555284,     0.3148856602740503,    0.748113225863308,
      0.8618407210129345,   0.7156839650988885,    0.9623403051807798,    0.9973527869739185,    0.008585147934917492,
      0.946331588194702,    0.5553431375586435,    0.02054704844964983,   0.842338238512127,     0.6252142939582864,
      0.0454440429846138,   0.8768779524997832,    0.05197495573171229,   0.467402461137189,     0.7245722869024117,
      0.8526963916761623,   0.3482114761714936,    0.5870305114470717,    0.6134256688006303,    0.2274168614700276,
      0.9080883353774347,   0.6004815985037668,    0.3675988930092098,    0.824331351985735,     0.4949438124009987,
      0.8227638227658204,   0.8099433384130386,    0.7102282370301588,    0.4735140918259736,    0.7338703370134286,
      0.8445820971086851,   0.19596949116497853,   0.7028907486937389,    0.005417090289743465,  0.2777603577620631,
      0.603675472091728,    0.328955924989748,     0.9341776586261046,    0.5540450376230617,    0.9936257238147864,
      0.4102405081961351,   0.7671813626238805,    0.3691590461742723,    0.02728682877510813,   0.4823869343924113,
      0.788192482427858,    0.22180088690053323,   0.03448562234999297,   0.3719357169116606,    0.4969098885447305,
      0.191655313797513,    0.5804718234186538,    0.8900318941903801,    0.6934508297023688,    0.5530225699005005,
      0.30074428571738887,  0.8415057046819492,    0.17183516891041328,   0.12675873590477205,   0.2840572816367717,
      0.9269887520833086,   0.22488977278831046,   0.3168242242390731,    0.9847372594336158,    0.6509731962068283,
      0.5073316119069321,   0.12487505196657323,   0.22154354697564693,   0.7685722942349587,    0.2743762334211701,
      0.6865202518278289,   0.8318371362076777,    0.5386258032132064,    0.8605771528753087,    0.4179331943064153,
      0.567405809525627,    0.3562212006461868,    0.7963357296035821,    0.4994531897202181,    0.7866783613717578,
      0.9008311272506405,   0.8699430893250892,    0.9993156197161146,    0.9139351509015179,    0.431449717755505,
      0.620176535824029,    0.8539376483870202,    0.07848072387288219,   0.01424037752463747,   0.24407675438189358,
      0.701333216078581,    0.12046807952838845,   0.8390349031208393,    0.7077691706016829,    0.14105948480485575,
      0.3113502459956934,   0.5657395772346601,    0.8130737272213242,    0.3365673473812547,    0.7796612467421044,
      0.23107384517188134,  0.8118009929054556,    0.16788633369095085,   0.030079422556517188,  0.5371500828826153,
      0.6015148664464552,   0.17149243221501909,   0.1172621795708465,    0.7925641613400864,    0.2696618250878239,
      0.34008210185151533,  0.5207478736401517,    0.09029226432107296,   0.6243414247626625,    0.8086350261894591,
      0.9280525217627306,   0.8179986367464573,    0.22809792345840785,   0.174299626331055,     0.18547930426962,
      0.5314239340501304,   0.601922588468467,     0.2659164721740783,    0.6546297288104892,    0.7750427002091234,
      0.6832042772679686,   0.4156617408655624,    0.7108870437063272,    0.4922211900243272,    0.6602291458395536,
      0.9340984899103667,   0.26225209481552736,   0.5787861259275977,    0.4188843096595267,    0.5075709771319182,
      0.32679093039873,     0.319215520593643,     0.9015861727324869,    0.9903680740595437,    0.11771029618746809,
      0.0698828908110074,   0.5844288716113109,    0.8979402481813988,    0.17347031758337805,   0.3335669457212541,
      0.7666755194391025,   0.13900424509002107,   0.18184438650179768,   0.474170125390853,     0.6494817087100319,
      0.49904484954494976,  0.13960662583364958,   0.17721720406416797,   0.49090390100838,      0.8076048584231867,
      0.5180775508098545,   0.2747889640775497,    0.7643973635630646,    0.998600064745631,     0.05432415993063511,
      0.14612254019625004,  0.05100113670893769,   0.6348270472795142,    0.9276971598715721,    0.02581820063068263,
      0.7618910314479553,   0.08292626610364884,   0.0015068117399120728, 0.5450893147590388,    0.6305267716579811,
      0.49595914894179594,  0.6042571272764584,    0.14456224796821027,   0.9701432397722076,    0.7003300711950627,
      0.493939632833688,    0.9677948626091621,    0.9564276322323998,    0.24714075783963407,   0.9473621800880258,
      0.7162882508139052,   0.637129169365288,     0.7739890486016565,    0.6364250055940857,    0.34416412881956693,
      0.4607199148631299,   0.1827420856730403,    0.384871223091256,     0.42115413371097565,   0.22520478035347657,
      0.4221255541659472,   0.47553531617318,      0.5826635954679447,    0.2970822199027767,    0.3303683669471392,
      0.44776861852667227,  0.7290686471896674,    0.41721974940422435,   0.47684193819117915,   0.7622610881055619,
      0.4701127290373278,   0.7535603587898286,    0.24234999643629496,   0.6912929504723353,    0.6020583704478337,
      0.7827833151078375,   0.6394518382053578,    0.03227298489054431,   0.47079183685813464,   0.25761725598378504,
      0.2989311962894181,   0.9136482203752961,    0.6441555783810878,    0.9584970068604538,    0.7768386939495876,
      0.3621519413519899,   0.3271443319211841,    0.8984271382188533,    0.003205103140524912,  0.6145214518321328,
      0.7831497277215794,   0.6446271971021358,    0.35438910375402444,   0.8603641619194752,    0.1708378830206404,
      0.7967789884708172,   0.4086200513012481,    0.6969884754450677,    0.3870316925454582,    0.5322382329384319,
      0.0096584224912859,   0.6264169770789575,    0.2921659601352481,    0.6253221565828221,    0.9117837886557485,
      0.20374405516041583,  0.21591547095868324,   0.5470831816133089,    0.6910280220095179,    0.8633431978353517,
      0.6046816337812168,   0.7350636029248344,    0.4660768528067444,    0.4298312288933326,    0.03120480264321246,
      0.04434142372395833,  0.5185989584440972,    0.9056713041598138,    0.8104628144429474,    0.19619711194429745,
      0.2120133204613942,   0.006407291414015304,  0.2585861442212085,    0.9676421774705622,    0.35999532618759145,
      0.19113832261170938,  0.33548288170860974,   0.2585580653888524,    0.8554931389682613,    0.6391815211464841,
      0.4800788135670906,   0.3940763810605721,    0.31535986613369604,   0.8209588135749953,    0.4541325511456713,
      0.5877570824102291,   0.7583566943672284,    0.6029788742971568,    0.6861092075074696,    0.46621208455465135,
      0.18007423591415328,  0.528332340935112,     0.1138522150371325,    0.07879987486346618,   0.7269711145951828,
      0.5582429424002487,   0.8617872480152714,    0.20812038948111622,   0.7402118148501086,    0.8454488591069442,
      0.4223837383275706,   0.23416208241975545,   0.4220834167811641,    0.4631539491432527,    0.1626564116660122,
      0.3309452324727121,   0.8213528389917474,    0.34861525565456,      0.8734450834953609,    0.8880552830046495,
      0.619340243121358,    0.5775673004205525,    0.19101754008288407,   0.3544830751061945,    0.3013493746590046,
      0.9129590937779266,   0.9012416695964349,    0.6803789596610658,    0.19564066112257705,   0.03260488368221248,
      0.8705799211122627,   0.8409450026881247,    0.34475518131557215,   0.03784801519303338,   0.9751661267040307,
      0.43034168879885626,  0.11065161544340107,   0.7276057777519807,    0.004982163159524933,  0.6945447838872708,
      0.7273041470712368,   0.9593936841500735,    0.13379258768168645,   0.3777965634633952,    0.2703595868217632,
      0.15506449640296105,  0.20424268820820335,   0.3527948681199745,    0.8002681114870956,    0.7594567227703592,
      0.946495649399147,    0.28728350198169084,   0.5580175944700493,    0.7032420767984198,    0.08092465521124148,
      0.32656469883293826,  0.7174885959886983,    0.871252990017252,     0.41670888180343424,   0.6083365236824875,
      0.7249396470594075,   0.5620465315393466,    0.5157197115732972,    0.5506549211709697,    0.3285477028094975,
      0.7093308180251068,   0.659084127611101,     0.02765869743583449,   0.6218822201313294,    0.39482091817932796,
      0.626135560747538,    0.2580755081198327,    0.3478174802894556,    0.9676938413436679,    0.33238224766067537,
      0.3310147497770647,   0.9559943893515941,    0.4911376916833988,    0.09063791913423813,   0.4046315875494847,
      0.4740020520121634,   0.4765906670364052,    0.08583441419976279,   0.8472274380619484,    0.552660546415093,
      0.004701142838580807, 0.8830999516501286,    0.21208354271106145,   0.16396793443292523,   0.7933072283261428,
      0.8362655604438428,   0.002905946258930814,  0.6696363008399273,    0.4184101631532844,    0.7544300764519166,
      0.4629514408891108,   0.8815767929529509,    0.14872496584233852,   0.38953018339451484,   0.6031094795257194,
      0.7357426137848664,   0.6960142716191104,    0.5308984163386145,    0.6471850332368065,    0.9507310652965659,
      0.05355118172872486,  0.26789766611378607,   0.81171534461288,      0.8815252676442482,    0.27322340111095766,
      0.5694545400487966,   0.4643747260984441,    0.2680931795929846,    0.9639847915873286,    0.12682309670693648,
      0.8177762874567295,   0.6777803851961555,    0.7292121888029454,    0.8736686253239911,    0.09298362953922867,
      0.41648039805853876,  0.8251362617469858,    0.9705641885675158,    0.2011963854694191,    0.9577690476905739,
      0.22843672315476948,  0.020419675906707013,  0.7581006474779918,    0.38291815926073636,   0.9924212687610415,
      0.6853565742888263,   0.7213851262299584,    0.6432205505596658,    0.3880096040198705,    0.9856208118658878,
      0.47945352909793304,  0.6672084718234337,    0.34523037644096277,   0.42050931713665096,   0.034634868583634404,
      0.9342795633486977,   0.2875754593792146,    0.6066253338972054,    0.7808305389779022,    0.5612945690875106,
      0.9404065215610417,   0.9401144197667547,    0.2894685372960125,    0.17461530457647234,   0.04754095571588024,
      0.6773364043368078,   0.5802981115586667,    0.6317070842942244,    0.1407365728127774,    0.9850309591715055,
      0.7809932815700706,   0.9836260301540849,    0.12108199859136526,   0.16366744058478355,   0.7850185780027568,
      0.18388083399956057,  0.9126319991757875,    0.43542132106992804,   0.5242994382487212,    0.7587538803727455,
      0.8773437341277317,   0.9349653031183464,    0.09854330443257797,   0.8274753008171292,    0.9395017553746543,
      0.3411167233785305,   0.9825311160775828,    0.7548311572520328,    0.3414971623264297,    0.8882855662786443,
      0.7757145759635072,   0.23480704090360538,   0.7555530210610234,    0.2594007449598288,    0.3004489790483701,
      0.1633986233662451,   0.9677764682764135,    0.9554587458033513,    0.7961431105300174,    0.6288482538745904,
      0.8884132965339431,   0.5852057892875403,    0.07372112834870348,   0.7220664089605319,    0.6151123645576676,
      0.2773844267431448,   0.25458076239534255,   0.4992589489046285,    0.8491493815037809,    0.024866663757468488,
      0.0424358193013229,   0.3993980794861991,    0.7933963563504444,    0.9012822919659152,    0.9135968462592506,
      0.4006494422735588,   0.4075832830891558,    0.2701036343384797,    0.20306804721545846,   0.23404002509717414,
      0.43759924003124595,  0.6264063678412422,    0.3721469206496021,    0.5207484113258347,    0.9755662926676001,
      0.718375881245492,    0.7969089682462961,    0.8501140321994687,    0.9364329737732714,    0.1425059391434702,
      0.9597826876409328,   0.15670568562557385,   0.5817575280658813,    0.9063728174897496,    0.8546284305750449,
      0.35439249722790844,  0.18820064869908193,   0.7522727281834883,    0.3261970280116724,    0.9167584194413457,
      0.10593348360373511,  0.3683029453317247,    0.9309643913035914,    0.45258186077884677,   0.5803936269369658,
      0.40568625284440596,  0.4828478564591584,    0.4590798443606058,    0.5651911451209986,    0.3015797182224651,
      0.7979313236417561,   0.08060630938246094,   0.9517418500418697,    0.3021183772119437,    0.9187005402936496,
      0.6840531382369449,   0.5180709751097267,    0.6876828482380173,    0.3888003563218816,    0.2653720936625277,
      0.7571624379645097,   0.7403022510887606,    0.06001106938898426,
  };
  float ret[1 * 3 * 24 * 24] = {
      0.5576938179613676,   0.6750876516427856,    0.7731501711752171,    0.7433939974308816,   0.914153253113105,
      0.0022265480498459,   0.19866318622083912,   0.8774716463189989,    0.24900653579384002,  0.5520332209722566,
      0.9912034603665761,   0.3323270294507361,    0.32836141278496667,   0.9715790422861825,   0.7242783251562759,
      0.5527640012764481,   0.2724333255839113,    0.1527199695829402,    0.44418427285801776,  0.990476417594261,
      0.14510035718537184,  0.13460757957409675,   0.6744658506273948,    0.5451854837499628,   0.6893843112155923,
      0.2673573323323931,   0.7533764068311143,    0.4715876236843328,    0.0964560448883105,   0.10510210443177692,
      0.3254970321441475,   0.46320953694522016,   0.8749740701787951,    0.15502984464465686,  0.6654145558749625,
      0.9014031191103209,   0.0038954249311695666, 0.7367959934022067,    0.9050016678033207,   0.5680930437476771,
      0.41318707539729127,  0.4672252846267282,    0.4672430576408313,    0.0358453349442871,   0.7047848728340145,
      0.4107587048469111,   0.8862218980474931,    0.5545361856803096,    0.8370808709961333,   0.9904920761291204,
      0.31842130537927016,  0.21230284391317644,   0.5839095046253248,    0.21555704875753656,  0.887653344662633,
      0.33115085237976816,  0.3443790134865867,    0.827802415010975,     0.5798915139606355,   0.7454675023371802,
      0.7875162903072089,   0.0584828568322322,    0.7681269695003293,    0.2688403266948515,   0.7872139137118884,
      0.535368023415492,    0.6359195295816026,    0.1128901838996228,    0.950038806411715,    0.27339773093230824,
      0.01579675654776469,  0.20296075269570268,   0.8467913390425336,    0.41551022895908507,  0.2513109849484241,
      0.9572558290726614,   0.07832911776016815,   0.7547507557346254,    0.12844765027072702,  0.11939825073119481,
      0.6690397046010088,   0.1575709812498055,    0.7095236946648049,    0.6310339935297161,   0.6158424915733098,
      0.7144996557898061,   0.5365983278275497,    0.30927187206231654,   0.8179140740843444,   0.19326779070356015,
      0.5119758149283705,   0.06754426402085834,   0.9634459187238493,    0.3301225172106783,   0.26080864555541483,
      0.8441762152997584,   0.7017503043482971,    0.11348934492273088,   0.7600253102481189,   0.008110304658435208,
      0.3112662550079637,   0.509438821155469,     0.7814793117071854,    0.20120685769092328,  0.7567614845781191,
      0.6165739435500294,   0.6671961409330499,    0.9596376673343043,    0.1237345548042279,   0.7843568303497188,
      0.7675030315279653,   0.5560400086719663,    0.9726350531669181,    0.7074466158829527,   0.14009878314486368,
      0.6049713928898043,   0.8394226322869928,    0.07210232833626673,   0.6058030611127116,   0.3942672946450676,
      0.46762342221081143,  0.606961856564349,     0.6853285787984453,    0.5294984766990256,   0.57362010476332,
      0.7372789472300072,   0.768101200276183,     0.6008521026900275,    0.270660842170115,    0.9688837432017031,
      0.6060192520674768,   0.036559310251870425,  0.44416396951615966,   0.6462328722469546,   0.04898283124047065,
      0.6316790255001938,   0.22023940332382175,   0.5404833527145714,    0.5525056845431044,   0.8898566020334531,
      0.39999980363972587,  0.8389631975404395,    0.8778591814372076,    0.5162066124785467,   0.28297437515915647,
      0.18238528044315205,  0.005381997132809846,  0.46999899129919254,   0.13825446763275795,  0.49222794645391554,
      0.7030820831074535,   0.6804400231686772,    0.8965979777482974,    0.694946176773454,    0.5085146662370216,
      0.8240197376801905,   0.31776581529233927,   0.5732121905660629,    0.01390285801777269,  0.8757581539790499,
      0.907322093268178,    0.6978352458800421,    0.6894629329539623,    0.8407068458923248,   0.6048366748080617,
      0.05367367526069333,  0.3077714610041279,    0.6279264755906374,    0.41911626457549866,  0.605908791928396,
      0.11473188943088652,  0.4066331998413033,    0.5917865120906529,    0.18245356961058734,  0.5391565304461164,
      0.5624966145847786,   0.7504475253633486,    0.7615701321627198,    0.31028122589925966,  0.848323852071799,
      0.4694763662956777,   0.7516506165708773,    0.4838291003934557,    0.9379908782009793,   0.11489890753723331,
      0.10687123028889634,  0.3005593571845695,    0.2790369765995646,    0.5618268632620098,   0.2506744442166098,
      0.5774223878377291,   0.039557168583882696,  0.47547710684047406,   0.5404640956394502,   0.5173064771408595,
      0.8595156094358232,   0.10311625824407467,   0.4313108920421431,    0.9238740143377883,   0.20687524999638973,
      0.15255012458685524,  0.5427457659655633,    0.8640947828253543,    0.4023460735613871,   0.8152799497172286,
      0.22226454850151056,  0.09327791456333101,   0.540143349882634,     0.5557027424836565,   0.6043822127088522,
      0.635045386209623,    0.11895408520648643,   0.21412622156242278,   0.4168915541552838,   0.6860410428994667,
      0.8362971024617537,   0.1604197275319652,    0.0015534694918136749, 0.16683864032852347,  0.0380164358652878,
      0.03511408488081447,  0.4807109372544841,    0.15151664214217997,   0.10548618728899939,  0.6302059258053215,
      0.4131988922704686,   0.9333959432119138,    0.40858542505531903,   0.09631357136150354,  0.087564812497272,
      0.12769479893109448,  0.5944289290157524,    0.1504256727793163,    0.8245058563795197,   0.28398136463137413,
      0.9427807014726228,   0.8079236541236925,    0.585802992322683,     0.6431029480572278,   0.9852044970284112,
      0.33240595005615725,  0.386704376120808,     0.05460816935049695,   0.05589652047614602,  0.9792882505670737,
      0.5650652839468214,   0.4522524488689421,    0.08701083613219196,   0.716345677249626,    0.5839245986158135,
      0.40122325862538133,  0.13032245945931542,   0.00256671520725571,   0.5869283108488538,   0.5873285471779122,
      0.8488560464150674,   0.8061332855050097,    0.33938585999470916,   0.6884758620551574,   0.8172347973442694,
      0.6477500880815694,   0.675451984773968,     0.5223003594325687,    0.15458609355946118,  0.43259107705555877,
      0.28851810307018777,  0.3838462692063309,    0.4657950297766186,    0.22707077383985486,  0.8502192712624803,
      0.3677973310632141,   0.13403602141551874,   0.9530360146704632,    0.9826440640203283,   0.42089152977923683,
      0.42180479050443176,  0.15720226657930703,   0.1891201711835082,    0.5353614977912917,   0.6288357150342787,
      0.8147188655365647,   0.09049937046097911,   0.4428874994360409,    0.9941624285613735,   0.47490144756023966,
      0.792905409090189,    0.6373109153860876,    0.362784258536637,     0.18612006988393281,  0.43510833638726243,
      0.3671635077914902,   0.11409342083819618,   0.11234212817124256,   0.24775037353256546,  0.6212388268713533,
      0.6281062349165449,   0.14983193641298098,   0.6762103626227616,    0.10448467671854955,  0.598250699186468,
      0.6938074993804616,   0.8730247668913396,    0.8268479077193474,    0.9972427087729138,   0.5191046008923272,
      0.8911388789395779,   0.509264551627256,     0.5049738483313311,    0.3087999310101207,   0.7752137734199523,
      0.155536036963988,    0.8352195411494564,    0.629649706648176,     0.1939043713632571,   0.7669274996476307,
      0.11693237140089863,  0.9811994408643644,    0.8081707614206302,    0.1746768750613229,   0.11924956852409285,
      0.6107457676123809,   0.5994539427198272,    0.7269927062916417,    0.21157476325939661,  0.7019666424206221,
      0.5389999399640987,   0.9060064439328889,    0.4356093165139081,    0.8690026759179446,   0.8222557998599189,
      0.07222599597929102,  0.9189440327960383,    0.009679487835292266,  0.5197248295836395,   0.3812919886435633,
      0.5842646327860408,   0.9048431033119261,    0.6191447480411455,    0.047048187901140404, 0.9762230649248507,
      0.08415024415060357,  0.15657338996981707,   0.47278786793745786,   0.9421248651798148,   0.27210373932980336,
      0.9304125472360207,   0.07545431142174563,   0.04655276242142847,   0.5698289275272337,   0.22789767714751497,
      0.1737430953954605,   0.058372511339505606,  0.6294706430315368,    0.07647535710909648,  0.22245198307387348,
      0.6009183620680273,   0.3343173459330723,    0.6421025402503626,    0.8897818639890097,   0.6474260353677674,
      0.4813679241351504,   0.3824802249210911,    0.7824337622838438,    0.8744568184404363,   0.26783566243254986,
      0.7023106099713998,   0.17502498094734908,   0.8814801958973274,    0.6161602839573905,   0.14335035008289465,
      0.5212668248749791,   0.5626987498664584,    0.22702830817160635,   0.9793781225504641,   0.6180799786358538,
      0.5857524793318057,   0.5129980956789748,    0.04555314684145728,   0.5417022462380706,   0.6289268057180017,
      0.8266341879328025,   0.4304725604114389,    0.8248490675287319,    0.5936822156957996,   0.6916715068300263,
      0.35712243943419775,  0.6460542393416723,    0.2987386214304467,    0.6128438567584318,   0.6625086065781743,
      0.5564922845944792,   0.6547427411553769,    0.6073412491734623,    0.19798791257453774,  0.6205838180552334,
      0.937820769140132,    0.02684611862059849,   0.5133721282618873,    0.817321363351518,    0.9650672686251389,
      0.1652336449783368,   0.14255174957497696,   0.8685882991583032,    0.748113225863308,    0.9623403051807798,
      0.946331588194702,    0.842338238512127,     0.8768779524997832,    0.7245722869024117,   0.5870305114470717,
      0.9080883353774347,   0.824331351985735,     0.8099433384130386,    0.7338703370134286,   0.7028907486937389,
      0.603675472091728,    0.5540450376230617,    0.7671813626238805,    0.4823869343924113,   0.03448562234999297,
      0.191655313797513,    0.6934508297023688,    0.8415057046819492,    0.2840572816367717,   0.3168242242390731,
      0.5073316119069321,   0.7685722942349587,    0.8318371362076777,    0.4179331943064153,   0.7963357296035821,
      0.9008311272506405,   0.9139351509015179,    0.8539376483870202,    0.24407675438189358,  0.8390349031208393,
      0.3113502459956934,   0.3365673473812547,    0.8118009929054556,    0.5371500828826153,   0.1172621795708465,
      0.34008210185151533,  0.6243414247626625,    0.8179986367464573,    0.18547930426962,     0.2659164721740783,
      0.6832042772679686,   0.4922211900243272,    0.26225209481552736,   0.5075709771319182,   0.9015861727324869,
      0.0698828908110074,   0.17347031758337805,   0.13900424509002107,   0.6494817087100319,   0.17721720406416797,
      0.5180775508098545,   0.998600064745631,     0.05100113670893769,   0.02581820063068263,  0.0015068117399120728,
      0.49595914894179594,  0.9701432397722076,    0.9677948626091621,    0.9473621800880258,   0.7739890486016565,
      0.4607199148631299,   0.42115413371097565,   0.47553531617318,      0.3303683669471392,   0.41721974940422435,
      0.4701127290373278,   0.6912929504723353,    0.6394518382053578,    0.25761725598378504,  0.6441555783810878,
      0.3621519413519899,   0.003205103140524912,  0.6446271971021358,    0.1708378830206404,   0.6969884754450677,
      0.0096584224912859,   0.6253221565828221,    0.21591547095868324,   0.8633431978353517,   0.4660768528067444,
      0.04434142372395833,  0.8104628144429474,    0.006407291414015304,  0.35999532618759145,  0.2585580653888524,
      0.4800788135670906,   0.8209588135749953,    0.7583566943672284,    0.46621208455465135,  0.1138522150371325,
      0.5582429424002487,   0.7402118148501086,    0.23416208241975545,   0.1626564116660122,   0.34861525565456,
      0.619340243121358,    0.3544830751061945,    0.9012416695964349,    0.03260488368221248,  0.34475518131557215,
      0.43034168879885626,  0.004982163159524933,  0.9593936841500735,    0.2703595868217632,   0.3527948681199745,
      0.946495649399147,    0.7032420767984198,    0.7174885959886983,    0.6083365236824875,   0.5157197115732972,
      0.7093308180251068,   0.6218822201313294,    0.2580755081198327,    0.33238224766067537,  0.4911376916833988,
      0.4740020520121634,   0.8472274380619484,    0.8830999516501286,    0.7933072283261428,   0.6696363008399273,
      0.4629514408891108,   0.38953018339451484,   0.6960142716191104,    0.9507310652965659,   0.81171534461288,
      0.5694545400487966,   0.9639847915873286,    0.6777803851961555,    0.09298362953922867,  0.9705641885675158,
      0.22843672315476948,  0.38291815926073636,   0.7213851262299584,    0.9856208118658878,   0.34523037644096277,
      0.9342795633486977,   0.7808305389779022,    0.9401144197667547,    0.04754095571588024,  0.6317070842942244,
      0.7809932815700706,   0.16366744058478355,   0.9126319991757875,    0.7587538803727455,   0.09854330443257797,
      0.3411167233785305,   0.3414971623264297,    0.23480704090360538,   0.3004489790483701,   0.9554587458033513,
      0.8884132965339431,   0.7220664089605319,    0.25458076239534255,   0.024866663757468488, 0.7933963563504444,
      0.4006494422735588,   0.20306804721545846,   0.6264063678412422,    0.9755662926676001,   0.8501140321994687,
      0.9597826876409328,   0.9063728174897496,    0.18820064869908193,   0.9167584194413457,   0.9309643913035914,
      0.40568625284440596,  0.5651911451209986,    0.08060630938246094,   0.9187005402936496,   0.6876828482380173,
      0.7571624379645097,   0.5480679233387061,    0.24353641279477833,   0.6953374325865181,   0.7004059077803506,
      0.19895076559790037,  0.012614468166029846,  0.6931676652271119,    0.04933882811306345,  0.6817184766496525,
      0.8967786967807705,   0.0370223139896404,    0.27005041666217366,   0.0603131267983219,   0.20690528700779764,
      0.5567967676701338,   0.20463828478253465,   0.14616326216863784,   0.6296157294792657,   0.9640954753646813,
      0.36846030912030836,  0.002330958564625618,  0.5270410644078244,    0.9281730412702204,   0.45519656900706884,
      0.05767366375949612,  0.19679167663135078,   0.45322589140773506,   0.37355093745443213,  0.4316713413341995,
      0.8613778389131638,   0.36363172551401024,   0.041909481052292086,  0.40803137171006676,  0.1644490965265104,
      0.013508862338429739, 0.18087791778059537,   0.4808668404807881,    0.9896217208245889,   0.17031133805671994,
      0.954549933820125,    0.21830098176483825,   0.32074855054918405,   0.7055647713037171,   0.4017341341400964,
      0.06834239147352672,  0.06595343518235453,   0.7927013837463739,    0.736351436409856,    0.6542416800517766,
      0.2611136415462978,   0.8052245691122532,    0.5036101372743131,    0.09263478211668819,  0.2557611178903839,
      0.7150756721261634,   0.7396670803132176,    0.7249200847189967,    0.7983836884890896,   0.26459354102142374,
      0.14864548914507048,  0.5586611197141035,    0.910350130922468,     0.05593434871311043,  0.8149779553107497,
      0.4767667472242454,   0.285442788189455,     0.40006884264320053,   0.18928550101259878,  0.8969656410445062,
      0.7896722423559953,   0.6525673934788851,    0.9034835925846796,    0.570442903736869,    0.41536471357181215,
      0.10265360872088514,  0.633573216040501,     0.554940923788402,     0.7603504216202375,   0.2815142314209388,
      0.32091865605809244,  0.48941224655962345,   0.22003985504243984,   0.13607798635337598,  0.37901062340884994,
      0.8706905255134766,   0.6356807028139803,    0.418779162764653,     0.40936893971458166,  0.25667308138726475,
      0.8626424645173111,   0.8168071724420188,    0.40923910723158874,   0.8487566728412825,   0.8825770435506887,
      0.6978130505246456,   0.5256740994874012,    0.3591905906139944,    0.5799067477434993,   0.9185955898312771,
      0.2737326463684574,   0.9097323699454616,    0.3930555738378564,    0.47911845356231575,  0.7290407441224809,
      0.46055879064643657,  0.03207769742241595,   0.7975276475662959,    0.640093909231198,    0.022886213132301436,
      0.8609937497701943,   0.5631041599341441,    0.679972623497357,     0.48577991928492015,  0.30538790875902155,
      0.41736161076242584,  0.14830629853298138,   0.23500812773962576,   0.524592542808368,    0.27437111512336143,
      0.05965904887727835,  0.2918591238325783,    0.25598434684729043,   0.6924920794474219,   0.2497349859377368,
      0.8363347417707052,   0.5282798641981886,    0.7312494341931193,    0.17757135544241376,  0.3173567907124467,
      0.15325240685171326,  0.662708767649447,     0.2781731367872762,    0.6364481666190819,   0.2903981867328158,
      0.6496930178456091,   0.039653072192095906,  0.4279605117814289,    0.23717483185086208,  0.5850515639649501,
      0.9272006593578849,   0.6694541951302534,    0.17883121234879118,   0.6436522945258664,   0.7792030175008168,
      0.8949085776808361,   0.2496632683186638,    0.832457996422202,     0.9674353985309306,   0.8528802875571208,
      0.816763289811324,    0.14688252055455986,   0.5642551096559059,    0.26530479151162056,  0.5049743798224671,
      0.3715996766715721,   0.21947402581862918,   0.32254310459801105,   0.685007228645308,    0.7470850821296687,
      0.8160227628454733,   0.9137489054962102,    0.8560251137039097,    0.024534003121607695, 0.04521871276101308,
      0.02367129352716124,  0.5783021171133504,    0.9139449448889625,    0.265504442325993,    0.8182890630399161,
      0.5049329705377718,   0.6800245200790865,    0.6083213289049307,    0.1811262015095133,   0.3202506649996555,
      0.06139823543315803,  0.7975693287711333,    0.3783321068312443,    0.4215509767310476,   0.4817147366535751,
      0.14335792395875457,  0.569959697175572,     0.8326804416539675,    0.7881931631320024,   0.6250101717036214,
      0.8150438598132201,   0.8322242767985054,    0.5141109538083758,    0.101622534940505,    0.6020576478139832,
      0.862875834352914,    0.44412999428852895,   0.09303719406445532,   0.6365615446012882,   0.391697345346507,
      0.6276038960866358,   0.8384240955628381,    0.15117205862777972,   0.6859166896968107,   0.46096307835937356,
      0.7628475477918988,   0.010532812497153099,  0.39110174343301596,   0.18687012766308642,  0.9953633859063187,
      0.7336318791938153,   0.7412558552103334,    0.21084765923063864,   0.4907451177552751,   0.40601299165301985,
      0.38880973678461517,  0.5584246149451094,    0.10807602415016127,   0.18275262543142878,  0.17402817591505615,
      0.2015937407328915,   0.8849118337827289,    0.377331907017168,     0.3377638457595308,   0.5086224074379112,
      0.7761068172424201,   0.8458824121077834,    0.5825144300241644,    0.31379789941978886,  0.7799327059130073,
      0.6462918881194284,   0.5496040687131041,    0.5606280619195357,    0.2622984173231212,   0.9533428464170677,
      0.6927678723431243,   0.28670323747922943,   0.918328531851499,     0.9181276962383033,   0.22471326407596626,
      0.8742061750012948,   0.035691735149414594,  0.9830142838917029,    0.04618299224281264,  0.978991611793116,
      0.90920549543672,     0.9641936713436415,    0.352173417181341,     0.02749063973513044,  0.671264386437005,
      0.32074385906006564,  0.3323412691373995,    0.6222518184003937,    0.10327769425645661,  0.7478402622044948,
      0.141175087073799,    0.13567435950327245,   0.06388400985569753,   0.12022737044113196,  0.04865807065818539,
      0.9346626555052675,   0.25035821705527694,   0.263615164003856,     0.9103450312680861,   0.0822476396562889,
      0.9214016455934766,   0.5471141631488152,    0.050092295886368765,  0.12916099885366905,  0.09350772631506876,
      0.4128426881984989,   0.03426701049550318,   0.1114557011437497,    0.9034110226366754,   0.6238078513067472,
      0.6339993330568727,   0.1017850925706153,    0.7574287993118725,    0.4855538696652342,   0.0993780068507144,
      0.7840823982240984,   0.9062905450373338,    0.5188575412994682,    0.07931477242460494,  0.3302454137917453,
      0.9683115424644188,   0.24089419521054534,   0.5221400082332656,    0.6263972136839191,   0.45655675103301285,
      0.03623782209981852,  0.10528149339125581,   0.2369904707552496,    0.8871970275709483,   0.3105201870093366,
      0.8650306308730747,   0.26975405692122023,   0.7401906890372566,    0.015236741198945358, 0.6932025352071033,
      0.2353715196443774,   0.8990410572378255,    0.13175976405917256,   0.8299117018175071,   0.5854392560620701,
      0.09941022297908908,  0.49345606955707433,   0.5693111552840876,    0.6109414753717066,   0.6210232613493811,
      0.12187375071541129,  0.09170073062022499,   0.6775185133293696,    0.8926164238380273,   0.11153600376557016,
      0.36336189612943315,  0.28575020651201066,   0.3006161153901252,    0.4751978516601386,   0.25762053965235965,
      0.8259088244580408,   0.2996039384723006,    0.9168704216696336,    0.8741744876565002,   0.4619743507528482,
      0.7190526080623696,   0.43764245520627065,   0.029650825870803477,  0.9399851529255545,   0.1719914610443789,
      0.29969992238435406,  0.13512016024776252,   0.6519346860670783,    0.04216471446744485,  0.529699047649506,
      0.8936486293424404,   0.5614875873690469,    0.38854122489677667,   0.42965353004741547,  0.20866020350533698,
      0.8442419283811183,   0.751957287605275,     0.6247835602850056,    0.38868231376485674,  0.1347824186806431,
      0.6635426573687336,   0.6146381733545787,    0.4914780532252889,    0.22586533734423897,  0.18687021665791048,
      0.1871193534007316,   0.46427170052831335,   0.2887757304460784,    0.29264159982594307,  0.48230928722272504,
      0.3825012877262921,   0.20581048451737827,   0.36888096201496545,   0.31310297106149565,  0.9227331395115886,
      0.14118035675934504,  0.8821080388976726,    0.07400286558248481,   0.6417623640115212,   0.5170022343266591,
      0.8420817289489861,   0.2507963913182081,    0.7812620902445477,    0.902646230736842,    0.776047650573657,
      0.8952462478818862,   0.7907303599044537,    0.0031263566165733447, 0.9809862858948138,   0.81280099967171,
      0.8477577457444683,   0.02104693531456414,   0.2934473998659016,    0.4496243188766037,   0.9468223697800644,
      0.863014788820724,    0.20029206183457626,   0.17455369794424835,   0.1592728573611274,   0.36209650006181326,
      0.19553033285442378,  0.7773840612765499,    0.41676684693732735,   0.26264441069811695,  0.7875285367610492,
      0.5669435387631938,   0.9175778213344772,    0.21516198411188503,   0.0632550323284714,   0.9428771776851117,
      0.2172456296265367,   0.28320517322282546,   0.9242596499269207,    0.46989203803910085,  0.9334249248647313,
      0.7762732211789131,   0.013582125340719675,  0.06927193578744395,   0.07999318330104577,  0.8076114189907397,
      0.2729254863821494,   0.13662799169926676,   0.38418911218942264,   0.192680742555284,    0.8618407210129345,
      0.9973527869739185,   0.5553431375586435,    0.6252142939582864,    0.05197495573171229,  0.8526963916761623,
      0.6134256688006303,   0.6004815985037668,    0.4949438124009987,    0.7102282370301588,   0.8445820971086851,
      0.005417090289743465, 0.328955924989748,     0.9936257238147864,    0.3691590461742723,   0.788192482427858,
      0.3719357169116606,   0.5804718234186538,    0.5530225699005005,    0.17183516891041328,  0.9269887520833086,
      0.9847372594336158,   0.12487505196657323,   0.2743762334211701,    0.5386258032132064,   0.567405809525627,
      0.4994531897202181,   0.8699430893250892,    0.431449717755505,     0.07848072387288219,  0.701333216078581,
      0.7077691706016829,   0.5657395772346601,    0.7796612467421044,    0.16788633369095085,  0.6015148664464552,
      0.7925641613400864,   0.5207478736401517,    0.8086350261894591,    0.22809792345840785,  0.5314239340501304,
      0.6546297288104892,   0.4156617408655624,    0.6602291458395536,    0.5787861259275977,   0.32679093039873,
      0.9903680740595437,   0.5844288716113109,    0.3335669457212541,    0.18184438650179768,  0.49904484954494976,
      0.49090390100838,     0.2747889640775497,    0.05432415993063511,   0.6348270472795142,   0.7618910314479553,
      0.5450893147590388,   0.6042571272764584,    0.7003300711950627,    0.9564276322323998,   0.7162882508139052,
      0.6364250055940857,   0.1827420856730403,    0.22520478035347657,   0.5826635954679447,   0.44776861852667227,
      0.47684193819117915,  0.7535603587898286,    0.6020583704478337,    0.03227298489054431,  0.2989311962894181,
      0.9584970068604538,   0.3271443319211841,    0.6145214518321328,    0.35438910375402444,  0.7967789884708172,
      0.3870316925454582,   0.6264169770789575,    0.9117837886557485,    0.5470831816133089,   0.6046816337812168,
      0.4298312288933326,   0.5185989584440972,    0.19619711194429745,   0.2585861442212085,   0.19113832261170938,
      0.8554931389682613,   0.3940763810605721,    0.4541325511456713,    0.6029788742971568,   0.18007423591415328,
      0.07879987486346618,  0.8617872480152714,    0.8454488591069442,    0.4220834167811641,   0.3309452324727121,
      0.8734450834953609,   0.5775673004205525,    0.3013493746590046,    0.6803789596610658,   0.8705799211122627,
      0.03784801519303338,  0.11065161544340107,   0.6945447838872708,    0.13379258768168645,  0.15506449640296105,
      0.8002681114870956,   0.28728350198169084,   0.08092465521124148,   0.871252990017252,    0.7249396470594075,
      0.5506549211709697,   0.659084127611101,     0.39482091817932796,   0.3478174802894556,   0.3310147497770647,
      0.09063791913423813,  0.4765906670364052,    0.552660546415093,     0.21208354271106145,  0.8362655604438428,
      0.4184101631532844,   0.8815767929529509,    0.6031094795257194,    0.5308984163386145,   0.05355118172872486,
      0.8815252676442482,   0.4643747260984441,    0.12682309670693648,   0.7292121888029454,   0.41648039805853876,
      0.2011963854694191,   0.020419675906707013,  0.9924212687610415,    0.6432205505596658,   0.47945352909793304,
      0.42050931713665096,  0.2875754593792146,    0.5612945690875106,    0.2894685372960125,   0.6773364043368078,
      0.1407365728127774,   0.9836260301540849,    0.7850185780027568,    0.43542132106992804,  0.8773437341277317,
      0.8274753008171292,   0.9825311160775828,    0.8882855662786443,    0.7555530210610234,   0.1633986233662451,
      0.7961431105300174,   0.5852057892875403,    0.6151123645576676,    0.4992589489046285,   0.0424358193013229,
      0.9012822919659152,   0.4075832830891558,    0.23404002509717414,   0.3721469206496021,   0.718375881245492,
      0.9364329737732714,   0.15670568562557385,   0.8546284305750449,    0.7522727281834883,   0.10593348360373511,
      0.45258186077884677,  0.4828478564591584,    0.3015797182224651,    0.9517418500418697,   0.6840531382369449,
      0.3888003563218816,   0.7403022510887606,    0.6417021568083997,    0.9823224495525934,   0.3602570492037227,
      0.9726701877796005,   0.11256718369098428,   0.42981846729932316,   0.5259354601865902,   0.7554362854591897,
      0.46022153322521797,  0.4793136280134549,    0.10844142009323199,   0.5502761733796465,   0.8811862678452823,
      0.24009629432278679,  0.9493545988254306,    0.7964892755562489,    0.4662575194407572,   0.5936738217081192,
      0.16592882093823258,  0.9859866019657224,    0.2358787856060547,    0.5608551370694833,   0.945964541591334,
      0.5600342383454875,   0.720030390653406,     0.20677275937071815,   0.16132030555888355,  0.23481442646444717,
      0.1486933723029148,   0.07823117805129631,   0.2085993840241619,    0.10858147254244044,  0.6945817896285724,
      0.42563070985356066,  0.04004884332870884,   0.00303398548561018,   0.8542934622625173,   0.25149635186390307,
      0.2494715702411735,   0.2557558871357666,    0.9861938251287953,    0.9196828767636545,   0.38979676119223083,
      0.383631632999867,    0.7616502164965523,    0.5989834812104214,    0.6918854518083776,   0.5911325727260477,
      0.2613787103362436,   0.6065738141875372,    0.9653573346034848,    0.5147461408512055,   0.47813464137618733,
      0.6801750264462293,   0.3791725115370653,    0.2212103957921122,    0.198746899771007,    0.36473450549974684,
      0.32253490241826444,  0.7436637136812738,    0.13444458615243549,   0.6934462857903217,   0.5944713140884937,
      0.4721117833920081,   0.49288902255267475,   0.41371401125823193,   0.0396525318325186,   0.41446455995710885,
      0.4738685767876225,   0.11421088543024749,   0.10070832493884896,   0.10616464455460517,  0.4167239255685742,
      0.994852989759743,    0.23008445309632586,   0.35510350164702775,   0.8425244929657464,   0.32454656934246384,
      0.02176898509566194,  0.3157593965935449,    0.623726143557632,     0.3229516294381015,   0.44804658784405627,
      0.08598374871008696,  0.5386230791292398,    0.4425710876561455,    0.9469773008495318,   0.548309347248721,
      0.49060334690872587,  0.7063301594750016,    0.16641329612366873,   0.816499405124871,    0.3896457253625296,
      0.7402659538376386,   0.9847530894291007,    0.4843213425499143,    0.43038245869640657,  0.9152388228522966,
      0.4871844797098087,   0.41937549531706264,   0.7956152302108189,    0.04276396841566121,  0.9389220865118408,
      0.49700650040477534,  0.2777255383285019,    0.8953375189380939,    0.30314186832239975,  0.8436821711164175,
      0.250299242916484,    0.29284076270596604,   0.24860916694926627,   0.6297084257593848,   0.36414041461821367,
      0.8636898203206251,   0.03884685622262596,   0.174040945005705,     0.9027325229904037,   0.22636793436272418,
      0.39057502635271857,  0.837149862010498,     0.6197874282482766,    0.04034986432833665,  0.6199159287396855,
      0.8618246322637451,   0.5663522588730695,    0.19114958847316454,   0.9037344787676701,   0.697998863172609,
      0.4408583750989511,   0.5873937362047855,    0.7479938702505384,    0.5903087296332238,   0.0599973686234887,
      0.11453030427680466,  0.0889054813776653,    0.7935221546263311,    0.20525060803459405,  0.9786164402703464,
      0.13534554243929542,  0.33271341280193,      0.29583524445415277,   0.5208034566041221,   0.715961659170718,
      0.03980357054734318,  0.3025012559871788,    0.43986870620151064,   0.3070560150214996,   0.3528169416286786,
      0.9265141773481097,   0.7501567103388216,    0.08674132803750234,   0.36407252083885433,  0.08833198768361261,
      0.35322988319400805,  0.7636110816368085,    0.877615468813198,     0.8381086608218498,   0.1264748334029474,
      0.7567472028783842,   0.31610283349055857,   0.10241018294853332,   0.3903715982953918,   0.768703697365061,
      0.3911478980175912,   0.6373792187400823,    0.9085193553173185,    0.8484878574968941,   0.055705717555123546,
      0.1856657129414182,   0.14795677979058397,   0.0851766335876345,    0.7408546264277205,   0.1515139082850422,
      0.8347462304916916,   0.5556014140682733,    0.4231662930615506,    0.4156346278851234,   0.6195024953733143,
      0.6450608352745005,   0.5794559042167301,    0.44398307932725645,   0.3386896839514363,   0.9947910463626235,
      0.4295650024457074,   0.46668569716119923,   0.1683570545191131,    0.38481488230328686,  0.21198524988541256,
      0.6861363838530093,   0.515617605529789,     0.7871540883141954,    0.6186809320638805,   0.3635186528606992,
      0.24250401036270308,  0.48087219344337306,   0.8664804169889542,    0.2842565683987759,   0.8708403014819337,
      0.5259228242606849,   0.2355911329326772,    0.7287022892124747,    0.5628813409165464,   0.2208727363386015,
      0.9843585772801463,   0.8585384885791164,    0.09585638221818615,   0.700121735075444,    0.9457904755937173,
      0.8741342123700807,   0.2913965400017039,    0.3590258586858043,    0.9324394591487412,   0.2785720549608761,
      0.5955109224024612,   0.6093048651358479,    0.5579648244813307,    0.48923170302655916,  0.040295444090547194,
      0.301895126385361,    0.7161338480188987,    0.6212148954455755,    0.3252230173406172,   0.5859846921828898,
      0.5017178396499485,   0.037315649813791096,  0.5815118195729374,    0.10529898355514655,  0.14560109732536652,
      0.7821128845752052,   0.3908157894176354,    0.32053314608704864,   0.7690452018739381,   0.8676929204814569,
      0.020209696387830434, 0.7080830488792054,    0.30867899872761073,   0.14378068100085928,  0.906567586147243,
      0.3927665003335742,   0.9916129484423926,    0.5415271388101568,    0.12689054054302085,  0.15320500124098402,
      0.690019196582955,    0.6785067283721109,    0.33346421693887085,   0.2796375762118375,   0.42199350041600436,
      0.2699935286819868,   0.315394010904003,     0.6302297688265931,    0.06165112274849838,  0.7570811347298088,
      0.5279310747451385,   0.9355999029242515,    0.005502195322430903,  0.15228560281857328,  0.0024754880413346836,
      0.76205750363049,     0.06309530860411938,   0.34430528503769187,   0.8108396869466088,   0.5944367076434868,
      0.6759427595358818,   0.873314370429706,     0.2835014145918603,    0.0647251610020978,   0.3257198707861738,
      0.1795620365862599,   0.07541607354608881,   0.7292249395583527,    0.9902209094287545,   0.08944953657777999,
      0.3673644605674675,   0.1642628862370007,    0.11299431248688241,   0.4695447110816021,   0.2869951115264081,
      0.7582745052506809,   0.47703270425834443,   0.42683269753999564,   0.25422858972984796,  0.025660370575602554,
      0.7868622372963548,   0.23858764239770813,   0.6938787595875271,    0.2535497506022084,   0.5371714185957712,
      0.6431145666956772,   0.6647676364679233,    0.5513817267954401,    0.4543637222307828,   0.2718008029139152,
      0.35994464028232376,  0.7056842331140273,    0.6150478247355882,    0.052748374640018136, 0.8940709299691674,
      0.9869207117898028,   0.6428387188696808,    0.10564621295462462,   0.6451107754618787,   0.5642582138462809,
      0.5919936865559303,   0.23663160371727765,   0.9151169937896009,    0.5807847949216597,   0.9055894805021459,
      0.5216542563502468,   0.578729717420777,     0.734142200046549,     0.3385247520939818,   0.046652306728973136,
      0.5827420694536557,   0.7131797928316381,    0.8060861134326347,    0.8332240607025703,   0.06749958945821999,
      0.516280600505945,    0.7492979599727628,    0.39770626841941925,   0.43677939717333114,  0.4170048577307417,
      0.4824712574759782,   0.5524848644926086,    0.9193314618277667,    0.6803898392289517,   0.38598035373059003,
      0.9906048951292297,   0.8370374083834665,    0.6866355448825368,    0.7472313769107196,   0.4961903042881499,
      0.971688128137546,    0.5035567916576319,    0.12934923846644109,   0.6663491618485525,   0.16429514721037275,
      0.004461437904420995, 0.4755094707753683,    0.3487710412736914,    0.7186224430800245,   0.1388136048065316,
      0.886751975525458,    0.16936019822848425,   0.6327522727545662,    0.635380555069413,    0.40152844863600323,
      0.5114169171284336,   0.5185614672521711,    0.04940680888298521,   0.5927527420448586,   0.004081843984338196,
      0.611581049519875,    0.5753891435829265,    0.3574326544426977,    0.6079510499897496,   0.16449092617603212,
      0.6995314134978298,   0.004239835106883305,  0.35085826191749636,   0.39165826007683324,  0.7876851397804997,
      0.006211069452425777, 0.2791760055342227,    0.9213991389869884,    0.8730810656506978,   0.9524559675550403,
      0.290153972227604,    0.8401166936915387,    0.7383245499273487,    0.3456826354918213,   0.4910238089090576,
      0.3401409033329521,   0.13095056557012497,   0.0361080988081901,    0.6798675384017852,   0.9027129404222184,
      0.6357024603609229,   0.45043719562592965,   0.8308068439506016,    0.8708314311735844,   0.9044186668920613,
      0.3118444321158038,   0.6193299528144401,    0.343460209344983,     0.45642068377669887,  0.7362366025637085,
      0.17489798955430746,  0.4475923979474332,    0.49267771485941037,   0.9147805216639984,   0.45935706630078055,
      0.8744326138824626,   0.928459089113231,     0.5324907160051711,    0.6400214688609211,   0.2577710810650832,
      0.324657289350905,    0.7809831977836019,    0.6776495828489617,    0.361423843762243,    0.3148856602740503,
      0.7156839650988885,   0.008585147934917492,  0.02054704844964983,   0.0454440429846138,   0.467402461137189,
      0.3482114761714936,   0.2274168614700276,    0.3675988930092098,    0.8227638227658204,   0.4735140918259736,
      0.19596949116497853,  0.2777603577620631,    0.9341776586261046,    0.4102405081961351,   0.02728682877510813,
      0.22180088690053323,  0.4969098885447305,    0.8900318941903801,    0.30074428571738887,  0.12675873590477205,
      0.22488977278831046,  0.6509731962068283,    0.22154354697564693,   0.6865202518278289,   0.8605771528753087,
      0.3562212006461868,   0.7866783613717578,    0.9993156197161146,    0.620176535824029,    0.01424037752463747,
      0.12046807952838845,  0.14105948480485575,   0.8130737272213242,    0.23107384517188134,  0.030079422556517188,
      0.17149243221501909,  0.2696618250878239,    0.09029226432107296,   0.9280525217627306,   0.174299626331055,
      0.601922588468467,    0.7750427002091234,    0.7108870437063272,    0.9340984899103667,   0.4188843096595267,
      0.319215520593643,    0.11771029618746809,   0.8979402481813988,    0.7666755194391025,   0.474170125390853,
      0.13960662583364958,  0.8076048584231867,    0.7643973635630646,    0.14612254019625004,  0.9276971598715721,
      0.08292626610364884,  0.6305267716579811,    0.14456224796821027,   0.493939632833688,    0.24714075783963407,
      0.637129169365288,    0.34416412881956693,   0.384871223091256,     0.4221255541659472,   0.2970822199027767,
      0.7290686471896674,   0.7622610881055619,    0.24234999643629496,   0.7827833151078375,   0.47079183685813464,
      0.9136482203752961,   0.7768386939495876,    0.8984271382188533,    0.7831497277215794,   0.8603641619194752,
      0.4086200513012481,   0.5322382329384319,    0.2921659601352481,    0.20374405516041583,  0.6910280220095179,
      0.7350636029248344,   0.03120480264321246,   0.9056713041598138,    0.2120133204613942,   0.9676421774705622,
      0.33548288170860974,  0.6391815211464841,    0.31535986613369604,   0.5877570824102291,   0.6861092075074696,
      0.528332340935112,    0.7269711145951828,    0.20812038948111622,   0.4223837383275706,   0.4631539491432527,
      0.8213528389917474,   0.8880552830046495,    0.19101754008288407,   0.9129590937779266,   0.19564066112257705,
      0.8409450026881247,   0.9751661267040307,    0.7276057777519807,    0.7273041470712368,   0.3777965634633952,
      0.20424268820820335,  0.7594567227703592,    0.5580175944700493,    0.32656469883293826,  0.41670888180343424,
      0.5620465315393466,   0.3285477028094975,    0.02765869743583449,   0.626135560747538,    0.9676938413436679,
      0.9559943893515941,   0.4046315875494847,    0.08583441419976279,   0.004701142838580807, 0.16396793443292523,
      0.002905946258930814, 0.7544300764519166,    0.14872496584233852,   0.7357426137848664,   0.6471850332368065,
      0.26789766611378607,  0.27322340111095766,   0.2680931795929846,    0.8177762874567295,   0.8736686253239911,
      0.8251362617469858,   0.9577690476905739,    0.7581006474779918,    0.6853565742888263,   0.3880096040198705,
      0.6672084718234337,   0.034634868583634404,  0.6066253338972054,    0.9404065215610417,   0.17461530457647234,
      0.5802981115586667,   0.9850309591715055,    0.12108199859136526,   0.18388083399956057,  0.5242994382487212,
      0.9349653031183464,   0.9395017553746543,    0.7548311572520328,    0.7757145759635072,   0.2594007449598288,
      0.9677764682764135,   0.6288482538745904,    0.07372112834870348,   0.2773844267431448,   0.8491493815037809,
      0.3993980794861991,   0.9135968462592506,    0.2701036343384797,    0.43759924003124595,  0.5207484113258347,
      0.7969089682462961,   0.1425059391434702,    0.5817575280658813,    0.35439249722790844,  0.3261970280116724,
      0.3683029453317247,   0.5803936269369658,    0.4590798443606058,    0.7979313236417561,   0.3021183772119437,
      0.5180709751097267,   0.2653720936625277,    0.06001106938898426,
  };

  TransResult result;
  EXPECT_EQ(TransposeWithShapeCheck(reinterpret_cast<uint8_t *>(data), std::vector<int64_t>({1, 24, 24, 3}),
                                    std::vector<int64_t>({1, 3, 24, 24}), DT_FLOAT, std::vector<int64_t>({0, 3, 1, 2}),
                                    result),
            SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_FLOAT_EQ((reinterpret_cast<float *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, trans_shape) {
  FormatTransferTranspose transfer;
  std::vector<int64_t> dst_shape;
  EXPECT_EQ(transfer.TransShape(FORMAT_NCHW, std::vector<int64_t>({1, 3, 8, 8}), DT_FLOAT16, FORMAT_HWCN, dst_shape),
            SUCCESS);
  EXPECT_EQ(dst_shape, std::vector<int64_t>({8, 8, 3, 1}));

  EXPECT_EQ(transfer.TransShape(FORMAT_NCHW, std::vector<int64_t>({1, 3, 8, 8}), DT_FLOAT16, FORMAT_NHWC, dst_shape),
            SUCCESS);
  EXPECT_EQ(dst_shape, std::vector<int64_t>({1, 8, 8, 3}));

  EXPECT_EQ(transfer.TransShape(FORMAT_NHWC, std::vector<int64_t>({1, 8, 8, 3}), DT_FLOAT16, FORMAT_NCHW, dst_shape),
            SUCCESS);
  EXPECT_EQ(dst_shape, std::vector<int64_t>({1, 3, 8, 8}));

  EXPECT_EQ(transfer.TransShape(FORMAT_HWCN, std::vector<int64_t>({8, 8, 3, 1}), DT_FLOAT16, FORMAT_NCHW, dst_shape),
            SUCCESS);
  EXPECT_EQ(dst_shape, std::vector<int64_t>({1, 3, 8, 8}));
}

TEST_F(UtestFormatTranspose, nchw_to_chwn1) {
  uint16_t data[1 * 2 * 3 * 4] = {
      14329, 11393, 10909, 14508, 14671, 14284, 15230, 13538, 12337, 14968, 12427, 12814,
      13675, 15281, 14619, 14878, 14470, 14688, 14055, 14566, 12998, 11163, 13835, 9363,
  };
  uint16_t ret[2 * 3 * 4 * 1] = {
      14329, 11393, 10909, 14508, 14671, 14284, 15230, 13538, 12337, 14968, 12427, 12814,
      13675, 15281, 14619, 14878, 14470, 14688, 14055, 14566, 12998, 11163, 13835, 9363,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NCHW, FORMAT_CHWN, {1, 2, 3, 4}, {2, 3, 4, 1}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nchw_to_chwn2) {
  uint16_t data[2 * 3 * 4 * 5] = {
      14828, 14590, 13310, 14873, 14460, 14266, 14191, 15059, 14631, 14744, 8712,  9060,  10329, 14793, 14813,
      12083, 14752, 14771, 12768, 14540, 13767, 14935, 15248, 15328, 14863, 14383, 12246, 13844, 14675, 12828,
      13122, 15284, 14630, 14721, 13883, 13363, 11811, 9642,  14012, 13396, 15086, 14222, 14797, 14173, 14397,
      15042, 11974, 15166, 13588, 15095, 15230, 12827, 15275, 12324, 12618, 14631, 13488, 14433, 14346, 11441,
      14553, 13612, 13193, 12393, 15356, 12178, 13389, 15035, 12536, 14468, 11337, 13481, 12476, 12398, 12752,
      11443, 15122, 15330, 10727, 10380, 12948, 13559, 13328, 14691, 11713, 13918, 13916, 13506, 13322, 11775,
      14914, 13585, 14353, 12896, 8004,  14401, 10588, 14515, 11702, 14488, 13873, 14808, 13674, 13734, 15352,
      14930, 14605, 14998, 14980, 14631, 13056, 15090, 14404, 15268, 12694, 14921, 15298, 14651, 15286, 15220,
  };
  uint16_t ret[3 * 4 * 5 * 2] = {
      14828, 14553, 14590, 13612, 13310, 13193, 14873, 12393, 14460, 15356, 14266, 12178, 14191, 13389, 15059,
      15035, 14631, 12536, 14744, 14468, 8712,  11337, 9060,  13481, 10329, 12476, 14793, 12398, 14813, 12752,
      12083, 11443, 14752, 15122, 14771, 15330, 12768, 10727, 14540, 10380, 13767, 12948, 14935, 13559, 15248,
      13328, 15328, 14691, 14863, 11713, 14383, 13918, 12246, 13916, 13844, 13506, 14675, 13322, 12828, 11775,
      13122, 14914, 15284, 13585, 14630, 14353, 14721, 12896, 13883, 8004,  13363, 14401, 11811, 10588, 9642,
      14515, 14012, 11702, 13396, 14488, 15086, 13873, 14222, 14808, 14797, 13674, 14173, 13734, 14397, 15352,
      15042, 14930, 11974, 14605, 15166, 14998, 13588, 14980, 15095, 14631, 15230, 13056, 12827, 15090, 15275,
      14404, 12324, 15268, 12618, 12694, 14631, 14921, 13488, 15298, 14433, 14651, 14346, 15286, 11441, 15220,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NCHW, FORMAT_CHWN, {2, 3, 4, 5}, {3, 4, 5, 2}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_nchw1) {
  uint16_t ret[1 * 2 * 3 * 4] = {
      14329, 11393, 10909, 14508, 14671, 14284, 15230, 13538, 12337, 14968, 12427, 12814,
      13675, 15281, 14619, 14878, 14470, 14688, 14055, 14566, 12998, 11163, 13835, 9363,
  };
  uint16_t data[2 * 3 * 4 * 1] = {
      14329, 11393, 10909, 14508, 14671, 14284, 15230, 13538, 12337, 14968, 12427, 12814,
      13675, 15281, 14619, 14878, 14470, 14688, 14055, 14566, 12998, 11163, 13835, 9363,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_NCHW, {2, 3, 4, 1}, {1, 2, 3, 4}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_nchw2) {
  uint16_t ret[2 * 3 * 4 * 5] = {
      14828, 14590, 13310, 14873, 14460, 14266, 14191, 15059, 14631, 14744, 8712,  9060,  10329, 14793, 14813,
      12083, 14752, 14771, 12768, 14540, 13767, 14935, 15248, 15328, 14863, 14383, 12246, 13844, 14675, 12828,
      13122, 15284, 14630, 14721, 13883, 13363, 11811, 9642,  14012, 13396, 15086, 14222, 14797, 14173, 14397,
      15042, 11974, 15166, 13588, 15095, 15230, 12827, 15275, 12324, 12618, 14631, 13488, 14433, 14346, 11441,
      14553, 13612, 13193, 12393, 15356, 12178, 13389, 15035, 12536, 14468, 11337, 13481, 12476, 12398, 12752,
      11443, 15122, 15330, 10727, 10380, 12948, 13559, 13328, 14691, 11713, 13918, 13916, 13506, 13322, 11775,
      14914, 13585, 14353, 12896, 8004,  14401, 10588, 14515, 11702, 14488, 13873, 14808, 13674, 13734, 15352,
      14930, 14605, 14998, 14980, 14631, 13056, 15090, 14404, 15268, 12694, 14921, 15298, 14651, 15286, 15220,
  };
  uint16_t data[3 * 4 * 5 * 2] = {
      14828, 14553, 14590, 13612, 13310, 13193, 14873, 12393, 14460, 15356, 14266, 12178, 14191, 13389, 15059,
      15035, 14631, 12536, 14744, 14468, 8712,  11337, 9060,  13481, 10329, 12476, 14793, 12398, 14813, 12752,
      12083, 11443, 14752, 15122, 14771, 15330, 12768, 10727, 14540, 10380, 13767, 12948, 14935, 13559, 15248,
      13328, 15328, 14691, 14863, 11713, 14383, 13918, 12246, 13916, 13844, 13506, 14675, 13322, 12828, 11775,
      13122, 14914, 15284, 13585, 14630, 14353, 14721, 12896, 13883, 8004,  13363, 14401, 11811, 10588, 9642,
      14515, 14012, 11702, 13396, 14488, 15086, 13873, 14222, 14808, 14797, 13674, 14173, 13734, 14397, 15352,
      15042, 14930, 11974, 14605, 15166, 14998, 13588, 14980, 15095, 14631, 15230, 13056, 12827, 15090, 15275,
      14404, 12324, 15268, 12618, 12694, 14631, 14921, 13488, 15298, 14433, 14651, 14346, 15286, 11441, 15220,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_NCHW, {3, 4, 5, 2}, {2, 3, 4, 5}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nhwc_to_chwn1) {
  uint16_t data[1 * 2 * 3 * 4] = {
      15156, 14765, 15193, 12386, 15207, 14866, 12565, 14373, 14437, 14176, 14992, 12660,
      14101, 15184, 14197, 13624, 14646, 15009, 15165, 14585, 14831, 14233, 13940, 15290,
  };
  uint16_t ret[4 * 2 * 3 * 1] = {
      15156, 15207, 14437, 14101, 14646, 14831, 14765, 14866, 14176, 15184, 15009, 14233,
      15193, 12565, 14992, 14197, 15165, 13940, 12386, 14373, 12660, 13624, 14585, 15290,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NHWC, FORMAT_CHWN, {1, 2, 3, 4}, {4, 2, 3, 1}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nhwc_to_chwn2) {
  uint16_t data[2 * 3 * 4 * 5] = {
      12684, 13426, 14435, 12149, 14707, 13284, 13922, 13767, 14770, 15231, 13815, 15355, 14172, 13694, 15160,
      14684, 15030, 13894, 14877, 14792, 14940, 15102, 9406,  14297, 11410, 10120, 14727, 15269, 9594,  14439,
      11287, 15342, 15302, 9009,  14128, 11963, 14935, 13439, 15290, 14492, 14781, 14814, 15034, 13992, 14962,
      10638, 14344, 15162, 13625, 14435, 14596, 14294, 14798, 14402, 12369, 14539, 12314, 14760, 11785, 15006,
      14488, 15211, 14801, 14529, 14751, 14758, 14626, 12523, 14740, 14917, 12841, 15125, 14354, 12682, 13958,
      13454, 11957, 15264, 8764,  13459, 12437, 14388, 14768, 13619, 14159, 15110, 14878, 14464, 14564, 12856,
      14755, 12487, 13430, 14506, 14335, 14380, 13689, 14393, 15072, 14684, 14925, 13423, 14413, 14998, 13522,
      14881, 15081, 7247,  13016, 13873, 12762, 13382, 13563, 14333, 15270, 15006, 15300, 13663, 13677, 13900,
  };
  uint16_t ret[5 * 3 * 4 * 2] = {
      12684, 14488, 13284, 14758, 13815, 12841, 14684, 13454, 14940, 12437, 10120, 15110, 11287, 14755, 11963,
      14380, 14781, 14925, 10638, 14881, 14596, 12762, 14539, 15006, 13426, 15211, 13922, 14626, 15355, 15125,
      15030, 11957, 15102, 14388, 14727, 14878, 15342, 12487, 14935, 13689, 14814, 13423, 14344, 15081, 14294,
      13382, 12314, 15300, 14435, 14801, 13767, 12523, 14172, 14354, 13894, 15264, 9406,  14768, 15269, 14464,
      15302, 13430, 13439, 14393, 15034, 14413, 15162, 7247,  14798, 13563, 14760, 13663, 12149, 14529, 14770,
      14740, 13694, 12682, 14877, 8764,  14297, 13619, 9594,  14564, 9009,  14506, 15290, 15072, 13992, 14998,
      13625, 13016, 14402, 14333, 11785, 13677, 14707, 14751, 15231, 14917, 15160, 13958, 14792, 13459, 11410,
      14159, 14439, 12856, 14128, 14335, 14492, 14684, 14962, 13522, 14435, 13873, 12369, 15270, 15006, 13900,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NHWC, FORMAT_CHWN, {2, 3, 4, 5}, {5, 3, 4, 2}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_nhwc1) {
  uint16_t ret[1 * 2 * 3 * 4] = {
      15156, 14765, 15193, 12386, 15207, 14866, 12565, 14373, 14437, 14176, 14992, 12660,
      14101, 15184, 14197, 13624, 14646, 15009, 15165, 14585, 14831, 14233, 13940, 15290,
  };
  uint16_t data[4 * 2 * 3 * 1] = {
      15156, 15207, 14437, 14101, 14646, 14831, 14765, 14866, 14176, 15184, 15009, 14233,
      15193, 12565, 14992, 14197, 15165, 13940, 12386, 14373, 12660, 13624, 14585, 15290,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_NHWC, {4, 2, 3, 1}, {1, 2, 3, 4}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_nhwc2) {
  uint16_t ret[2 * 3 * 4 * 5] = {
      12684, 13426, 14435, 12149, 14707, 13284, 13922, 13767, 14770, 15231, 13815, 15355, 14172, 13694, 15160,
      14684, 15030, 13894, 14877, 14792, 14940, 15102, 9406,  14297, 11410, 10120, 14727, 15269, 9594,  14439,
      11287, 15342, 15302, 9009,  14128, 11963, 14935, 13439, 15290, 14492, 14781, 14814, 15034, 13992, 14962,
      10638, 14344, 15162, 13625, 14435, 14596, 14294, 14798, 14402, 12369, 14539, 12314, 14760, 11785, 15006,
      14488, 15211, 14801, 14529, 14751, 14758, 14626, 12523, 14740, 14917, 12841, 15125, 14354, 12682, 13958,
      13454, 11957, 15264, 8764,  13459, 12437, 14388, 14768, 13619, 14159, 15110, 14878, 14464, 14564, 12856,
      14755, 12487, 13430, 14506, 14335, 14380, 13689, 14393, 15072, 14684, 14925, 13423, 14413, 14998, 13522,
      14881, 15081, 7247,  13016, 13873, 12762, 13382, 13563, 14333, 15270, 15006, 15300, 13663, 13677, 13900,
  };
  uint16_t data[5 * 3 * 4 * 2] = {
      12684, 14488, 13284, 14758, 13815, 12841, 14684, 13454, 14940, 12437, 10120, 15110, 11287, 14755, 11963,
      14380, 14781, 14925, 10638, 14881, 14596, 12762, 14539, 15006, 13426, 15211, 13922, 14626, 15355, 15125,
      15030, 11957, 15102, 14388, 14727, 14878, 15342, 12487, 14935, 13689, 14814, 13423, 14344, 15081, 14294,
      13382, 12314, 15300, 14435, 14801, 13767, 12523, 14172, 14354, 13894, 15264, 9406,  14768, 15269, 14464,
      15302, 13430, 13439, 14393, 15034, 14413, 15162, 7247,  14798, 13563, 14760, 13663, 12149, 14529, 14770,
      14740, 13694, 12682, 14877, 8764,  14297, 13619, 9594,  14564, 9009,  14506, 15290, 15072, 13992, 14998,
      13625, 13016, 14402, 14333, 11785, 13677, 14707, 14751, 15231, 14917, 15160, 13958, 14792, 13459, 11410,
      14159, 14439, 12856, 14128, 14335, 14492, 14684, 14962, 13522, 14435, 13873, 12369, 15270, 15006, 13900,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_NHWC, {5, 3, 4, 2}, {2, 3, 4, 5}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nhwc_to_hwcn1) {
  uint16_t data[1 * 2 * 3 * 4] = {
      14129, 12008, 13612, 14950, 9964,  14974, 14727, 13558, 14770, 13280, 13988, 14765,
      12016, 12426, 14025, 13745, 13664, 14682, 14137, 11786, 13039, 15002, 11979, 14393,
  };
  uint16_t ret[2 * 3 * 4 * 1] = {
      14129, 12008, 13612, 14950, 9964,  14974, 14727, 13558, 14770, 13280, 13988, 14765,
      12016, 12426, 14025, 13745, 13664, 14682, 14137, 11786, 13039, 15002, 11979, 14393,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NHWC, FORMAT_HWCN, {1, 2, 3, 4}, {2, 3, 4, 1}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, nhwc_to_hwcn2) {
  uint16_t data[2 * 3 * 4 * 5] = {
      15241, 14379, 14509, 15065, 14406, 15216, 13592, 15337, 14061, 14560, 13329, 13347, 14049, 13721, 14899,
      13968, 12837, 14084, 14590, 14354, 14536, 13206, 14320, 14102, 13426, 14722, 13367, 14296, 10820, 15236,
      13542, 15195, 13589, 14402, 14992, 14552, 13629, 14822, 10726, 14672, 13646, 14451, 11311, 14799, 15108,
      14615, 14204, 12904, 14085, 14527, 15208, 13901, 14160, 15021, 15228, 14349, 12507, 11221, 14349, 15351,
      15275, 14430, 14909, 14487, 14214, 14199, 11764, 14547, 14863, 14847, 14610, 14552, 13374, 15204, 13327,
      15292, 14080, 15144, 11463, 13983, 14836, 14657, 14479, 13186, 11808, 14743, 14113, 14734, 14672, 14588,
      14590, 13482, 13693, 11461, 14844, 13050, 14797, 13567, 14446, 13603, 14551, 14501, 14589, 14529, 15077,
      13922, 14478, 14975, 14988, 14516, 14389, 15255, 13558, 14055, 12882, 15062, 15016, 11621, 15223, 15042,
  };
  uint16_t ret[3 * 4 * 5 * 2] = {
      15241, 15275, 14379, 14430, 14509, 14909, 15065, 14487, 14406, 14214, 15216, 14199, 13592, 11764, 15337,
      14547, 14061, 14863, 14560, 14847, 13329, 14610, 13347, 14552, 14049, 13374, 13721, 15204, 14899, 13327,
      13968, 15292, 12837, 14080, 14084, 15144, 14590, 11463, 14354, 13983, 14536, 14836, 13206, 14657, 14320,
      14479, 14102, 13186, 13426, 11808, 14722, 14743, 13367, 14113, 14296, 14734, 10820, 14672, 15236, 14588,
      13542, 14590, 15195, 13482, 13589, 13693, 14402, 11461, 14992, 14844, 14552, 13050, 13629, 14797, 14822,
      13567, 10726, 14446, 14672, 13603, 13646, 14551, 14451, 14501, 11311, 14589, 14799, 14529, 15108, 15077,
      14615, 13922, 14204, 14478, 12904, 14975, 14085, 14988, 14527, 14516, 15208, 14389, 13901, 15255, 14160,
      13558, 15021, 14055, 15228, 12882, 14349, 15062, 12507, 15016, 11221, 11621, 14349, 15223, 15351, 15042,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_NHWC, FORMAT_HWCN, {2, 3, 4, 5}, {3, 4, 5, 2}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_nhwc1) {
  uint16_t ret[1 * 2 * 3 * 4] = {
      14129, 12008, 13612, 14950, 9964,  14974, 14727, 13558, 14770, 13280, 13988, 14765,
      12016, 12426, 14025, 13745, 13664, 14682, 14137, 11786, 13039, 15002, 11979, 14393,
  };
  uint16_t data[2 * 3 * 4 * 1] = {
      14129, 12008, 13612, 14950, 9964,  14974, 14727, 13558, 14770, 13280, 13988, 14765,
      12016, 12426, 14025, 13745, 13664, 14682, 14137, 11786, 13039, 15002, 11979, 14393,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_HWCN, FORMAT_NHWC, {2, 3, 4, 1}, {1, 2, 3, 4}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_nhwc2) {
  uint16_t ret[2 * 3 * 4 * 5] = {
      15241, 14379, 14509, 15065, 14406, 15216, 13592, 15337, 14061, 14560, 13329, 13347, 14049, 13721, 14899,
      13968, 12837, 14084, 14590, 14354, 14536, 13206, 14320, 14102, 13426, 14722, 13367, 14296, 10820, 15236,
      13542, 15195, 13589, 14402, 14992, 14552, 13629, 14822, 10726, 14672, 13646, 14451, 11311, 14799, 15108,
      14615, 14204, 12904, 14085, 14527, 15208, 13901, 14160, 15021, 15228, 14349, 12507, 11221, 14349, 15351,
      15275, 14430, 14909, 14487, 14214, 14199, 11764, 14547, 14863, 14847, 14610, 14552, 13374, 15204, 13327,
      15292, 14080, 15144, 11463, 13983, 14836, 14657, 14479, 13186, 11808, 14743, 14113, 14734, 14672, 14588,
      14590, 13482, 13693, 11461, 14844, 13050, 14797, 13567, 14446, 13603, 14551, 14501, 14589, 14529, 15077,
      13922, 14478, 14975, 14988, 14516, 14389, 15255, 13558, 14055, 12882, 15062, 15016, 11621, 15223, 15042,
  };
  uint16_t data[3 * 4 * 5 * 2] = {
      15241, 15275, 14379, 14430, 14509, 14909, 15065, 14487, 14406, 14214, 15216, 14199, 13592, 11764, 15337,
      14547, 14061, 14863, 14560, 14847, 13329, 14610, 13347, 14552, 14049, 13374, 13721, 15204, 14899, 13327,
      13968, 15292, 12837, 14080, 14084, 15144, 14590, 11463, 14354, 13983, 14536, 14836, 13206, 14657, 14320,
      14479, 14102, 13186, 13426, 11808, 14722, 14743, 13367, 14113, 14296, 14734, 10820, 14672, 15236, 14588,
      13542, 14590, 15195, 13482, 13589, 13693, 14402, 11461, 14992, 14844, 14552, 13050, 13629, 14797, 14822,
      13567, 10726, 14446, 14672, 13603, 13646, 14551, 14451, 14501, 11311, 14589, 14799, 14529, 15108, 15077,
      14615, 13922, 14204, 14478, 12904, 14975, 14085, 14988, 14527, 14516, 15208, 14389, 13901, 15255, 14160,
      13558, 15021, 14055, 15228, 12882, 14349, 15062, 12507, 15016, 11221, 11621, 14349, 15223, 15351, 15042,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_HWCN, FORMAT_NHWC, {3, 4, 5, 2}, {2, 3, 4, 5}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_chwn1) {
  uint16_t data[1 * 2 * 3 * 4] = {
      14583, 12849, 14184, 14611, 12516, 11629, 15235, 13769, 9859,  15209, 14862, 15129,
      14201, 10199, 14281, 15009, 14606, 13650, 14919, 14789, 14460, 13307, 13646, 14611,
  };
  uint16_t ret[3 * 1 * 2 * 4] = {
      14583, 12849, 14184, 14611, 14201, 10199, 14281, 15009, 12516, 11629, 15235, 13769,
      14606, 13650, 14919, 14789, 9859,  15209, 14862, 15129, 14460, 13307, 13646, 14611,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_HWCN, FORMAT_CHWN, {1, 2, 3, 4}, {3, 1, 2, 4}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, hwcn_to_chwn2) {
  uint16_t data[2 * 3 * 4 * 5] = {
      11800, 12670, 15017, 13966, 12622, 14634, 14363, 14746, 13889, 12607, 9805,  14984, 9119,  13275, 14114,
      15158, 14442, 15308, 12364, 14944, 14014, 15035, 14983, 14868, 13560, 15094, 14419, 13245, 13675, 14802,
      13906, 9343,  14854, 13488, 14350, 13566, 15225, 14936, 11090, 14666, 14580, 14419, 13987, 13333, 14821,
      15338, 15153, 12083, 12206, 13802, 14941, 14897, 15181, 14527, 14508, 14883, 14709, 8970,  15133, 13956,
      10066, 11934, 13896, 14886, 13739, 10711, 14594, 12352, 14841, 14405, 15351, 13700, 13904, 14990, 13186,
      14602, 14762, 14686, 12950, 15127, 14630, 13246, 9233,  13646, 14467, 12789, 13639, 12463, 11667, 14927,
      14596, 13614, 13617, 11596, 15260, 14454, 13549, 13174, 14261, 13739, 8588,  14189, 13479, 11268, 14322,
      14807, 15008, 13276, 12450, 12053, 13016, 14735, 13952, 13959, 13576, 14340, 14408, 13392, 14753, 13954,
  };
  uint16_t ret[4 * 2 * 3 * 5] = {
      11800, 12670, 15017, 13966, 12622, 14014, 15035, 14983, 14868, 13560, 14580, 14419, 13987, 13333, 14821,
      10066, 11934, 13896, 14886, 13739, 14630, 13246, 9233,  13646, 14467, 8588,  14189, 13479, 11268, 14322,
      14634, 14363, 14746, 13889, 12607, 15094, 14419, 13245, 13675, 14802, 15338, 15153, 12083, 12206, 13802,
      10711, 14594, 12352, 14841, 14405, 12789, 13639, 12463, 11667, 14927, 14807, 15008, 13276, 12450, 12053,
      9805,  14984, 9119,  13275, 14114, 13906, 9343,  14854, 13488, 14350, 14941, 14897, 15181, 14527, 14508,
      15351, 13700, 13904, 14990, 13186, 14596, 13614, 13617, 11596, 15260, 13016, 14735, 13952, 13959, 13576,
      15158, 14442, 15308, 12364, 14944, 13566, 15225, 14936, 11090, 14666, 14883, 14709, 8970,  15133, 13956,
      14602, 14762, 14686, 12950, 15127, 14454, 13549, 13174, 14261, 13739, 14340, 14408, 13392, 14753, 13954,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_HWCN, FORMAT_CHWN, {2, 3, 4, 5}, {4, 2, 3, 5}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_hwcn1) {
  uint16_t ret[1 * 2 * 3 * 4] = {
      14583, 12849, 14184, 14611, 12516, 11629, 15235, 13769, 9859,  15209, 14862, 15129,
      14201, 10199, 14281, 15009, 14606, 13650, 14919, 14789, 14460, 13307, 13646, 14611,
  };
  uint16_t data[3 * 1 * 2 * 4] = {
      14583, 12849, 14184, 14611, 14201, 10199, 14281, 15009, 12516, 11629, 15235, 13769,
      14606, 13650, 14919, 14789, 9859,  15209, 14862, 15129, 14460, 13307, 13646, 14611,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_HWCN, {3, 1, 2, 4}, {1, 2, 3, 4}, DT_FLOAT16};
  TransResult result;
  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);

  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}

TEST_F(UtestFormatTranspose, chwn_to_hwcn2) {
  uint16_t ret[2 * 3 * 4 * 5] = {
      11800, 12670, 15017, 13966, 12622, 14634, 14363, 14746, 13889, 12607, 9805,  14984, 9119,  13275, 14114,
      15158, 14442, 15308, 12364, 14944, 14014, 15035, 14983, 14868, 13560, 15094, 14419, 13245, 13675, 14802,
      13906, 9343,  14854, 13488, 14350, 13566, 15225, 14936, 11090, 14666, 14580, 14419, 13987, 13333, 14821,
      15338, 15153, 12083, 12206, 13802, 14941, 14897, 15181, 14527, 14508, 14883, 14709, 8970,  15133, 13956,
      10066, 11934, 13896, 14886, 13739, 10711, 14594, 12352, 14841, 14405, 15351, 13700, 13904, 14990, 13186,
      14602, 14762, 14686, 12950, 15127, 14630, 13246, 9233,  13646, 14467, 12789, 13639, 12463, 11667, 14927,
      14596, 13614, 13617, 11596, 15260, 14454, 13549, 13174, 14261, 13739, 8588,  14189, 13479, 11268, 14322,
      14807, 15008, 13276, 12450, 12053, 13016, 14735, 13952, 13959, 13576, 14340, 14408, 13392, 14753, 13954,
  };
  uint16_t data[4 * 2 * 3 * 5] = {
      11800, 12670, 15017, 13966, 12622, 14014, 15035, 14983, 14868, 13560, 14580, 14419, 13987, 13333, 14821,
      10066, 11934, 13896, 14886, 13739, 14630, 13246, 9233,  13646, 14467, 8588,  14189, 13479, 11268, 14322,
      14634, 14363, 14746, 13889, 12607, 15094, 14419, 13245, 13675, 14802, 15338, 15153, 12083, 12206, 13802,
      10711, 14594, 12352, 14841, 14405, 12789, 13639, 12463, 11667, 14927, 14807, 15008, 13276, 12450, 12053,
      9805,  14984, 9119,  13275, 14114, 13906, 9343,  14854, 13488, 14350, 14941, 14897, 15181, 14527, 14508,
      15351, 13700, 13904, 14990, 13186, 14596, 13614, 13617, 11596, 15260, 13016, 14735, 13952, 13959, 13576,
      15158, 14442, 15308, 12364, 14944, 13566, 15225, 14936, 11090, 14666, 14883, 14709, 8970,  15133, 13956,
      14602, 14762, 14686, 12950, 15127, 14454, 13549, 13174, 14261, 13739, 14340, 14408, 13392, 14753, 13954,
  };

  TransArgs args{reinterpret_cast<uint8_t *>(data), FORMAT_CHWN, FORMAT_HWCN, {4, 2, 3, 5}, {2, 3, 4, 5}, DT_FLOAT16};
  TransResult result;

  FormatTransferTranspose transfer;
  EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS);
  EXPECT_EQ(result.length, sizeof(ret));
  for (size_t i = 0; i < sizeof(ret) / sizeof(ret[0]); ++i) {
    EXPECT_EQ((reinterpret_cast<uint16_t *>(result.data.get()))[i], ret[i]);
  }
}
}  // namespace formats
}  // namespace ge