/** * 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 #include "common/formats/format_transfers/format_transfer_fractal_z.h" #include "common/formats/format_transfers/format_transfer.h" namespace ge { namespace formats { class UtestFormatTransferNhwcFz : public testing::Test { protected: void SetUp() {} void TearDown() {} }; TEST_F(UtestFormatTransferNhwcFz, nhwc_to_fracz_fp16_success_lt_cube) { uint16_t data_4d[1 * 1 * 16 * 16] = { 15108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; uint16_t data[1 * 1 * 1 * 1] = { 15108, }; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, {1, 1, 1, 1}, {1, 1, 16, 16}, DT_FLOAT16}; TransResult result; FormatTransferFractalZ transfer; EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); EXPECT_EQ(result.length, sizeof(data_4d)); for (int i = 0; i < sizeof(data_4d) / sizeof(data_4d[0]); ++i) { EXPECT_EQ((reinterpret_cast(result.data.get()))[i], data_4d[i]); } } TEST_F(UtestFormatTransferNhwcFz, nhwc_to_fracz_fp16_success_eq_cube) { uint16_t data_4d[4 * 1 * 16 * 16] = { 14422, 14250, 15207, 11368, 13196, 12957, 15106, 15099, 15047, 13771, 13891, 14758, 13298, 13411, 15283, 15351, 13386, 13586, 12661, 14761, 15025, 10628, 12072, 14528, 14866, 13804, 15034, 14930, 14536, 13776, 11278, 10879, 12538, 13720, 14793, 8244, 14509, 15201, 14563, 12649, 15320, 14814, 14229, 13811, 13734, 13795, 13354, 12915, 13498, 14218, 14748, 9860, 13268, 11456, 14650, 14749, 14957, 13538, 14260, 15152, 14451, 14932, 12831, 14326, 13007, 14492, 14752, 15121, 14798, 14508, 14502, 14809, 13826, 15346, 14598, 13712, 14560, 14605, 14954, 14740, 13011, 13442, 14945, 13182, 15009, 8704, 12211, 14842, 15205, 12795, 10772, 13892, 12902, 14761, 14601, 12663, 13702, 14580, 15322, 14745, 14750, 14264, 14433, 13854, 14778, 15011, 14745, 14599, 13430, 9216, 14570, 14514, 15336, 9439, 15021, 15107, 14006, 12950, 13622, 14707, 14981, 14850, 13337, 13280, 15124, 10206, 13412, 13832, 15303, 14455, 15079, 12787, 14613, 14302, 15036, 13536, 15243, 13739, 15259, 15099, 13211, 14770, 15097, 14402, 15204, 14955, 14621, 12097, 15083, 14119, 14814, 4005, 10998, 14856, 13380, 14647, 14540, 14008, 11346, 14363, 14313, 15108, 6776, 15180, 14647, 13917, 14629, 13412, 13480, 10439, 14776, 14563, 15328, 14777, 14436, 14902, 15255, 14241, 13324, 15082, 14738, 15265, 14657, 13571, 15280, 15082, 9338, 12341, 14991, 14847, 14948, 14037, 13624, 14947, 14968, 12058, 14060, 13434, 14349, 14972, 12716, 14287, 12350, 12619, 15263, 13831, 15160, 15032, 14591, 12370, 13537, 11343, 13909, 12663, 15078, 14938, 14409, 13852, 12414, 13903, 13825, 13958, 10736, 11772, 13429, 13236, 15033, 13910, 15008, 14564, 14344, 14546, 15227, 14491, 14858, 14957, 12725, 13536, 13030, 12562, 15163, 13294, 15229, 15146, 11977, 14509, 15259, 12425, 15334, 13340, 15329, 15071, 14342, 14555, 14473, 15054, 14551, 14307, 14721, 14255, 13352, 15201, 15191, 13045, 12146, 13419, 14884, 13352, 14843, 14356, 10607, 15253, 12948, 13749, 13930, 14144, 9963, 15200, 14364, 14952, 14652, 15188, 14500, 14558, 15289, 14978, 10959, 14101, 15131, 14699, 15179, 14896, 14614, 13448, 14463, 12326, 13099, 13035, 12361, 13939, 15216, 15031, 15104, 15122, 14754, 14837, 14295, 12738, 13007, 13385, 13712, 13448, 14487, 13904, 14940, 12247, 15013, 13784, 15169, 11543, 15351, 14657, 15047, 14243, 14234, 14986, 15288, 9009, 14717, 13685, 13416, 12043, 14874, 14362, 12565, 15139, 15351, 11442, 14669, 12929, 15084, 12574, 12783, 14385, 10838, 14537, 14440, 14713, 15140, 14316, 14694, 11250, 14399, 14942, 14509, 11151, 15125, 13241, 14844, 5053, 13906, 14498, 10895, 15031, 15220, 15172, 15160, 13782, 7336, 13280, 15245, 15190, 12154, 13669, 14612, 14388, 9114, 14866, 15180, 12447, 14803, 13802, 13786, 14692, 13145, 13633, 10303, 14120, 14322, 9452, 13412, 14852, 15342, 12512, 12724, 14482, 14708, 13886, 14371, 13771, 13399, 14432, 13585, 15028, 14173, 14347, 15077, 13051, 12138, 14267, 11114, 13958, 14961, 13844, 15272, 14643, 12614, 13212, 13324, 15077, 14349, 14662, 14273, 10859, 5552, 10874, 13863, 14104, 13495, 14904, 11517, 15108, 14999, 13078, 15106, 14639, 13345, 6413, 13979, 15205, 14332, 12647, 13386, 15312, 10976, 15089, 14089, 14370, 8462, 13359, 14322, 14221, 14371, 14449, 13536, 12118, 14288, 13483, 12182, 13621, 15261, 14723, 12623, 13323, 14817, 14529, 13499, 14350, 11063, 14315, 12718, 14574, 14180, 12505, 13109, 11207, 14801, 13781, 14392, 13549, 14481, 13731, 15236, 9398, 15358, 12351, 14751, 14509, 11815, 14787, 9669, 14645, 15099, 14490, 13121, 15050, 15076, 14756, 14958, 4978, 14576, 11508, 14746, 13161, 14408, 10590, 13429, 14945, 13993, 15033, 13183, 13027, 13040, 15055, 14563, 15154, 14639, 15242, 14828, 12673, 12310, 15149, 12333, 11282, 14004, 15172, 11527, 15094, 14725, 14941, 14435, 12561, 13832, 13489, 13186, 11553, 14927, 14861, 11684, 14518, 14331, 10694, 12473, 14447, 14008, 15061, 14954, 15103, 14619, 13134, 14321, 14898, 10583, 15066, 15013, 14557, 14566, 14025, 13341, 14381, 13587, 11771, 12011, 15320, 13462, 14503, 14944, 12535, 11976, 12949, 11427, 12383, 14405, 13595, 15002, 14362, 13336, 13825, 11229, 13185, 14932, 13706, 14583, 15300, 15332, 14997, 11169, 15248, 14661, 9558, 13210, 13015, 15314, 14332, 14428, 15128, 12862, 15058, 14929, 14899, 8721, 14699, 14163, 14774, 14835, 14416, 14252, 12609, 11329, 13053, 11842, 15323, 12010, 13224, 12629, 15297, 12422, 11133, 9125, 11724, 14585, 14376, 14733, 14556, 11591, 12995, 14556, 14822, 14914, 15332, 13424, 14846, 13522, 14947, 9886, 15179, 11710, 14524, 12604, 13600, 14898, 14863, 14901, 9668, 13991, 15090, 14553, 9288, 13662, 12807, 13881, 15143, 14591, 10092, 15358, 9907, 15349, 14811, 14578, 14389, 15154, 13072, 13805, 13115, 14879, 14902, 14466, 14540, 9926, 14475, 13389, 14468, 14489, 14673, 14794, 13494, 15219, 15314, 14266, 12104, 14068, 12709, 13135, 15088, 15118, 14229, 15145, 13771, 14614, 14426, 14336, 14375, 15264, 13925, 13501, 14613, 14973, 13381, 15025, 14770, 11856, 15035, 13759, 14437, 14171, 15349, 14474, 14662, 13505, 15329, 15210, 15353, 13535, 12864, 14658, 14968, 9562, 13352, 12356, 13565, 14481, 15092, 12920, 15290, 14046, 10403, 14299, 13885, 9128, 13798, 14575, 14484, 14728, 14471, 14678, 15356, 13955, 14939, 15149, 14775, 15303, 14614, 14530, 13890, 14051, 14869, 15253, 12810, 12328, 14590, 13489, 13653, 14448, 15013, 11047, 13979, 12332, 14777, 14414, 15286, 12226, 14359, 13505, 13476, 13932, 14273, 14620, 14246, 14987, 13774, 14562, 12418, 15303, 13383, 15006, 11992, 13652, 14342, 15025, 13315, 13500, 12981, 13108, 14252, 14185, 14384, 14865, 12340, 13978, 14106, 12372, 14367, 10200, 15157, 13088, 14517, 15146, 14143, 14497, 13560, 12995, 13539, 14724, 14606, 13340, 13378, 13432, 15143, 13249, 13229, 13168, 13910, 14061, 14456, 14896, 12972, 13595, 13416, 13143, 9473, 14306, 13768, 15134, 13998, 10894, 15136, 12425, 13283, 11400, 13338, 12118, 12982, 11692, 15215, 14555, 10674, 14734, 12815, 13038, 14365, 7730, 14605, 12123, 14907, 12370, 14712, 14057, 11671, 14851, 14573, 14218, 11442, 14831, 14930, 13150, 12025, 15170, 7647, 14724, 14542, 14814, 14375, 14807, 13142, 10157, 14206, 14185, 15359, 15121, 15264, 15117, 12578, 12061, 14273, 15339, 15092, 12803, 13734, 12847, 13867, 11298, 13600, 13421, 14637, 11295, 15278, 13706, 14380, 11848, 14498, 15301, 15005, 14836, 14136, 14218, 14496, 12261, 15284, 12586, 12621, 15127, 12804, 13534, 14163, 12599, 12975, 14403, 14132, 13920, 14636, 14395, 14503, 11160, 15052, 14894, 13730, 13449, 14626, 13776, 13444, 12879, 13214, 13681, 14877, 14295, 14621, 13375, 8695, 14774, 14179, 14221, 15341, 12290, 14558, 12476, 11462, 13847, 14278, 14174, 14092, 15192, 15254, 15205, 14700, 14907, 10047, 12606, 12503, 14393, 14854, 14327, 15155, 13000, 10717, 15247, 13657, 13965, 15243, 14989, 13768, 15198, 11511, 13788, 12911, 13993, 13693, 12862, 14613, 15056, 15244, 14444, 15174, 15312, 15133, 14859, 14225, 14558, 14003, 10672, 14388, 14487, 15001, 15022, 14634, 13742, 12429, 13937, 15102, 12090, 15326, 13650, 13590, 13648, 10701, 14528, 15178, 14926, 14584, 13916, 13144, 10598, 15269, 14247, 12646, 15283, 14202, 14649, 14873, 15252, 14565, 14099, 14651, 15105, 12658, 14767, 12639, 13930, 13290, 14558, 13149, 10365, 13507, 14337, 14605, }; uint16_t data[16 * 2 * 2 * 16] = { 14422, 14250, 15207, 11368, 13196, 12957, 15106, 15099, 15047, 13771, 13891, 14758, 13298, 13411, 15283, 15351, 14551, 14307, 14721, 14255, 13352, 15201, 15191, 13045, 12146, 13419, 14884, 13352, 14843, 14356, 10607, 15253, 13040, 15055, 14563, 15154, 14639, 15242, 14828, 12673, 12310, 15149, 12333, 11282, 14004, 15172, 11527, 15094, 14987, 13774, 14562, 12418, 15303, 13383, 15006, 11992, 13652, 14342, 15025, 13315, 13500, 12981, 13108, 14252, 13386, 13586, 12661, 14761, 15025, 10628, 12072, 14528, 14866, 13804, 15034, 14930, 14536, 13776, 11278, 10879, 12948, 13749, 13930, 14144, 9963, 15200, 14364, 14952, 14652, 15188, 14500, 14558, 15289, 14978, 10959, 14101, 14725, 14941, 14435, 12561, 13832, 13489, 13186, 11553, 14927, 14861, 11684, 14518, 14331, 10694, 12473, 14447, 14185, 14384, 14865, 12340, 13978, 14106, 12372, 14367, 10200, 15157, 13088, 14517, 15146, 14143, 14497, 13560, 12538, 13720, 14793, 8244, 14509, 15201, 14563, 12649, 15320, 14814, 14229, 13811, 13734, 13795, 13354, 12915, 15131, 14699, 15179, 14896, 14614, 13448, 14463, 12326, 13099, 13035, 12361, 13939, 15216, 15031, 15104, 15122, 14008, 15061, 14954, 15103, 14619, 13134, 14321, 14898, 10583, 15066, 15013, 14557, 14566, 14025, 13341, 14381, 12995, 13539, 14724, 14606, 13340, 13378, 13432, 15143, 13249, 13229, 13168, 13910, 14061, 14456, 14896, 12972, 13498, 14218, 14748, 9860, 13268, 11456, 14650, 14749, 14957, 13538, 14260, 15152, 14451, 14932, 12831, 14326, 14754, 14837, 14295, 12738, 13007, 13385, 13712, 13448, 14487, 13904, 14940, 12247, 15013, 13784, 15169, 11543, 13587, 11771, 12011, 15320, 13462, 14503, 14944, 12535, 11976, 12949, 11427, 12383, 14405, 13595, 15002, 14362, 13595, 13416, 13143, 9473, 14306, 13768, 15134, 13998, 10894, 15136, 12425, 13283, 11400, 13338, 12118, 12982, 13007, 14492, 14752, 15121, 14798, 14508, 14502, 14809, 13826, 15346, 14598, 13712, 14560, 14605, 14954, 14740, 15351, 14657, 15047, 14243, 14234, 14986, 15288, 9009, 14717, 13685, 13416, 12043, 14874, 14362, 12565, 15139, 13336, 13825, 11229, 13185, 14932, 13706, 14583, 15300, 15332, 14997, 11169, 15248, 14661, 9558, 13210, 13015, 11692, 15215, 14555, 10674, 14734, 12815, 13038, 14365, 7730, 14605, 12123, 14907, 12370, 14712, 14057, 11671, 13011, 13442, 14945, 13182, 15009, 8704, 12211, 14842, 15205, 12795, 10772, 13892, 12902, 14761, 14601, 12663, 15351, 11442, 14669, 12929, 15084, 12574, 12783, 14385, 10838, 14537, 14440, 14713, 15140, 14316, 14694, 11250, 15314, 14332, 14428, 15128, 12862, 15058, 14929, 14899, 8721, 14699, 14163, 14774, 14835, 14416, 14252, 12609, 14851, 14573, 14218, 11442, 14831, 14930, 13150, 12025, 15170, 7647, 14724, 14542, 14814, 14375, 14807, 13142, 13702, 14580, 15322, 14745, 14750, 14264, 14433, 13854, 14778, 15011, 14745, 14599, 13430, 9216, 14570, 14514, 14399, 14942, 14509, 11151, 15125, 13241, 14844, 5053, 13906, 14498, 10895, 15031, 15220, 15172, 15160, 13782, 11329, 13053, 11842, 15323, 12010, 13224, 12629, 15297, 12422, 11133, 9125, 11724, 14585, 14376, 14733, 14556, 10157, 14206, 14185, 15359, 15121, 15264, 15117, 12578, 12061, 14273, 15339, 15092, 12803, 13734, 12847, 13867, 15336, 9439, 15021, 15107, 14006, 12950, 13622, 14707, 14981, 14850, 13337, 13280, 15124, 10206, 13412, 13832, 7336, 13280, 15245, 15190, 12154, 13669, 14612, 14388, 9114, 14866, 15180, 12447, 14803, 13802, 13786, 14692, 11591, 12995, 14556, 14822, 14914, 15332, 13424, 14846, 13522, 14947, 9886, 15179, 11710, 14524, 12604, 13600, 11298, 13600, 13421, 14637, 11295, 15278, 13706, 14380, 11848, 14498, 15301, 15005, 14836, 14136, 14218, 14496, 15303, 14455, 15079, 12787, 14613, 14302, 15036, 13536, 15243, 13739, 15259, 15099, 13211, 14770, 15097, 14402, 13145, 13633, 10303, 14120, 14322, 9452, 13412, 14852, 15342, 12512, 12724, 14482, 14708, 13886, 14371, 13771, 14898, 14863, 14901, 9668, 13991, 15090, 14553, 9288, 13662, 12807, 13881, 15143, 14591, 10092, 15358, 9907, 12261, 15284, 12586, 12621, 15127, 12804, 13534, 14163, 12599, 12975, 14403, 14132, 13920, 14636, 14395, 14503, 15204, 14955, 14621, 12097, 15083, 14119, 14814, 4005, 10998, 14856, 13380, 14647, 14540, 14008, 11346, 14363, 13399, 14432, 13585, 15028, 14173, 14347, 15077, 13051, 12138, 14267, 11114, 13958, 14961, 13844, 15272, 14643, 15349, 14811, 14578, 14389, 15154, 13072, 13805, 13115, 14879, 14902, 14466, 14540, 9926, 14475, 13389, 14468, 11160, 15052, 14894, 13730, 13449, 14626, 13776, 13444, 12879, 13214, 13681, 14877, 14295, 14621, 13375, 8695, 14313, 15108, 6776, 15180, 14647, 13917, 14629, 13412, 13480, 10439, 14776, 14563, 15328, 14777, 14436, 14902, 12614, 13212, 13324, 15077, 14349, 14662, 14273, 10859, 5552, 10874, 13863, 14104, 13495, 14904, 11517, 15108, 14489, 14673, 14794, 13494, 15219, 15314, 14266, 12104, 14068, 12709, 13135, 15088, 15118, 14229, 15145, 13771, 14774, 14179, 14221, 15341, 12290, 14558, 12476, 11462, 13847, 14278, 14174, 14092, 15192, 15254, 15205, 14700, 15255, 14241, 13324, 15082, 14738, 15265, 14657, 13571, 15280, 15082, 9338, 12341, 14991, 14847, 14948, 14037, 14999, 13078, 15106, 14639, 13345, 6413, 13979, 15205, 14332, 12647, 13386, 15312, 10976, 15089, 14089, 14370, 14614, 14426, 14336, 14375, 15264, 13925, 13501, 14613, 14973, 13381, 15025, 14770, 11856, 15035, 13759, 14437, 14907, 10047, 12606, 12503, 14393, 14854, 14327, 15155, 13000, 10717, 15247, 13657, 13965, 15243, 14989, 13768, 13624, 14947, 14968, 12058, 14060, 13434, 14349, 14972, 12716, 14287, 12350, 12619, 15263, 13831, 15160, 15032, 8462, 13359, 14322, 14221, 14371, 14449, 13536, 12118, 14288, 13483, 12182, 13621, 15261, 14723, 12623, 13323, 14171, 15349, 14474, 14662, 13505, 15329, 15210, 15353, 13535, 12864, 14658, 14968, 9562, 13352, 12356, 13565, 15198, 11511, 13788, 12911, 13993, 13693, 12862, 14613, 15056, 15244, 14444, 15174, 15312, 15133, 14859, 14225, 14591, 12370, 13537, 11343, 13909, 12663, 15078, 14938, 14409, 13852, 12414, 13903, 13825, 13958, 10736, 11772, 14817, 14529, 13499, 14350, 11063, 14315, 12718, 14574, 14180, 12505, 13109, 11207, 14801, 13781, 14392, 13549, 14481, 15092, 12920, 15290, 14046, 10403, 14299, 13885, 9128, 13798, 14575, 14484, 14728, 14471, 14678, 15356, 14558, 14003, 10672, 14388, 14487, 15001, 15022, 14634, 13742, 12429, 13937, 15102, 12090, 15326, 13650, 13590, 13429, 13236, 15033, 13910, 15008, 14564, 14344, 14546, 15227, 14491, 14858, 14957, 12725, 13536, 13030, 12562, 14481, 13731, 15236, 9398, 15358, 12351, 14751, 14509, 11815, 14787, 9669, 14645, 15099, 14490, 13121, 15050, 13955, 14939, 15149, 14775, 15303, 14614, 14530, 13890, 14051, 14869, 15253, 12810, 12328, 14590, 13489, 13653, 13648, 10701, 14528, 15178, 14926, 14584, 13916, 13144, 10598, 15269, 14247, 12646, 15283, 14202, 14649, 14873, 15163, 13294, 15229, 15146, 11977, 14509, 15259, 12425, 15334, 13340, 15329, 15071, 14342, 14555, 14473, 15054, 15076, 14756, 14958, 4978, 14576, 11508, 14746, 13161, 14408, 10590, 13429, 14945, 13993, 15033, 13183, 13027, 14448, 15013, 11047, 13979, 12332, 14777, 14414, 15286, 12226, 14359, 13505, 13476, 13932, 14273, 14620, 14246, 15252, 14565, 14099, 14651, 15105, 12658, 14767, 12639, 13930, 13290, 14558, 13149, 10365, 13507, 14337, 14605, }; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, {16, 2, 2, 16}, {4, 1, 16, 16}, DT_FLOAT16}; TransResult result; FormatTransferFractalZ transfer; EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); EXPECT_EQ(result.length, sizeof(data_4d)); for (int i = 0; i < sizeof(data_4d) / sizeof(data_4d[0]); ++i) { EXPECT_EQ((reinterpret_cast(result.data.get()))[i], data_4d[i]); } Status status = transfer.TransShape(args.src_format, args.src_shape, args.src_data_type, args.dst_format, args.dst_shape); EXPECT_EQ(status, SUCCESS); } TEST_F(UtestFormatTransferNhwcFz, nhwc_to_fracz_fp16_success_gt_cube) { uint16_t data_4d[8 * 2 * 16 * 16] = { 14643, 15084, 14775, 14950, 14594, 14803, 12177, 13120, 15030, 12525, 12640, 14817, 15252, 14692, 15054, 14655, 13395, 13556, 14508, 12414, 14272, 14148, 15056, 14734, 12544, 14138, 14641, 14793, 8925, 14903, 14744, 15219, 14346, 12140, 12310, 14303, 12541, 14031, 11419, 14800, 11586, 14817, 14949, 13869, 9911, 14768, 14748, 11469, 8984, 13553, 15077, 11291, 14419, 14259, 12234, 15036, 14970, 14166, 13225, 15283, 11555, 10732, 14294, 13613, 13563, 14758, 12310, 13452, 15248, 7913, 14820, 15188, 13607, 15097, 12595, 15041, 13419, 14927, 11680, 13391, 14730, 15210, 14573, 14986, 14480, 14810, 14421, 14868, 10163, 14768, 10289, 11549, 15206, 13973, 13249, 14465, 14496, 11267, 13298, 14689, 9725, 13593, 14101, 9950, 14135, 15068, 14225, 12521, 13628, 11982, 13805, 13082, 15123, 14687, 8903, 14758, 15064, 14312, 14878, 13979, 14309, 13373, 14744, 14816, 15310, 8674, 9634, 12371, 13822, 13824, 14557, 10587, 14401, 15024, 14156, 14041, 13187, 14616, 15076, 13747, 13466, 13658, 15143, 13651, 14175, 13921, 14447, 14076, 13601, 15003, 15049, 15102, 13701, 13614, 14557, 14391, 14514, 13575, 15138, 15103, 15112, 14971, 14817, 14402, 14761, 9003, 14242, 14980, 14496, 14497, 14609, 13874, 8555, 13947, 12563, 10897, 14602, 14543, 14369, 14684, 15008, 14482, 14680, 14910, 14616, 13475, 15173, 14966, 14472, 14434, 13850, 14037, 14811, 14348, 15039, 14880, 10391, 12333, 15321, 14740, 15207, 14610, 14648, 12813, 6567, 14928, 14413, 14744, 11330, 14223, 14667, 13822, 13416, 15092, 15163, 13721, 14985, 9430, 12456, 14628, 15093, 15078, 15046, 15078, 14990, 14651, 14006, 13975, 15298, 14288, 14979, 13086, 14670, 13331, 12948, 14906, 15132, 15037, 14229, 14915, 13694, 14670, 13931, 9961, 15073, 12960, 14769, 14151, 14950, 14695, 12619, 14347, 14390, 11545, 14696, 13679, 15111, 12417, 14618, 12814, 13727, 14465, 14517, 14346, 14509, 13867, 15316, 13620, 13718, 13418, 13772, 12245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14386, 13893, 14559, 12220, 11761, 14936, 13865, 14796, 14800, 14307, 14951, 15107, 14857, 14806, 15154, 9412, 15010, 14921, 13512, 13793, 15309, 13425, 9729, 14167, 13513, 14683, 13483, 14709, 13920, 15026, 11308, 12400, 15305, 14339, 15090, 15119, 12392, 15007, 15177, 14208, 15306, 13599, 13798, 14864, 11722, 13015, 14789, 14611, 14106, 12803, 15151, 15303, 14577, 13538, 14339, 13154, 14084, 14672, 14793, 12240, 15070, 15005, 12175, 12888, 12691, 15117, 13446, 14515, 13913, 15123, 15252, 15002, 11511, 14787, 14912, 14650, 12035, 14548, 14950, 14458, 14888, 14514, 12791, 12573, 14604, 14992, 13541, 13780, 14397, 7631, 14614, 14986, 11108, 9225, 13665, 11943, 12347, 13665, 13279, 14423, 12845, 13661, 15214, 15317, 14435, 12791, 13900, 15242, 15298, 13969, 14826, 12584, 13064, 14236, 15186, 14340, 14893, 10331, 15251, 13083, 13584, 14344, 12569, 15036, 14204, 14777, 13837, 9226, 14390, 14256, 9829, 14674, 14495, 11709, 13436, 10770, 11661, 12662, 14120, 13109, 14908, 14266, 15293, 13191, 15269, 12610, 11706, 15330, 15108, 13080, 13123, 15201, 13707, 10054, 15187, 14830, 9929, 14661, 13177, 14356, 12342, 14773, 13089, 12318, 13166, 14760, 13345, 14645, 14567, 15115, 13404, 14136, 14565, 13476, 13556, 14580, 13406, 15357, 14433, 15156, 14827, 13972, 14672, 13399, 12478, 14720, 13335, 14073, 14411, 14526, 12450, 14861, 14134, 9725, 12565, 14915, 14003, 11550, 14061, 14535, 13853, 12453, 14490, 15016, 15297, 14140, 14761, 14240, 13114, 14017, 15109, 14027, 14750, 15099, 14659, 15315, 15280, 13607, 15302, 12982, 14741, 13700, 14019, 14737, 15142, 14341, 15349, 15248, 14658, 14385, 15234, 13992, 12674, 14441, 14450, 13356, 14453, 11286, 14279, 13864, 13637, 13656, 14231, 15128, 13956, 13701, 14356, 13255, 14956, 14416, 14589, 10372, 13312, 13646, 12487, 14193, 14248, 12300, 14051, 14149, 12979, 14556, 12855, 13393, 12614, 13063, 14960, 14242, 15221, 14739, 15318, 12088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14043, 14715, 4461, 12136, 11320, 12141, 13421, 14144, 14654, 14438, 12365, 14905, 14475, 11313, 14675, 14024, 15086, 14135, 14081, 12712, 13637, 14202, 15194, 10907, 14310, 13866, 12043, 14719, 12523, 12397, 11980, 14952, 14791, 14589, 14889, 13021, 12165, 14606, 14915, 14481, 7432, 11318, 12487, 14494, 13898, 12595, 15251, 13996, 15238, 14606, 13433, 13580, 14933, 15357, 14675, 15004, 15062, 13963, 14702, 15011, 12695, 13389, 12565, 6232, 14874, 14986, 13113, 12631, 14683, 12689, 13168, 14350, 12712, 14651, 12576, 14268, 14113, 13122, 12348, 14734, 13589, 11061, 14828, 15344, 15174, 14972, 11092, 13911, 15065, 13101, 9859, 14503, 15312, 15270, 13689, 9178, 14120, 14380, 13990, 13286, 13716, 15054, 14484, 14296, 14432, 14359, 12895, 14532, 13144, 13461, 14701, 14595, 10068, 14653, 15162, 13017, 12396, 12356, 13637, 14958, 15264, 13340, 14541, 11381, 13584, 13979, 12390, 13560, 14273, 12290, 14310, 14260, 14359, 11935, 14459, 15121, 11360, 10629, 15080, 10805, 14465, 15294, 11377, 13617, 13625, 14975, 13361, 15188, 11507, 13782, 13706, 14910, 15032, 14859, 14381, 14483, 14288, 14813, 15212, 15315, 15223, 14809, 11125, 14758, 15244, 14876, 14124, 11921, 14989, 15058, 14938, 14835, 13565, 14624, 14678, 15205, 14567, 13504, 14861, 11531, 14618, 10146, 13621, 14624, 14849, 14853, 11429, 14339, 11584, 14625, 14717, 13815, 14536, 14510, 13687, 13496, 14323, 14679, 14930, 13994, 14464, 13903, 13502, 15069, 14769, 15098, 8267, 14274, 15092, 12553, 15171, 15033, 14416, 12944, 13450, 7388, 14432, 13499, 11582, 15087, 14321, 13927, 14848, 12613, 14363, 14848, 14352, 15196, 13999, 15332, 14209, 14842, 14958, 12534, 14343, 13924, 13708, 13461, 11637, 14547, 11127, 13365, 9418, 14569, 13315, 14468, 10755, 14684, 12758, 14080, 15053, 12528, 14937, 15230, 13987, 11713, 14433, 13539, 13780, 7173, 14561, 12659, 12992, 11349, 12457, 14520, 14523, 13782, 12775, 14346, 15013, 13325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11880, 11753, 6459, 14392, 13877, 15195, 14598, 14550, 13889, 14746, 11107, 13097, 14615, 9419, 13007, 13018, 14222, 12796, 12392, 14443, 14882, 13277, 8521, 15181, 13088, 14393, 13834, 15332, 13605, 12444, 14993, 9433, 13463, 10558, 10884, 13659, 13271, 14576, 14577, 14459, 14699, 12142, 15236, 9687, 14845, 13997, 12791, 13754, 14956, 14343, 13564, 14853, 12144, 14074, 13545, 15078, 10321, 14195, 13709, 12695, 15156, 13280, 15276, 12365, 15203, 12099, 13895, 13919, 14560, 14204, 13339, 14947, 13279, 14393, 14668, 14655, 14563, 15148, 15102, 15131, 10412, 14766, 13574, 13560, 13926, 15086, 14189, 15212, 12819, 15044, 14025, 13684, 12454, 15232, 10332, 14054, 12012, 12532, 13700, 14412, 14968, 13642, 13344, 14660, 15205, 15286, 12482, 14829, 14276, 14337, 12881, 14818, 14140, 14478, 14003, 12802, 14959, 13420, 15192, 14788, 14340, 15351, 13404, 9944, 14488, 13117, 10405, 15095, 13808, 12943, 14496, 12012, 15045, 14421, 13980, 14862, 15299, 10098, 15161, 10924, 11461, 14357, 14699, 14415, 15077, 13517, 12150, 13717, 10732, 5651, 12664, 14255, 12880, 13683, 13378, 14858, 7146, 11804, 13439, 12732, 13152, 12775, 11870, 9128, 13044, 14974, 15290, 14926, 13213, 13608, 15171, 13437, 14144, 13658, 14529, 12541, 13217, 14336, 14399, 13413, 13503, 14854, 14557, 13883, 13508, 13327, 14788, 15249, 15292, 14663, 13973, 13029, 14428, 14215, 12959, 15012, 14580, 14184, 14571, 12924, 14133, 14731, 13555, 14168, 14746, 10015, 15212, 14626, 14724, 12444, 12317, 12709, 14912, 12731, 13557, 13513, 14632, 14075, 12545, 12588, 15317, 14740, 12682, 12690, 14808, 14686, 14691, 13338, 14594, 13349, 14735, 14704, 14174, 9442, 14914, 13437, 14599, 14152, 13606, 12522, 14940, 13113, 14935, 14237, 13916, 14691, 14536, 15305, 14955, 12251, 15001, 13519, 13402, 14632, 13716, 14866, 15112, 14792, 14770, 13838, 14739, 14985, 11484, 14655, 12182, 15192, 14306, 11545, 12635, 15232, 13368, 14235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14911, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; uint16_t data[17 * 2 * 2 * 17] = { 14643, 15084, 14775, 14950, 14594, 14803, 12177, 13120, 15030, 12525, 12640, 14817, 15252, 14692, 15054, 14655, 14911, 14386, 13893, 14559, 12220, 11761, 14936, 13865, 14796, 14800, 14307, 14951, 15107, 14857, 14806, 15154, 9412, 13694, 14043, 14715, 4461, 12136, 11320, 12141, 13421, 14144, 14654, 14438, 12365, 14905, 14475, 11313, 14675, 14024, 14459, 11880, 11753, 6459, 14392, 13877, 15195, 14598, 14550, 13889, 14746, 11107, 13097, 14615, 9419, 13007, 13018, 12352, 13395, 13556, 14508, 12414, 14272, 14148, 15056, 14734, 12544, 14138, 14641, 14793, 8925, 14903, 14744, 15219, 14571, 15010, 14921, 13512, 13793, 15309, 13425, 9729, 14167, 13513, 14683, 13483, 14709, 13920, 15026, 11308, 12400, 13834, 15086, 14135, 14081, 12712, 13637, 14202, 15194, 10907, 14310, 13866, 12043, 14719, 12523, 12397, 11980, 14952, 13661, 14222, 12796, 12392, 14443, 14882, 13277, 8521, 15181, 13088, 14393, 13834, 15332, 13605, 12444, 14993, 9433, 14824, 14346, 12140, 12310, 14303, 12541, 14031, 11419, 14800, 11586, 14817, 14949, 13869, 9911, 14768, 14748, 11469, 14660, 15305, 14339, 15090, 15119, 12392, 15007, 15177, 14208, 15306, 13599, 13798, 14864, 11722, 13015, 14789, 14611, 14864, 14791, 14589, 14889, 13021, 12165, 14606, 14915, 14481, 7432, 11318, 12487, 14494, 13898, 12595, 15251, 13996, 14339, 13463, 10558, 10884, 13659, 13271, 14576, 14577, 14459, 14699, 12142, 15236, 9687, 14845, 13997, 12791, 13754, 13448, 8984, 13553, 15077, 11291, 14419, 14259, 12234, 15036, 14970, 14166, 13225, 15283, 11555, 10732, 14294, 13613, 13027, 14106, 12803, 15151, 15303, 14577, 13538, 14339, 13154, 14084, 14672, 14793, 12240, 15070, 15005, 12175, 12888, 15179, 15238, 14606, 13433, 13580, 14933, 15357, 14675, 15004, 15062, 13963, 14702, 15011, 12695, 13389, 12565, 6232, 14142, 14956, 14343, 13564, 14853, 12144, 14074, 13545, 15078, 10321, 14195, 13709, 12695, 15156, 13280, 15276, 12365, 11359, 13563, 14758, 12310, 13452, 15248, 7913, 14820, 15188, 13607, 15097, 12595, 15041, 13419, 14927, 11680, 13391, 13376, 12691, 15117, 13446, 14515, 13913, 15123, 15252, 15002, 11511, 14787, 14912, 14650, 12035, 14548, 14950, 14458, 14566, 14874, 14986, 13113, 12631, 14683, 12689, 13168, 14350, 12712, 14651, 12576, 14268, 14113, 13122, 12348, 14734, 14353, 15203, 12099, 13895, 13919, 14560, 14204, 13339, 14947, 13279, 14393, 14668, 14655, 14563, 15148, 15102, 15131, 14515, 14730, 15210, 14573, 14986, 14480, 14810, 14421, 14868, 10163, 14768, 10289, 11549, 15206, 13973, 13249, 14465, 12388, 14888, 14514, 12791, 12573, 14604, 14992, 13541, 13780, 14397, 7631, 14614, 14986, 11108, 9225, 13665, 11943, 14786, 13589, 11061, 14828, 15344, 15174, 14972, 11092, 13911, 15065, 13101, 9859, 14503, 15312, 15270, 13689, 9178, 14364, 10412, 14766, 13574, 13560, 13926, 15086, 14189, 15212, 12819, 15044, 14025, 13684, 12454, 15232, 10332, 14054, 15269, 14496, 11267, 13298, 14689, 9725, 13593, 14101, 9950, 14135, 15068, 14225, 12521, 13628, 11982, 13805, 13082, 15116, 12347, 13665, 13279, 14423, 12845, 13661, 15214, 15317, 14435, 12791, 13900, 15242, 15298, 13969, 14826, 12584, 14435, 14120, 14380, 13990, 13286, 13716, 15054, 14484, 14296, 14432, 14359, 12895, 14532, 13144, 13461, 14701, 14595, 14557, 12012, 12532, 13700, 14412, 14968, 13642, 13344, 14660, 15205, 15286, 12482, 14829, 14276, 14337, 12881, 14818, 14357, 15123, 14687, 8903, 14758, 15064, 14312, 14878, 13979, 14309, 13373, 14744, 14816, 15310, 8674, 9634, 12371, 14953, 13064, 14236, 15186, 14340, 14893, 10331, 15251, 13083, 13584, 14344, 12569, 15036, 14204, 14777, 13837, 9226, 14856, 10068, 14653, 15162, 13017, 12396, 12356, 13637, 14958, 15264, 13340, 14541, 11381, 13584, 13979, 12390, 13560, 15342, 14140, 14478, 14003, 12802, 14959, 13420, 15192, 14788, 14340, 15351, 13404, 9944, 14488, 13117, 10405, 15095, 15224, 13822, 13824, 14557, 10587, 14401, 15024, 14156, 14041, 13187, 14616, 15076, 13747, 13466, 13658, 15143, 13651, 12801, 14390, 14256, 9829, 14674, 14495, 11709, 13436, 10770, 11661, 12662, 14120, 13109, 14908, 14266, 15293, 13191, 14639, 14273, 12290, 14310, 14260, 14359, 11935, 14459, 15121, 11360, 10629, 15080, 10805, 14465, 15294, 11377, 13617, 14197, 13808, 12943, 14496, 12012, 15045, 14421, 13980, 14862, 15299, 10098, 15161, 10924, 11461, 14357, 14699, 14415, 13933, 14175, 13921, 14447, 14076, 13601, 15003, 15049, 15102, 13701, 13614, 14557, 14391, 14514, 13575, 15138, 15103, 15198, 15269, 12610, 11706, 15330, 15108, 13080, 13123, 15201, 13707, 10054, 15187, 14830, 9929, 14661, 13177, 14356, 11209, 13625, 14975, 13361, 15188, 11507, 13782, 13706, 14910, 15032, 14859, 14381, 14483, 14288, 14813, 15212, 15315, 14118, 15077, 13517, 12150, 13717, 10732, 5651, 12664, 14255, 12880, 13683, 13378, 14858, 7146, 11804, 13439, 12732, 14652, 15112, 14971, 14817, 14402, 14761, 9003, 14242, 14980, 14496, 14497, 14609, 13874, 8555, 13947, 12563, 10897, 13575, 12342, 14773, 13089, 12318, 13166, 14760, 13345, 14645, 14567, 15115, 13404, 14136, 14565, 13476, 13556, 14580, 14472, 15223, 14809, 11125, 14758, 15244, 14876, 14124, 11921, 14989, 15058, 14938, 14835, 13565, 14624, 14678, 15205, 14933, 13152, 12775, 11870, 9128, 13044, 14974, 15290, 14926, 13213, 13608, 15171, 13437, 14144, 13658, 14529, 12541, 12772, 14602, 14543, 14369, 14684, 15008, 14482, 14680, 14910, 14616, 13475, 15173, 14966, 14472, 14434, 13850, 14037, 14810, 13406, 15357, 14433, 15156, 14827, 13972, 14672, 13399, 12478, 14720, 13335, 14073, 14411, 14526, 12450, 14861, 14804, 14567, 13504, 14861, 11531, 14618, 10146, 13621, 14624, 14849, 14853, 11429, 14339, 11584, 14625, 14717, 13815, 13492, 13217, 14336, 14399, 13413, 13503, 14854, 14557, 13883, 13508, 13327, 14788, 15249, 15292, 14663, 13973, 13029, 13786, 14811, 14348, 15039, 14880, 10391, 12333, 15321, 14740, 15207, 14610, 14648, 12813, 6567, 14928, 14413, 14744, 14546, 14134, 9725, 12565, 14915, 14003, 11550, 14061, 14535, 13853, 12453, 14490, 15016, 15297, 14140, 14761, 14240, 11788, 14536, 14510, 13687, 13496, 14323, 14679, 14930, 13994, 14464, 13903, 13502, 15069, 14769, 15098, 8267, 14274, 12510, 14428, 14215, 12959, 15012, 14580, 14184, 14571, 12924, 14133, 14731, 13555, 14168, 14746, 10015, 15212, 14626, 14769, 11330, 14223, 14667, 13822, 13416, 15092, 15163, 13721, 14985, 9430, 12456, 14628, 15093, 15078, 15046, 15078, 14914, 13114, 14017, 15109, 14027, 14750, 15099, 14659, 15315, 15280, 13607, 15302, 12982, 14741, 13700, 14019, 14737, 11765, 15092, 12553, 15171, 15033, 14416, 12944, 13450, 7388, 14432, 13499, 11582, 15087, 14321, 13927, 14848, 12613, 14703, 14724, 12444, 12317, 12709, 14912, 12731, 13557, 13513, 14632, 14075, 12545, 12588, 15317, 14740, 12682, 12690, 10686, 14990, 14651, 14006, 13975, 15298, 14288, 14979, 13086, 14670, 13331, 12948, 14906, 15132, 15037, 14229, 14915, 14220, 15142, 14341, 15349, 15248, 14658, 14385, 15234, 13992, 12674, 14441, 14450, 13356, 14453, 11286, 14279, 13864, 12954, 14363, 14848, 14352, 15196, 13999, 15332, 14209, 14842, 14958, 12534, 14343, 13924, 13708, 13461, 11637, 14547, 13792, 14808, 14686, 14691, 13338, 14594, 13349, 14735, 14704, 14174, 9442, 14914, 13437, 14599, 14152, 13606, 12522, 14445, 13694, 14670, 13931, 9961, 15073, 12960, 14769, 14151, 14950, 14695, 12619, 14347, 14390, 11545, 14696, 13679, 14375, 13637, 13656, 14231, 15128, 13956, 13701, 14356, 13255, 14956, 14416, 14589, 10372, 13312, 13646, 12487, 14193, 14575, 11127, 13365, 9418, 14569, 13315, 14468, 10755, 14684, 12758, 14080, 15053, 12528, 14937, 15230, 13987, 11713, 15041, 14940, 13113, 14935, 14237, 13916, 14691, 14536, 15305, 14955, 12251, 15001, 13519, 13402, 14632, 13716, 14866, 15254, 15111, 12417, 14618, 12814, 13727, 14465, 14517, 14346, 14509, 13867, 15316, 13620, 13718, 13418, 13772, 12245, 14571, 14248, 12300, 14051, 14149, 12979, 14556, 12855, 13393, 12614, 13063, 14960, 14242, 15221, 14739, 15318, 12088, 12897, 14433, 13539, 13780, 7173, 14561, 12659, 12992, 11349, 12457, 14520, 14523, 13782, 12775, 14346, 15013, 13325, 15284, 15112, 14792, 14770, 13838, 14739, 14985, 11484, 14655, 12182, 15192, 14306, 11545, 12635, 15232, 13368, 14235, 11142, }; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, {17, 2, 2, 17}, {8, 2, 16, 16}, DT_FLOAT16}; TransResult result; FormatTransferFractalZ transfer; EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); EXPECT_EQ(result.length, sizeof(data_4d)); for (int i = 0; i < sizeof(data_4d) / sizeof(data_4d[0]); ++i) { EXPECT_EQ((reinterpret_cast(result.data.get()))[i], data_4d[i]); } } TEST_F(UtestFormatTransferNhwcFz, nhwc_to_fracz_fp32_success_eq_cube) { float data_4d[4 * 1 * 16 * 16] = { 0.484169822867354, 0.8140947249809813, 0.4940455204015697, 0.7135851157134282, 0.8768734157203649, 0.4184033435957544, 0.44292626120971623, 0.696532137919516, 0.9171321370698801, 0.7151284988967475, 0.5109347861993496, 0.38142119707414746, 0.6698099769064979, 0.11820154777502989, 0.13012960479351465, 0.16817089869937873, 0.5302578028349337, 0.7252510992951486, 0.8213662663451495, 0.255865605133453, 0.5347808590628998, 0.03484423993654684, 0.4053151604997237, 0.1268756305743911, 0.7512214677373925, 0.7021691682264435, 0.5790723649519143, 0.19175327358031247, 0.5748858471708752, 0.34613167229455966, 0.9081476470039521, 0.6213341986714184, 0.8738901859075797, 0.4191500219416586, 0.9272377212501333, 0.6088513158752427, 0.43503086957072457, 0.7568802524830642, 0.6218604254226138, 0.4893048459594117, 0.020152542775963678, 0.7267242398249997, 0.9274966736416573, 0.49200037295381294, 0.42692100017651613, 0.7892621068774159, 0.6845597457970014, 0.8711448933002091, 0.9718143171574413, 0.6597628763384622, 0.34484306915489416, 0.880431818533278, 0.7955875470049112, 0.8757665484415526, 0.9915924406526361, 0.04436704716518447, 0.02262359380765988, 0.7052472895837604, 0.7057299524522475, 0.3194782791822033, 0.09871902909610286, 0.364619480384346, 0.06943275085154965, 0.4214138425069305, 0.6434162586445695, 0.5323110978433342, 0.1248556733436923, 0.15902590556482255, 0.4712411793898579, 0.7894290004428436, 0.5032833161606196, 0.527059468896646, 0.9191006481472115, 0.25305549423863427, 0.6340006741168577, 0.358184464955455, 0.25972912049066155, 0.18926991931768677, 0.27595176819944, 0.8161194869680272, 0.6487804290051798, 0.17197756477570048, 0.1792393744184949, 0.7262808230390461, 0.5266352244919847, 0.3774751618211455, 0.14059289117160334, 0.08529920580377037, 0.28344872274215105, 0.9959953800069987, 0.08464059391988354, 0.6670563867386871, 0.4687389304005585, 0.532305594930434, 0.28410362935440214, 0.07129098950073931, 0.90130643092616, 0.1863314734620497, 0.7182836382686819, 0.05869761827209363, 0.43215310837091325, 0.5109770631402548, 0.8507620188714253, 0.9448034463404849, 0.8204290492967814, 0.30175616425548013, 0.6347738558965675, 0.7115068243493056, 0.9106453434867423, 0.7081724799882917, 0.9480983751448969, 0.30683290902116644, 0.13870348711282365, 0.882637588475232, 0.8911520456086311, 0.13836682539246214, 0.9507965084267185, 0.5052382254338335, 0.45961247912692105, 0.979182256053379, 0.4013111553698335, 0.7788395612306059, 0.8062745586439758, 0.19584512860236825, 0.275650733936018, 0.23472653953495393, 0.5268011060669119, 0.11615458325117867, 0.37003145722910347, 0.7429488863605441, 0.7499741271194941, 0.849429488346799, 0.764998070770062, 0.8627353540448067, 0.2639189465037146, 0.18543192561486244, 0.8406963006607173, 0.29867265092172757, 0.5830874946322163, 0.7266542276089016, 0.47732859671105865, 0.5276495401100896, 0.0285892476174624, 0.10154908386840933, 0.4088412035484068, 0.7434536979800712, 0.9525161199007488, 0.07138799479311309, 0.8519420240978587, 0.08747097413510685, 0.06259133820158325, 0.6102164785932812, 0.5272535740517759, 0.3882790321273053, 0.5219871401239666, 0.08342830725989958, 0.06992376312633286, 0.45588347082683367, 0.8507181024497145, 0.8168001145505971, 0.6288218440807817, 0.5627797837213618, 0.8642380932712407, 0.6296224131150504, 0.810297385035068, 0.9521660572032933, 0.006989866947720524, 0.15360690769811158, 0.609592365107798, 0.856111276058204, 0.5569449989810563, 0.6358938242284586, 0.43974619938434945, 0.23369648280955435, 0.17610792852502044, 0.5393700616427376, 0.14414511952710007, 0.9499336265300194, 0.6444587977800735, 0.7418623715827386, 0.044802260433499996, 0.850581483363445, 0.05712457779883895, 0.15282854721354788, 0.3482893221081773, 0.6247260064132429, 0.42099978778043057, 0.7479237929881165, 0.02099064732615097, 0.013098766701113651, 0.7226056703495463, 0.04820012498442583, 0.30512165089613275, 0.7316809143395435, 0.33837084272328344, 0.031181701520131222, 0.8998729244301411, 0.13963009532040604, 0.5524300751373528, 0.998751142570437, 0.8079412199511319, 0.38764559152084754, 0.3210831483519665, 0.7304185865067885, 0.5822602684215884, 0.6364590811085312, 0.10627778088019713, 0.5399985372878428, 0.3140212188001139, 0.6511943391734281, 0.7376690823137533, 0.16614528063403933, 0.45753024916507445, 0.6563453150496379, 0.011057777761439902, 0.0018264730571969645, 0.3140058709073794, 0.8479357203115255, 0.9718814368259422, 0.2938044793936031, 0.389604645965164, 0.7259980798553759, 0.384597064894432, 0.6461406690633517, 0.28149855317178163, 0.03265235541107758, 0.7517419899840844, 0.3364005732928873, 0.7329527122940036, 0.43759767242690906, 0.3172137189567925, 0.2707815810278883, 0.6642248201697422, 0.3972911147544086, 0.009127503808928017, 0.1234374452587974, 0.39970292448775213, 0.11989802753965029, 0.9927165644356675, 0.8609568773974031, 0.8160834394485424, 0.8645970999084115, 0.43923002522405574, 0.3760052855173096, 0.08902326927063253, 0.09948678314542847, 0.3578210615036086, 0.8485940282988038, 0.2516468752579376, 0.7365499301475807, 0.5612758649671108, 0.7859804827616864, 0.8851363067086282, 0.8935474690220618, 0.5336384648157917, 0.23839322063516444, 0.8176105543815939, 0.629909392274251, 0.31313221345906006, 0.3221421451570968, 0.5818901337492731, 0.9534404285747669, 0.30689058064437647, 0.7213959303267752, 0.6899507455723445, 0.1145659733805463, 0.36766351628538607, 0.882482457649216, 0.8273160847663066, 0.344437602133445, 0.6831369390963725, 0.15697402810153005, 0.7568275537113736, 0.3692026509026701, 0.25344774469478004, 0.24956690401767134, 0.012836876914660733, 0.985850540555467, 0.8626773871697432, 0.5476182090476109, 0.3623970160812814, 0.9376822616892581, 0.14087495346759915, 0.23523285339278033, 0.037762342255319714, 0.020689168902525368, 0.6838812404349178, 0.5299351074122371, 0.7796551239198329, 0.46483996491976176, 0.3896989084777407, 0.0246526241822681, 0.150842690954615, 0.2168947002788526, 0.1149972560028748, 0.8984092864643223, 0.12025595226036978, 0.39457447774297594, 0.27976746576883327, 0.9120741897014442, 0.07701027303624552, 0.8145938381183272, 0.988408599764702, 0.9891205523056846, 0.38958399171559976, 0.19562724561171574, 0.7406668247925765, 0.5176452064093667, 0.1833071142826258, 0.981011435762899, 0.1038485455897169, 0.6360424773286126, 0.07505098129761023, 0.7110748432628814, 0.23864180641973576, 0.6311090911472507, 0.2898434465648123, 0.024685643880116404, 0.1206400134468234, 0.9642954826184025, 0.1307237743057954, 0.3682368837401174, 0.10696899485835165, 0.4381449790035217, 0.8778405603604115, 0.33026410718319044, 0.43155412970009344, 0.688941263482083, 0.6484615948673739, 0.20103619018128005, 0.08393097766033852, 0.8913511709861782, 0.39172683394484564, 0.8390068848742098, 0.8242315116115289, 0.016933814177084616, 0.09858800624814978, 0.4866184190503341, 0.5797421505352837, 0.7275188051657857, 0.8257101240399874, 0.2805336430088575, 0.5360449509204634, 0.48837931206904084, 0.9312020866617485, 0.7410346712070657, 0.08381751355840361, 0.622083699685216, 0.5182872441017575, 0.20300436297731594, 0.8408847205120992, 0.4065634267823589, 0.538625415898359, 0.24508951206516771, 0.6706828695669036, 0.8841876638401157, 0.14646094171092727, 0.0873651816168074, 0.3789152991251008, 0.7514417784728014, 0.36660529419052745, 0.9058668780554411, 0.3905648290701539, 0.46346477300678546, 0.1784939685332635, 0.5505805956291808, 0.57458139202536, 0.37655520125792563, 0.21289003081542524, 0.41033428588999377, 0.13922941757955198, 0.7339905698509648, 0.6420365465526778, 0.5935365043786606, 0.031448611228246826, 0.6446584269225506, 0.3168819180982111, 0.6919296394674304, 0.7611936857915317, 0.6581989409515427, 0.7119379353798316, 0.19877568188642458, 0.29773337106911635, 0.6353172249870478, 0.7355153876080694, 0.5965273658488094, 0.9873670681950693, 0.4231813740764955, 0.2367076098094284, 0.7766733432911771, 0.6429580955121145, 0.8307521364617134, 0.6525257497726437, 0.6857387208240013, 0.6812935881218981, 0.24823806562055328, 0.23222434233678046, 0.14734449630794566, 0.8593695744180271, 0.9521390092531038, 0.814592050185302, 0.8530358400139052, 0.7553391685463368, 0.467322607265681, 0.40821268238278274, 0.15224535394276528, 0.7721886316195505, 0.3188390117882929, 0.18861616707188456, 0.3183899178336651, 0.14272447128849497, 0.490605601502897, 0.046383765771242036, 0.16415576287753442, 0.22888703447357206, 0.5375730996026021, 0.535512670941786, 0.5912839261540107, 0.6983894048201051, 0.15323404928308648, 0.8182668948670956, 0.29446560941893807, 0.418354823269551, 0.21870888711201486, 0.6424499336686369, 0.3214700322107067, 0.24736247781577525, 0.7305497857337323, 0.568789544871731, 0.6533320204219322, 0.33898139527730176, 0.16552403626291268, 0.10248361115345117, 0.8892140389602003, 0.9313325327216908, 0.7919070208756257, 0.0708315749326881, 0.2188073927368014, 0.8127787161494373, 0.6257366952292145, 0.6924998870427207, 0.26793105051769306, 0.7826490483783863, 0.5966997551066409, 0.2129270109769711, 0.44769099683243785, 0.7574472416898225, 0.26729283252732317, 0.4140922332840643, 0.32495829469129234, 0.7880364474443821, 0.6521293980091717, 0.23933614126005887, 0.40069381935472004, 0.3253434499214978, 0.43850426563837475, 0.3582655821803802, 0.02315611544237217, 0.7562158058764148, 0.7040259198312322, 0.5059192662520398, 0.052574245106938755, 0.0044571360420935235, 0.19994806707117685, 0.17143060225012974, 0.7905787674108862, 0.700764812184617, 0.9178067635156595, 0.007883547902275412, 0.04345877753973626, 0.40662108491778937, 0.32503174588972183, 0.05007085167672787, 0.9581958519270192, 0.20437076813207167, 0.2397322863247101, 0.2432309640469006, 0.945083897778037, 0.715659408560469, 0.24955287567344286, 0.28473276918917545, 0.5837263814586879, 0.2741346897790268, 0.5647425538488864, 0.969909805392653, 0.7261702056098153, 0.5430436390733616, 0.08333922871976862, 0.5609888136600801, 0.014806506476614079, 0.9455759599914065, 0.3193070470406175, 0.08542679684744281, 0.6744677936417323, 0.27782578504968625, 0.29358418856919855, 0.23213589762876796, 0.005758486459847889, 0.36868262474116764, 0.264207113494464, 0.36157643004033746, 0.9637257888559727, 0.5737186764359195, 0.5315516381845716, 0.5101088363620886, 0.039248651321625805, 0.9681240024592983, 0.08677429466572284, 0.9518099421221371, 0.7952823450404229, 0.05713730664487837, 0.17614720504232317, 0.5864853334395049, 0.5355917571532767, 0.14016085457936855, 0.4699268852262969, 0.588214580416792, 0.7315541026108536, 0.2615939952632047, 0.6940338433274365, 0.9654764709266905, 0.17552901543503086, 0.2673106011552777, 0.16278327321010144, 0.2829647956459945, 0.027781103679172303, 0.9715339351098571, 0.5104277134265274, 0.26688023346613854, 0.7675111602635859, 0.8456916770759129, 0.9418274416132982, 0.4082337424410951, 0.2966721771835694, 0.4702670949658979, 0.6827917396699957, 0.34049137335485646, 0.979883320082454, 0.9532270119107664, 0.8572037348042103, 0.848146567657908, 0.431869811030539, 0.7941580229111237, 0.3436486153857896, 0.7273788931852989, 0.49224680779113494, 0.3862553126741952, 0.9807757900646529, 0.701979947074233, 0.26056383661375004, 0.6931835277270919, 0.7067946120442928, 0.4582357436150932, 0.11829934680864151, 0.2095153024553008, 0.9185955528449318, 0.12823153669882037, 0.7424605800987469, 0.25214577369248303, 0.9208309549123908, 0.28212583854425577, 0.33137007225108495, 0.24341818673228321, 0.2619469700798778, 0.28262355294589947, 0.7755838712533507, 0.4053638246615504, 0.7976887925976534, 0.5522240670284019, 0.7227130132090629, 0.5864070673077637, 0.42782888384518447, 0.28679923903462323, 0.16844780802036896, 0.17193836732536305, 0.007199948294376979, 0.8432770047003173, 0.5329394715412086, 0.9027093385378767, 0.13464647139460417, 0.8011185435869719, 0.8299531042565435, 0.16599661763813744, 0.6152441825738123, 0.25151020323522655, 0.447172104562374, 0.5702866695855857, 0.8192062209036824, 0.23552991431295267, 0.32632467763985884, 0.038987953903722006, 0.11718840620381377, 0.9992640055987563, 0.5148951028222453, 0.15248694988722633, 0.6534611001367189, 0.031062641103680733, 0.8694831172503376, 0.24862657671809274, 0.6479564397956218, 0.504649233907658, 0.07716366084071735, 0.6049908845448526, 0.7137870858666769, 0.7054652650387054, 0.36350442596954213, 0.8795945111811084, 0.582926532185696, 0.8714877396827005, 0.06711091117831969, 0.2982765088342778, 0.3329050905695813, 0.4865987400975561, 0.6201284834454466, 0.46275286462889154, 0.8851839278084489, 0.9999593670233206, 0.2758236652060908, 0.17890347032894782, 0.048086683036078326, 0.28413000356301654, 0.9536736877854535, 0.44798896242923036, 0.29983211622633354, 0.6784308970797828, 0.08779676069610531, 0.42626312256206, 0.22394679796804695, 0.9244223195097627, 0.15901668161462468, 0.7618146378555393, 0.07687698303830115, 0.1929344802840327, 0.7553281474784295, 0.8025581206851257, 0.14022257845130615, 0.9138712084521406, 0.8040597327540038, 0.6328239965840534, 0.6024965111935174, 0.5589881068558278, 0.048191039611119035, 0.1404201318896956, 0.40850427818021384, 0.7203622066092176, 0.8471988115463831, 0.8860087660548518, 0.45971281262939667, 0.08887747998382489, 0.9740387490405953, 0.8585000450094692, 0.36058899298739555, 0.4278199731132287, 0.8375237958882933, 0.01417622872482538, 0.16029654637258495, 0.057127838376448525, 0.35749934689051033, 0.2930410231839118, 0.8409144982684501, 0.07593293596409612, 0.356635418237763, 0.226719753247275, 0.0007109181986780788, 0.7184665789785081, 0.395824938261763, 0.4867276192621923, 0.5172670089066486, 0.5841508888388441, 0.08047869657287621, 0.9482746906157185, 0.41294535716449154, 0.19159501891328978, 0.5578510869508337, 0.29546640911784916, 0.2869367181145863, 0.7294147056255083, 0.3991485374776169, 0.4445980140617459, 0.6662896463638776, 0.8614878148940442, 0.1808774427317561, 0.4614411389376568, 0.3303364346947858, 0.8028852020786104, 0.5169929310162137, 0.14136531759583693, 0.9831280581298246, 0.5630783736198899, 0.8608024828157775, 0.3931840317246529, 0.022722258330870937, 0.1056061545184902, 0.6060652796018042, 0.3352528944308385, 0.8977154563912682, 0.7221307220260405, 0.46922215009200297, 0.4677265831501206, 0.49431288865022915, 0.42276247133689504, 0.6788161518073327, 0.04439101827129144, 0.028811435615006542, 0.6839680845965146, 0.9986738127631021, 0.07122924252967722, 0.6409050009983894, 0.8555552153820654, 0.9370992032325905, 0.7376153474252244, 0.05650174272501618, 0.9555164199341558, 0.24096140966133506, 0.15235115309934777, 0.2227762469886192, 0.7035491425028773, 0.4883693004134255, 0.4991880671239809, 0.2038723768682421, 0.4424646154063001, 0.42947559846701466, 0.15496718950982546, 0.8613665468468363, 0.6173709310699306, 0.34240192063131025, 0.17697172987534104, 0.05400248287734222, 0.47400410893135847, 0.5657413124334275, 0.6886788284227651, 0.693192811671234, 0.5531430026891606, 0.766990407259576, 0.8518985685483231, 0.5389165861980743, 0.9950513588111255, 0.09523381762884475, 0.7696317754383216, 0.6698100854232568, 0.43625543466202976, 0.2330898194698613, 0.4127476057822641, 0.9294766285644805, 0.05680528782969185, 0.6537538588698784, 0.17396071383121814, 0.9595723514929978, 0.42975991044177986, 0.5431447973683532, 0.8833668707212631, 0.26133302914884515, 0.14661930610537355, 0.7433132788379365, 0.3574322869140888, 0.2341799637707056, 0.8349985525202629, 0.8160746720387089, 0.6407640183325787, 0.6197726260454984, 0.41237945120152153, 0.1830987925080485, 0.7553599629295343, 0.05454691882123808, 0.5562940920005512, 0.5102400141204675, 0.9541297229195699, 0.5577971859903864, 0.2938597050255226, 0.8403402780212583, 0.47661930123442686, 0.4103920153350502, 0.3119461029229196, 0.3801380305294956, 0.3434681831027364, 0.7197973788263885, 0.0987748411433772, 0.01388200527143002, 0.1651316494632148, 0.9141734949661398, 0.2719071586501257, 0.711375764410416, 0.3627408492437765, 0.18177223898925443, 0.7975651507116626, 0.6859695133005402, 0.990527721423081, 0.08901845138285569, 0.47695118798375047, 0.4581629061404291, 0.6647405334731831, 0.4779626404166062, 0.5638043017770987, 0.3701472211861363, 0.3793667615579185, 0.49023578639191434, 0.5453313612019725, 0.580306136685107, 0.9098682664715276, 0.4207018293353191, 0.741785389613043, 0.9262602540365329, 0.703428108041273, 0.8044195024538315, 0.27721795146313744, 0.1630139202426243, 0.34579225120146284, 0.11553068934190114, 0.5928663617496019, 0.8952425964480728, 0.47925358700494936, 0.345789231337841, 0.3110153026634752, 0.4628526273295195, 0.39546232211152244, 0.04056519079629961, 0.6268438803068547, 0.8592557500599268, 0.9575425033955798, 0.3502505288978284, 0.059258039358505155, 0.7518021608110209, 0.8739573910743396, 0.7067417457943123, 0.23881851357439288, 0.5516104950394077, 0.16949728066552805, 0.17699999941441635, 0.3259215888704792, 0.6829558794210719, 0.8768342657870796, 0.0828341270227837, 0.7034737450184155, 0.546752909248851, 0.7267979136936736, 0.03712586684634822, 0.03808220856446631, 0.4344229625584559, 0.5073943443532393, 0.0876469591985547, 0.5479537630990768, 0.15022676424664938, 0.7065732472092339, 0.5267637826119574, 0.49239129236901735, 0.8218857103459851, 0.7979465301023618, 0.029548757715175067, 0.6932694244947931, 0.5595855181231474, 0.7570733169968579, 0.3926838954245869, 0.06662638382372121, 0.7354175771053119, 0.6689967299755643, 0.1503851907294197, 0.09334662866451149, 0.6985469006194642, 0.3853073559702226, 0.7598678794046461, 0.8430367249722724, 0.09609005474058485, 0.3327016836424206, 0.5147633020947202, 0.9849763413326892, 0.45758533152883063, 0.5410627384028919, 0.8101421663582148, 0.4745789007815937, 0.9695833469428511, 0.7406298601731718, 0.8928719524735501, 0.07408106888379695, 0.48443913560921603, 0.9875039549398698, 0.9207282373994886, 0.916412184605058, 0.5325664548137249, 0.5186829523993904, 0.0011137436559524039, 0.7348700397039633, 0.09290265494838656, 0.23580663015210346, 0.35820294378273676, 0.7639205360566864, 0.9465492151069357, 0.4252441824179847, 0.5316291043266255, 0.8122536967408113, 0.5789541420307059, 0.22093739858997807, 0.721478902701215, 0.6885946622229991, 0.17835185715057533, 0.7238629983060336, 0.20125336494303825, 0.16681217791113911, 0.9318773298015346, 0.1515859497360037, 0.21766180447529104, 0.4792250665535124, 0.24411300991628737, 0.3217581574119305, 0.8390359459774884, 0.9659682387174011, 0.40034412355266336, 0.5255065433133791, 0.42837064152809445, 0.7654114974398095, 0.3865006028597384, 0.24734575434479678, 0.41425008509412264, 0.8361654352683431, 0.4321112716511004, 0.011850429412228025, 0.4725427310129483, 0.13015593957624672, 0.4613391477382468, 0.6411806951208191, 0.5748219462376235, 0.7676968075086735, 0.4551543834911985, 0.3981321361133089, 0.5537117150328572, 0.640188645994515, 0.8733008957299926, 0.7680564850159917, 0.591855214421642, 0.7758621954461007, 0.9883180605472691, 0.7032276300145796, 0.31585307578954147, 0.28146832444773495, 0.9471559002035407, 0.44047203430454707, 0.29854162639920856, 0.07733153530994863, 0.8953385322255972, 0.8718260794429866, 0.8244843036717918, 0.9473049441286394, 0.13636726569332214, 0.9029170461356006, 0.2711524085545959, 0.008956533117231325, 0.14719117410301985, 0.7352499716127123, 0.9005647194328514, 0.04239801036045521, 0.32113153439789777, 0.23008784431942686, 0.25059835793851803, 0.7821196322936473, 0.3571983300993258, 0.2624691465092742, 0.8018016489757368, 0.5248393284810376, 0.6977900148749919, 0.33093445127674614, 0.7554471103150353, 0.7756032542183166, 0.006225581322849116, 0.4008868869085592, 0.20812329467775148, 0.17556686644385078, 0.6096597423735237, 0.6191160871486041, 0.7349303921541335, 0.9192496344735487, 0.24229302674522868, 0.9899032791595263, 0.29044779138561216, 0.8321620650117503, 0.7598221463622512, 0.4229989353498531, 0.9387553475507483, 0.9984378083937185, 0.8151195733132465, 0.7295039076200354, 0.0922729891266788, 0.8668318130738214, 0.23372381782403595, 0.03956728658695974, 0.9606270879918739, 0.8167629519087327, 0.6627590908369925, 0.3128149140030476, 0.6317394199057031, 0.12021250922401605, 0.42604564092211705, 0.3977230376064276, 0.022079790505487362, 0.37848317176894164, 0.46852397650558253, 0.20735781040531553, 0.8524713092661131, 0.44086749842642614, 0.9183713393663233, 0.9450411621274358, 0.697302770534409, 0.9135605184069232, 0.09015468169209084, 0.704151745426799, 0.5400455593098272, 0.5480655211682695, 0.30738071301825654, 0.15067120555532854, 0.925682378381145, 0.3371623491173492, 0.9597353973741677, 0.9125053638178813, 0.5331026395371243, 0.7058339751156828, 0.28253557117321937, 0.7269649285767406, 0.12353532557783586, 0.4491118104036773, 0.6637148382841026, 0.6351120142249237, 0.864473727452456, 0.8265584180895602, 0.6156722515329398, 0.8643555219638754, 0.6571916479877694, }; float data[2 * 2 * 16 * 16] = { 0.484169822867354, 0.8140947249809813, 0.4940455204015697, 0.7135851157134282, 0.8768734157203649, 0.4184033435957544, 0.44292626120971623, 0.696532137919516, 0.9171321370698801, 0.7151284988967475, 0.5109347861993496, 0.38142119707414746, 0.6698099769064979, 0.11820154777502989, 0.13012960479351465, 0.16817089869937873, 0.8176105543815939, 0.629909392274251, 0.31313221345906006, 0.3221421451570968, 0.5818901337492731, 0.9534404285747669, 0.30689058064437647, 0.7213959303267752, 0.6899507455723445, 0.1145659733805463, 0.36766351628538607, 0.882482457649216, 0.8273160847663066, 0.344437602133445, 0.6831369390963725, 0.15697402810153005, 0.5864853334395049, 0.5355917571532767, 0.14016085457936855, 0.4699268852262969, 0.588214580416792, 0.7315541026108536, 0.2615939952632047, 0.6940338433274365, 0.9654764709266905, 0.17552901543503086, 0.2673106011552777, 0.16278327321010144, 0.2829647956459945, 0.027781103679172303, 0.9715339351098571, 0.5104277134265274, 0.2938597050255226, 0.8403402780212583, 0.47661930123442686, 0.4103920153350502, 0.3119461029229196, 0.3801380305294956, 0.3434681831027364, 0.7197973788263885, 0.0987748411433772, 0.01388200527143002, 0.1651316494632148, 0.9141734949661398, 0.2719071586501257, 0.711375764410416, 0.3627408492437765, 0.18177223898925443, 0.5302578028349337, 0.7252510992951486, 0.8213662663451495, 0.255865605133453, 0.5347808590628998, 0.03484423993654684, 0.4053151604997237, 0.1268756305743911, 0.7512214677373925, 0.7021691682264435, 0.5790723649519143, 0.19175327358031247, 0.5748858471708752, 0.34613167229455966, 0.9081476470039521, 0.6213341986714184, 0.7568275537113736, 0.3692026509026701, 0.25344774469478004, 0.24956690401767134, 0.012836876914660733, 0.985850540555467, 0.8626773871697432, 0.5476182090476109, 0.3623970160812814, 0.9376822616892581, 0.14087495346759915, 0.23523285339278033, 0.037762342255319714, 0.020689168902525368, 0.6838812404349178, 0.5299351074122371, 0.26688023346613854, 0.7675111602635859, 0.8456916770759129, 0.9418274416132982, 0.4082337424410951, 0.2966721771835694, 0.4702670949658979, 0.6827917396699957, 0.34049137335485646, 0.979883320082454, 0.9532270119107664, 0.8572037348042103, 0.848146567657908, 0.431869811030539, 0.7941580229111237, 0.3436486153857896, 0.7975651507116626, 0.6859695133005402, 0.990527721423081, 0.08901845138285569, 0.47695118798375047, 0.4581629061404291, 0.6647405334731831, 0.4779626404166062, 0.5638043017770987, 0.3701472211861363, 0.3793667615579185, 0.49023578639191434, 0.5453313612019725, 0.580306136685107, 0.9098682664715276, 0.4207018293353191, 0.8738901859075797, 0.4191500219416586, 0.9272377212501333, 0.6088513158752427, 0.43503086957072457, 0.7568802524830642, 0.6218604254226138, 0.4893048459594117, 0.020152542775963678, 0.7267242398249997, 0.9274966736416573, 0.49200037295381294, 0.42692100017651613, 0.7892621068774159, 0.6845597457970014, 0.8711448933002091, 0.7796551239198329, 0.46483996491976176, 0.3896989084777407, 0.0246526241822681, 0.150842690954615, 0.2168947002788526, 0.1149972560028748, 0.8984092864643223, 0.12025595226036978, 0.39457447774297594, 0.27976746576883327, 0.9120741897014442, 0.07701027303624552, 0.8145938381183272, 0.988408599764702, 0.9891205523056846, 0.7273788931852989, 0.49224680779113494, 0.3862553126741952, 0.9807757900646529, 0.701979947074233, 0.26056383661375004, 0.6931835277270919, 0.7067946120442928, 0.4582357436150932, 0.11829934680864151, 0.2095153024553008, 0.9185955528449318, 0.12823153669882037, 0.7424605800987469, 0.25214577369248303, 0.9208309549123908, 0.741785389613043, 0.9262602540365329, 0.703428108041273, 0.8044195024538315, 0.27721795146313744, 0.1630139202426243, 0.34579225120146284, 0.11553068934190114, 0.5928663617496019, 0.8952425964480728, 0.47925358700494936, 0.345789231337841, 0.3110153026634752, 0.4628526273295195, 0.39546232211152244, 0.04056519079629961, 0.9718143171574413, 0.6597628763384622, 0.34484306915489416, 0.880431818533278, 0.7955875470049112, 0.8757665484415526, 0.9915924406526361, 0.04436704716518447, 0.02262359380765988, 0.7052472895837604, 0.7057299524522475, 0.3194782791822033, 0.09871902909610286, 0.364619480384346, 0.06943275085154965, 0.4214138425069305, 0.38958399171559976, 0.19562724561171574, 0.7406668247925765, 0.5176452064093667, 0.1833071142826258, 0.981011435762899, 0.1038485455897169, 0.6360424773286126, 0.07505098129761023, 0.7110748432628814, 0.23864180641973576, 0.6311090911472507, 0.2898434465648123, 0.024685643880116404, 0.1206400134468234, 0.9642954826184025, 0.28212583854425577, 0.33137007225108495, 0.24341818673228321, 0.2619469700798778, 0.28262355294589947, 0.7755838712533507, 0.4053638246615504, 0.7976887925976534, 0.5522240670284019, 0.7227130132090629, 0.5864070673077637, 0.42782888384518447, 0.28679923903462323, 0.16844780802036896, 0.17193836732536305, 0.007199948294376979, 0.6268438803068547, 0.8592557500599268, 0.9575425033955798, 0.3502505288978284, 0.059258039358505155, 0.7518021608110209, 0.8739573910743396, 0.7067417457943123, 0.23881851357439288, 0.5516104950394077, 0.16949728066552805, 0.17699999941441635, 0.3259215888704792, 0.6829558794210719, 0.8768342657870796, 0.0828341270227837, 0.6434162586445695, 0.5323110978433342, 0.1248556733436923, 0.15902590556482255, 0.4712411793898579, 0.7894290004428436, 0.5032833161606196, 0.527059468896646, 0.9191006481472115, 0.25305549423863427, 0.6340006741168577, 0.358184464955455, 0.25972912049066155, 0.18926991931768677, 0.27595176819944, 0.8161194869680272, 0.1307237743057954, 0.3682368837401174, 0.10696899485835165, 0.4381449790035217, 0.8778405603604115, 0.33026410718319044, 0.43155412970009344, 0.688941263482083, 0.6484615948673739, 0.20103619018128005, 0.08393097766033852, 0.8913511709861782, 0.39172683394484564, 0.8390068848742098, 0.8242315116115289, 0.016933814177084616, 0.8432770047003173, 0.5329394715412086, 0.9027093385378767, 0.13464647139460417, 0.8011185435869719, 0.8299531042565435, 0.16599661763813744, 0.6152441825738123, 0.25151020323522655, 0.447172104562374, 0.5702866695855857, 0.8192062209036824, 0.23552991431295267, 0.32632467763985884, 0.038987953903722006, 0.11718840620381377, 0.7034737450184155, 0.546752909248851, 0.7267979136936736, 0.03712586684634822, 0.03808220856446631, 0.4344229625584559, 0.5073943443532393, 0.0876469591985547, 0.5479537630990768, 0.15022676424664938, 0.7065732472092339, 0.5267637826119574, 0.49239129236901735, 0.8218857103459851, 0.7979465301023618, 0.029548757715175067, 0.6487804290051798, 0.17197756477570048, 0.1792393744184949, 0.7262808230390461, 0.5266352244919847, 0.3774751618211455, 0.14059289117160334, 0.08529920580377037, 0.28344872274215105, 0.9959953800069987, 0.08464059391988354, 0.6670563867386871, 0.4687389304005585, 0.532305594930434, 0.28410362935440214, 0.07129098950073931, 0.09858800624814978, 0.4866184190503341, 0.5797421505352837, 0.7275188051657857, 0.8257101240399874, 0.2805336430088575, 0.5360449509204634, 0.48837931206904084, 0.9312020866617485, 0.7410346712070657, 0.08381751355840361, 0.622083699685216, 0.5182872441017575, 0.20300436297731594, 0.8408847205120992, 0.4065634267823589, 0.9992640055987563, 0.5148951028222453, 0.15248694988722633, 0.6534611001367189, 0.031062641103680733, 0.8694831172503376, 0.24862657671809274, 0.6479564397956218, 0.504649233907658, 0.07716366084071735, 0.6049908845448526, 0.7137870858666769, 0.7054652650387054, 0.36350442596954213, 0.8795945111811084, 0.582926532185696, 0.6932694244947931, 0.5595855181231474, 0.7570733169968579, 0.3926838954245869, 0.06662638382372121, 0.7354175771053119, 0.6689967299755643, 0.1503851907294197, 0.09334662866451149, 0.6985469006194642, 0.3853073559702226, 0.7598678794046461, 0.8430367249722724, 0.09609005474058485, 0.3327016836424206, 0.5147633020947202, 0.90130643092616, 0.1863314734620497, 0.7182836382686819, 0.05869761827209363, 0.43215310837091325, 0.5109770631402548, 0.8507620188714253, 0.9448034463404849, 0.8204290492967814, 0.30175616425548013, 0.6347738558965675, 0.7115068243493056, 0.9106453434867423, 0.7081724799882917, 0.9480983751448969, 0.30683290902116644, 0.538625415898359, 0.24508951206516771, 0.6706828695669036, 0.8841876638401157, 0.14646094171092727, 0.0873651816168074, 0.3789152991251008, 0.7514417784728014, 0.36660529419052745, 0.9058668780554411, 0.3905648290701539, 0.46346477300678546, 0.1784939685332635, 0.5505805956291808, 0.57458139202536, 0.37655520125792563, 0.8714877396827005, 0.06711091117831969, 0.2982765088342778, 0.3329050905695813, 0.4865987400975561, 0.6201284834454466, 0.46275286462889154, 0.8851839278084489, 0.9999593670233206, 0.2758236652060908, 0.17890347032894782, 0.048086683036078326, 0.28413000356301654, 0.9536736877854535, 0.44798896242923036, 0.29983211622633354, 0.9849763413326892, 0.45758533152883063, 0.5410627384028919, 0.8101421663582148, 0.4745789007815937, 0.9695833469428511, 0.7406298601731718, 0.8928719524735501, 0.07408106888379695, 0.48443913560921603, 0.9875039549398698, 0.9207282373994886, 0.916412184605058, 0.5325664548137249, 0.5186829523993904, 0.0011137436559524039, 0.13870348711282365, 0.882637588475232, 0.8911520456086311, 0.13836682539246214, 0.9507965084267185, 0.5052382254338335, 0.45961247912692105, 0.979182256053379, 0.4013111553698335, 0.7788395612306059, 0.8062745586439758, 0.19584512860236825, 0.275650733936018, 0.23472653953495393, 0.5268011060669119, 0.11615458325117867, 0.21289003081542524, 0.41033428588999377, 0.13922941757955198, 0.7339905698509648, 0.6420365465526778, 0.5935365043786606, 0.031448611228246826, 0.6446584269225506, 0.3168819180982111, 0.6919296394674304, 0.7611936857915317, 0.6581989409515427, 0.7119379353798316, 0.19877568188642458, 0.29773337106911635, 0.6353172249870478, 0.6784308970797828, 0.08779676069610531, 0.42626312256206, 0.22394679796804695, 0.9244223195097627, 0.15901668161462468, 0.7618146378555393, 0.07687698303830115, 0.1929344802840327, 0.7553281474784295, 0.8025581206851257, 0.14022257845130615, 0.9138712084521406, 0.8040597327540038, 0.6328239965840534, 0.6024965111935174, 0.7348700397039633, 0.09290265494838656, 0.23580663015210346, 0.35820294378273676, 0.7639205360566864, 0.9465492151069357, 0.4252441824179847, 0.5316291043266255, 0.8122536967408113, 0.5789541420307059, 0.22093739858997807, 0.721478902701215, 0.6885946622229991, 0.17835185715057533, 0.7238629983060336, 0.20125336494303825, 0.37003145722910347, 0.7429488863605441, 0.7499741271194941, 0.849429488346799, 0.764998070770062, 0.8627353540448067, 0.2639189465037146, 0.18543192561486244, 0.8406963006607173, 0.29867265092172757, 0.5830874946322163, 0.7266542276089016, 0.47732859671105865, 0.5276495401100896, 0.0285892476174624, 0.10154908386840933, 0.7355153876080694, 0.5965273658488094, 0.9873670681950693, 0.4231813740764955, 0.2367076098094284, 0.7766733432911771, 0.6429580955121145, 0.8307521364617134, 0.6525257497726437, 0.6857387208240013, 0.6812935881218981, 0.24823806562055328, 0.23222434233678046, 0.14734449630794566, 0.8593695744180271, 0.9521390092531038, 0.5589881068558278, 0.048191039611119035, 0.1404201318896956, 0.40850427818021384, 0.7203622066092176, 0.8471988115463831, 0.8860087660548518, 0.45971281262939667, 0.08887747998382489, 0.9740387490405953, 0.8585000450094692, 0.36058899298739555, 0.4278199731132287, 0.8375237958882933, 0.01417622872482538, 0.16029654637258495, 0.16681217791113911, 0.9318773298015346, 0.1515859497360037, 0.21766180447529104, 0.4792250665535124, 0.24411300991628737, 0.3217581574119305, 0.8390359459774884, 0.9659682387174011, 0.40034412355266336, 0.5255065433133791, 0.42837064152809445, 0.7654114974398095, 0.3865006028597384, 0.24734575434479678, 0.41425008509412264, 0.4088412035484068, 0.7434536979800712, 0.9525161199007488, 0.07138799479311309, 0.8519420240978587, 0.08747097413510685, 0.06259133820158325, 0.6102164785932812, 0.5272535740517759, 0.3882790321273053, 0.5219871401239666, 0.08342830725989958, 0.06992376312633286, 0.45588347082683367, 0.8507181024497145, 0.8168001145505971, 0.814592050185302, 0.8530358400139052, 0.7553391685463368, 0.467322607265681, 0.40821268238278274, 0.15224535394276528, 0.7721886316195505, 0.3188390117882929, 0.18861616707188456, 0.3183899178336651, 0.14272447128849497, 0.490605601502897, 0.046383765771242036, 0.16415576287753442, 0.22888703447357206, 0.5375730996026021, 0.057127838376448525, 0.35749934689051033, 0.2930410231839118, 0.8409144982684501, 0.07593293596409612, 0.356635418237763, 0.226719753247275, 0.0007109181986780788, 0.7184665789785081, 0.395824938261763, 0.4867276192621923, 0.5172670089066486, 0.5841508888388441, 0.08047869657287621, 0.9482746906157185, 0.41294535716449154, 0.8361654352683431, 0.4321112716511004, 0.011850429412228025, 0.4725427310129483, 0.13015593957624672, 0.4613391477382468, 0.6411806951208191, 0.5748219462376235, 0.7676968075086735, 0.4551543834911985, 0.3981321361133089, 0.5537117150328572, 0.640188645994515, 0.8733008957299926, 0.7680564850159917, 0.591855214421642, 0.6288218440807817, 0.5627797837213618, 0.8642380932712407, 0.6296224131150504, 0.810297385035068, 0.9521660572032933, 0.006989866947720524, 0.15360690769811158, 0.609592365107798, 0.856111276058204, 0.5569449989810563, 0.6358938242284586, 0.43974619938434945, 0.23369648280955435, 0.17610792852502044, 0.5393700616427376, 0.535512670941786, 0.5912839261540107, 0.6983894048201051, 0.15323404928308648, 0.8182668948670956, 0.29446560941893807, 0.418354823269551, 0.21870888711201486, 0.6424499336686369, 0.3214700322107067, 0.24736247781577525, 0.7305497857337323, 0.568789544871731, 0.6533320204219322, 0.33898139527730176, 0.16552403626291268, 0.19159501891328978, 0.5578510869508337, 0.29546640911784916, 0.2869367181145863, 0.7294147056255083, 0.3991485374776169, 0.4445980140617459, 0.6662896463638776, 0.8614878148940442, 0.1808774427317561, 0.4614411389376568, 0.3303364346947858, 0.8028852020786104, 0.5169929310162137, 0.14136531759583693, 0.9831280581298246, 0.7758621954461007, 0.9883180605472691, 0.7032276300145796, 0.31585307578954147, 0.28146832444773495, 0.9471559002035407, 0.44047203430454707, 0.29854162639920856, 0.07733153530994863, 0.8953385322255972, 0.8718260794429866, 0.8244843036717918, 0.9473049441286394, 0.13636726569332214, 0.9029170461356006, 0.2711524085545959, 0.14414511952710007, 0.9499336265300194, 0.6444587977800735, 0.7418623715827386, 0.044802260433499996, 0.850581483363445, 0.05712457779883895, 0.15282854721354788, 0.3482893221081773, 0.6247260064132429, 0.42099978778043057, 0.7479237929881165, 0.02099064732615097, 0.013098766701113651, 0.7226056703495463, 0.04820012498442583, 0.10248361115345117, 0.8892140389602003, 0.9313325327216908, 0.7919070208756257, 0.0708315749326881, 0.2188073927368014, 0.8127787161494373, 0.6257366952292145, 0.6924998870427207, 0.26793105051769306, 0.7826490483783863, 0.5966997551066409, 0.2129270109769711, 0.44769099683243785, 0.7574472416898225, 0.26729283252732317, 0.5630783736198899, 0.8608024828157775, 0.3931840317246529, 0.022722258330870937, 0.1056061545184902, 0.6060652796018042, 0.3352528944308385, 0.8977154563912682, 0.7221307220260405, 0.46922215009200297, 0.4677265831501206, 0.49431288865022915, 0.42276247133689504, 0.6788161518073327, 0.04439101827129144, 0.028811435615006542, 0.008956533117231325, 0.14719117410301985, 0.7352499716127123, 0.9005647194328514, 0.04239801036045521, 0.32113153439789777, 0.23008784431942686, 0.25059835793851803, 0.7821196322936473, 0.3571983300993258, 0.2624691465092742, 0.8018016489757368, 0.5248393284810376, 0.6977900148749919, 0.33093445127674614, 0.7554471103150353, 0.30512165089613275, 0.7316809143395435, 0.33837084272328344, 0.031181701520131222, 0.8998729244301411, 0.13963009532040604, 0.5524300751373528, 0.998751142570437, 0.8079412199511319, 0.38764559152084754, 0.3210831483519665, 0.7304185865067885, 0.5822602684215884, 0.6364590811085312, 0.10627778088019713, 0.5399985372878428, 0.4140922332840643, 0.32495829469129234, 0.7880364474443821, 0.6521293980091717, 0.23933614126005887, 0.40069381935472004, 0.3253434499214978, 0.43850426563837475, 0.3582655821803802, 0.02315611544237217, 0.7562158058764148, 0.7040259198312322, 0.5059192662520398, 0.052574245106938755, 0.0044571360420935235, 0.19994806707117685, 0.6839680845965146, 0.9986738127631021, 0.07122924252967722, 0.6409050009983894, 0.8555552153820654, 0.9370992032325905, 0.7376153474252244, 0.05650174272501618, 0.9555164199341558, 0.24096140966133506, 0.15235115309934777, 0.2227762469886192, 0.7035491425028773, 0.4883693004134255, 0.4991880671239809, 0.2038723768682421, 0.7756032542183166, 0.006225581322849116, 0.4008868869085592, 0.20812329467775148, 0.17556686644385078, 0.6096597423735237, 0.6191160871486041, 0.7349303921541335, 0.9192496344735487, 0.24229302674522868, 0.9899032791595263, 0.29044779138561216, 0.8321620650117503, 0.7598221463622512, 0.4229989353498531, 0.9387553475507483, 0.3140212188001139, 0.6511943391734281, 0.7376690823137533, 0.16614528063403933, 0.45753024916507445, 0.6563453150496379, 0.011057777761439902, 0.0018264730571969645, 0.3140058709073794, 0.8479357203115255, 0.9718814368259422, 0.2938044793936031, 0.389604645965164, 0.7259980798553759, 0.384597064894432, 0.6461406690633517, 0.17143060225012974, 0.7905787674108862, 0.700764812184617, 0.9178067635156595, 0.007883547902275412, 0.04345877753973626, 0.40662108491778937, 0.32503174588972183, 0.05007085167672787, 0.9581958519270192, 0.20437076813207167, 0.2397322863247101, 0.2432309640469006, 0.945083897778037, 0.715659408560469, 0.24955287567344286, 0.4424646154063001, 0.42947559846701466, 0.15496718950982546, 0.8613665468468363, 0.6173709310699306, 0.34240192063131025, 0.17697172987534104, 0.05400248287734222, 0.47400410893135847, 0.5657413124334275, 0.6886788284227651, 0.693192811671234, 0.5531430026891606, 0.766990407259576, 0.8518985685483231, 0.5389165861980743, 0.9984378083937185, 0.8151195733132465, 0.7295039076200354, 0.0922729891266788, 0.8668318130738214, 0.23372381782403595, 0.03956728658695974, 0.9606270879918739, 0.8167629519087327, 0.6627590908369925, 0.3128149140030476, 0.6317394199057031, 0.12021250922401605, 0.42604564092211705, 0.3977230376064276, 0.022079790505487362, 0.28149855317178163, 0.03265235541107758, 0.7517419899840844, 0.3364005732928873, 0.7329527122940036, 0.43759767242690906, 0.3172137189567925, 0.2707815810278883, 0.6642248201697422, 0.3972911147544086, 0.009127503808928017, 0.1234374452587974, 0.39970292448775213, 0.11989802753965029, 0.9927165644356675, 0.8609568773974031, 0.28473276918917545, 0.5837263814586879, 0.2741346897790268, 0.5647425538488864, 0.969909805392653, 0.7261702056098153, 0.5430436390733616, 0.08333922871976862, 0.5609888136600801, 0.014806506476614079, 0.9455759599914065, 0.3193070470406175, 0.08542679684744281, 0.6744677936417323, 0.27782578504968625, 0.29358418856919855, 0.9950513588111255, 0.09523381762884475, 0.7696317754383216, 0.6698100854232568, 0.43625543466202976, 0.2330898194698613, 0.4127476057822641, 0.9294766285644805, 0.05680528782969185, 0.6537538588698784, 0.17396071383121814, 0.9595723514929978, 0.42975991044177986, 0.5431447973683532, 0.8833668707212631, 0.26133302914884515, 0.37848317176894164, 0.46852397650558253, 0.20735781040531553, 0.8524713092661131, 0.44086749842642614, 0.9183713393663233, 0.9450411621274358, 0.697302770534409, 0.9135605184069232, 0.09015468169209084, 0.704151745426799, 0.5400455593098272, 0.5480655211682695, 0.30738071301825654, 0.15067120555532854, 0.925682378381145, 0.8160834394485424, 0.8645970999084115, 0.43923002522405574, 0.3760052855173096, 0.08902326927063253, 0.09948678314542847, 0.3578210615036086, 0.8485940282988038, 0.2516468752579376, 0.7365499301475807, 0.5612758649671108, 0.7859804827616864, 0.8851363067086282, 0.8935474690220618, 0.5336384648157917, 0.23839322063516444, 0.23213589762876796, 0.005758486459847889, 0.36868262474116764, 0.264207113494464, 0.36157643004033746, 0.9637257888559727, 0.5737186764359195, 0.5315516381845716, 0.5101088363620886, 0.039248651321625805, 0.9681240024592983, 0.08677429466572284, 0.9518099421221371, 0.7952823450404229, 0.05713730664487837, 0.17614720504232317, 0.14661930610537355, 0.7433132788379365, 0.3574322869140888, 0.2341799637707056, 0.8349985525202629, 0.8160746720387089, 0.6407640183325787, 0.6197726260454984, 0.41237945120152153, 0.1830987925080485, 0.7553599629295343, 0.05454691882123808, 0.5562940920005512, 0.5102400141204675, 0.9541297229195699, 0.5577971859903864, 0.3371623491173492, 0.9597353973741677, 0.9125053638178813, 0.5331026395371243, 0.7058339751156828, 0.28253557117321937, 0.7269649285767406, 0.12353532557783586, 0.4491118104036773, 0.6637148382841026, 0.6351120142249237, 0.864473727452456, 0.8265584180895602, 0.6156722515329398, 0.8643555219638754, 0.6571916479877694, }; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, {16, 2, 2, 16}, {4, 1, 16, 16}, DT_FLOAT}; TransResult result; FormatTransferFractalZ transfer; EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); EXPECT_EQ(result.length, sizeof(data_4d)); for (int i = 0; i < sizeof(data_4d) / sizeof(data_4d[0]); ++i) { EXPECT_EQ((reinterpret_cast(result.data.get()))[i], data_4d[i]); } } TEST_F(UtestFormatTransferNhwcFz, nhwc_to_fracz_fp32_success_gt_cube) { float data_4d[8 * 2 * 16 * 16] = { 0.9818316040500025, 0.6304740371328553, 0.3403190259672165, 0.1545772791147686, 0.636859736696714, 0.7286646469411707, 0.6881973306039132, 0.11522718733202364, 0.05221067208366703, 0.760070751319305, 0.7630787390114239, 0.03062661180995363, 0.6996367230214888, 0.05874377568360356, 0.7989654896241913, 0.48340672056664313, 0.9824687054977398, 0.9118200012456436, 0.5325827377037693, 0.13215275466376963, 0.16258783427877654, 0.8733241462879588, 0.9811689540387104, 0.16717227735564522, 0.17175025957595413, 0.26751940129597196, 0.6902723346114396, 0.9141926645323374, 0.1602148239484672, 0.590826374279885, 0.12879622297601634, 0.9993413116954417, 0.108757112003669, 0.1058705156043852, 0.29841868434742747, 0.29680370546430235, 0.7166628643533716, 0.7961560236596105, 0.2998001849925561, 0.17227883677244848, 0.273205026266526, 0.4057715298841855, 0.9241372689749366, 0.4818191702106074, 0.8407488865265121, 0.37467834871018846, 0.08393661785563533, 0.9287360118914758, 0.9323262118603665, 0.0959850628867761, 0.07841190876627901, 0.7575281447707486, 0.6451504082047301, 0.2867531294639032, 0.6038261174674847, 0.5722864102604774, 0.5980542102140242, 0.29143691325023924, 0.3323126425519707, 0.6213156440241487, 0.2783744506447783, 0.8192692866948531, 0.9580914367293034, 0.8180085498115592, 0.46737984143039313, 0.21761303972473267, 0.010092223694828983, 0.133924872196312, 0.6457939399463842, 0.7108065587126572, 0.6213477205246348, 0.03780712693181687, 0.052964796784310986, 0.7720495422151494, 0.07597908210473048, 0.3880721492592797, 0.8673754495725557, 0.2159619821305203, 0.9349796659144918, 0.19280128505408822, 0.19225222099905237, 0.6381200674681307, 0.09517206563329228, 0.7401210217185733, 0.9213966447997659, 0.8282252903940375, 0.25575682793740195, 0.09419161503451245, 0.7133067524485386, 0.30622040856962174, 0.04567030385976745, 0.4421966327959601, 0.9470399466953359, 0.1863959618388854, 0.603892794005211, 0.7305230388181004, 0.28364151338783206, 0.7685411345675934, 0.8988615642504377, 0.7248529774876415, 0.8955713245004737, 0.9694464156380791, 0.13627973385112224, 0.0262054823780018, 0.9598488199046755, 0.6637745866350796, 0.567021314483643, 0.8028105889988362, 0.5449983501324986, 0.7405568508319487, 0.7479203765092981, 0.6091595342627724, 0.3571584723082011, 0.6634376909205661, 0.7823687380994333, 0.46769811417519425, 0.43313252298354554, 0.4512165332058773, 0.7409639493996218, 0.773542103389995, 0.03251757301743474, 0.2918512326156285, 0.2707389025126231, 0.48862277656898045, 0.0677707878489644, 0.5319713656658794, 0.19055872328014922, 0.42372710919648093, 0.5410233673552419, 0.7053385617098781, 0.5796221225781045, 0.6774744169203547, 0.38184777780992407, 0.5921849312009162, 0.4139673487900193, 0.6324891962264935, 0.23998117926531592, 0.3006459023062501, 0.7543836662968866, 0.21903128794922366, 0.8847078454339562, 0.43658173987503657, 0.13725114471518118, 0.5082197711407339, 0.18832064432940687, 0.08574080793259364, 0.30059358691237237, 0.6482106495699304, 0.8511603041679399, 0.2701156230003453, 0.21298871203478398, 0.08203197080945912, 0.6725944240256472, 0.3066569123534626, 0.2662259874220829, 0.16779728161704843, 0.7158644073214633, 0.6878815896858301, 0.9934704148141994, 0.40929994195329833, 0.9879146301551541, 0.8134508106867051, 0.4772264929878759, 0.5239150673556234, 0.04973375923455958, 0.9408063913333713, 0.8933576927435202, 0.7690497885609424, 0.3432688849226637, 0.09841971497506807, 0.6489987050683524, 0.4612619245600613, 0.9668831791357312, 0.6773541509970112, 0.8113556563575658, 0.5103191595379972, 0.692501163915668, 0.872476678417899, 0.39847669533309527, 0.2550816582357872, 0.44785761524405, 0.6631992982892411, 0.07909667197674031, 0.15595306847956636, 0.7549753608310522, 0.7497451144627425, 0.961356053996849, 0.047012242220749845, 0.39968661191290844, 0.7900745768809934, 0.18988750301939106, 0.34309148527453104, 0.8666802227613912, 0.33819954591027035, 0.6754386381771887, 0.012056309491297434, 0.6529806784933322, 0.9651442384174174, 0.9978184657413758, 0.6258752595314446, 0.4974480025947464, 0.28768692957840036, 0.5851676600752466, 0.38541216263965494, 0.5412711123583736, 0.7940464609305427, 0.008865031997954298, 0.05848479024922548, 0.9396557362265029, 0.4326393542047332, 0.2488609657348656, 0.7562763464489093, 0.9983141149044218, 0.008402913032401704, 0.19571855359179036, 0.690386550914582, 0.7536429455538223, 0.9378744182203695, 0.7586425829635426, 0.1445178013804469, 0.9109541843179556, 0.07821616551324684, 0.05078095176454778, 0.9130796647001046, 0.20480686637597612, 0.8200671332173322, 0.4353078372661333, 0.9539464470659443, 0.8303326350536121, 0.6278771584995406, 0.2509169090532466, 0.1774990588847868, 0.4984180010157796, 0.37490941253308996, 0.747904697670194, 0.4689694228884409, 0.07865978524122308, 0.018278256806917637, 0.7339557318674227, 0.9194551313394231, 0.48861250541718937, 0.01814006325736084, 0.7541958032692393, 0.8774612716989119, 0.3760072307293194, 0.2342391882453575, 0.5507128966242177, 0.8814107840171872, 0.7629915021375545, 0.022596785422104193, 0.4676586074696423, 0.6323496539184577, 0.10709853732458496, 0.24458540292747133, 0.7432044950079842, 0.991407564153164, 0.6266082092973347, 0.04229595441634182, 0.8184353596321909, 0.10225103323158635, 0.11394336686699535, 0.4022127256961855, 0.30838155456109306, 0.3195787933473151, 0.11242740506794102, 0.06655005190369112, 0.5103072329299937, 0.22668773651030127, 0.32922441298388727, 0.8140348723745937, 0.5638190653380799, 0.26541973372425653, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6639543926405075, 0.590430754187306, 0.13166255110692238, 0.46762259840886866, 0.8254471928133637, 0.4192809120720761, 0.9109983519609524, 0.06282341072241782, 0.11304156042728886, 0.5823811143881991, 0.8401405236826993, 0.39537016399274805, 0.3393604217038657, 0.981346463187018, 0.8145676445740513, 0.9617260330265892, 0.8974954048898902, 0.9194970967140944, 0.9244598046892946, 0.5278043489398178, 0.6099197828719526, 0.6616471969341827, 0.6838181481733964, 0.3321388894085553, 0.32772025405797767, 0.8045236337225692, 0.543424952115358, 0.31439754345644666, 0.20390144864709325, 0.7287843878803184, 0.9530947743998013, 0.9986403638627129, 0.3975263188390229, 0.5781879687545874, 0.8724409861023287, 0.8566257438266888, 0.14606536893076372, 0.12865091525620642, 0.8838077200484497, 0.7193688017246426, 0.5554742650350404, 0.1590835864032687, 0.14658353856064854, 0.8378474528967791, 0.48599324242561204, 0.4618113619505574, 0.42866889296674937, 0.5822891945174828, 0.9030309982011011, 0.41714977847695556, 0.46228541811630763, 0.2749445339474653, 0.25981719721224195, 0.8216787813868978, 0.4538230925345249, 0.7282865762095903, 0.8788563382405642, 0.8826153372351091, 0.008215547008057156, 0.7021704582311347, 0.142877593970687, 0.03730299658952074, 0.5109381307125636, 0.496533373979947, 0.6221167728428014, 0.594797090684722, 0.9484422878814833, 0.5779176961086859, 0.05054664123568153, 0.6904408145042924, 0.9456781975122573, 0.07234907191568096, 0.31454539272595317, 0.039782261918874906, 0.9587127521414383, 0.8805585025554179, 0.9859544914622989, 0.6275317338277425, 0.14352580582038044, 0.7695326504943156, 0.41043924117549035, 0.3199344511919423, 0.17009843234582034, 0.19333893045555228, 0.4065598982414558, 0.4783366067549203, 0.2925065077781679, 0.46612867625915266, 0.2260401750143446, 0.9769887894299829, 0.626959110785719, 0.9005591753667794, 0.22730676915421288, 0.43752553937624405, 0.20832599816771735, 0.0648434614140343, 0.5533790070863268, 0.08314085235301405, 0.8425708019179065, 0.15917383752943826, 0.6527601974253487, 0.30126252545266263, 0.6463253615283967, 0.4485504420576313, 0.6669832516919934, 0.6390350894633332, 0.5841276848813355, 0.3633156947810412, 0.20053851382498278, 0.2991176134182495, 0.2237519088309342, 0.6924468706663672, 0.6267863686588406, 0.6957686899861832, 0.8481678412966801, 0.6679132796626048, 0.2520678664501832, 0.6859580348999734, 0.41653832488428466, 0.3443130260330426, 0.9265385049178334, 0.4632590871458663, 0.2792541905414425, 0.297175390928865, 0.9649706249008346, 0.8868549044180415, 0.27859114362929416, 0.7113192182809037, 0.9797397982051781, 0.5567150341480799, 0.7202351101992689, 0.16413702022000565, 0.336467018972884, 0.0377230903593081, 0.8602687151091007, 0.11839554304283328, 0.14208471520735977, 0.43607071414863874, 0.8741600257317956, 0.6640170355939985, 0.0909679192917131, 0.9106544964694222, 0.804698027266483, 0.35002717921135407, 0.151688664815809, 0.7393767419885556, 0.48217967745270196, 0.9602943716631533, 0.30319852768975375, 0.1330627046343439, 0.6710020756991474, 0.27078039927991027, 0.11186194386988224, 0.5457171365684865, 0.7880448237433672, 0.013805055471389882, 0.6180892645154643, 0.48759905827516603, 0.8233479375602223, 0.4264784017101182, 0.9633894232982487, 0.7448212055191065, 0.5452953261409613, 0.4856970915644032, 0.8693281473365151, 0.6373330823065603, 0.5771587194750025, 0.8691299641815123, 0.0815851410708418, 0.6806300549508425, 0.5075760571421807, 0.601124222598236, 0.07050306902810866, 0.36920524642079033, 0.18818005490550915, 0.5583892243115647, 0.5927420217262831, 0.7580186574311277, 0.5033605618537017, 0.9425017651769168, 0.48862010484707064, 0.9853716648830263, 0.39984394946359525, 0.5558506900537014, 0.5908610536703583, 0.22602671513614803, 0.8798987778429802, 0.9531473683222749, 0.7410953157434534, 0.30111561488120153, 0.4403622314059401, 0.052456464089102095, 0.01209641118408944, 0.46704246287932405, 0.4750820624217653, 0.10164673751729414, 0.9796758207356858, 0.8610487700070613, 0.6211171296662068, 0.8731238761599872, 0.37578834957139673, 0.1120201496751766, 0.011314071997954644, 0.2572189570511383, 0.879811392407261, 0.10362272859591204, 0.01645233098389376, 0.9500294012864102, 0.9690251328314643, 0.42575080842172963, 0.7001480708771485, 0.4041297773374436, 0.4185210345469337, 0.7190995465953123, 0.7640566649798914, 0.23242098306402514, 0.3542816499880481, 0.5507254523321877, 0.3029570242047027, 0.3038459304238752, 0.9598648212640765, 0.7204511737388988, 0.8790782739473424, 0.7794923303105117, 0.8815381229146946, 0.03744741097255122, 0.9047169962685846, 0.4610613790126912, 0.2475915213540839, 0.4298710416601963, 0.8221398481995089, 0.23343189008359377, 0.5350763782441681, 0.14739879873747308, 0.33280129854717244, 0.23821919516506462, 0.7167817307593071, 0.8773007050805388, 0.48070282049083113, 0.08899633176897048, 0.14443919067113453, 0.9763728131494807, 0.13169707338891068, 0.2574020118799679, 0.9117198409079358, 0.4813044045568353, 0.7148710776112692, 0.10816472148122425, 0.4872820160105873, 0.7843715998368327, 0.9792048963235088, 0.5032302898011388, 0.9133488145295496, 0.8343572569411505, 0.45894548309522043, 0.8041104427062074, 0.5871631865450887, 0.056334307939404415, 0.7231806850118402, 0.6744439230965042, 0.8458065219298543, 0.009223176587899173, 0.6934220235290146, 0.7552659426337391, 0.40417163368066655, 0.18495513003494457, 0.716067507969818, 0.14155481130771042, 0.029361076807311592, 0.8830993452371644, 0.6613103229791982, 0.9398338818781078, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3578659411897861, 0.7301301934786895, 0.8618464466584491, 0.18816515849292015, 0.9107401874129222, 0.03292249492058863, 0.8173098249178635, 0.2326748580551784, 0.8712189622758891, 0.052152358807047494, 0.5500602809399827, 0.29888382736441554, 0.7171636160760438, 0.61107113112707, 0.8742559685716594, 0.27079826979584654, 0.034930190616391354, 0.7646888920837598, 0.33294464574985105, 0.18964393968657645, 0.8359357998538534, 0.603777432373904, 0.8080737216440349, 0.43253091727556037, 0.29704589713859186, 0.35101583873151454, 0.27797579020562, 0.4409871040404285, 0.03183653010616194, 0.6888718475212194, 0.743930296258262, 0.1383195679389676, 0.7653124697875597, 0.6197416698501532, 0.03370111396538, 0.277730833007543, 0.47173387429680513, 0.004031925171442463, 0.4216810529719548, 0.1527542910995907, 0.755050985872739, 0.5103916874099794, 0.24663350472458012, 0.9944239408861326, 0.8532667918305049, 0.571258224550583, 0.8203424472901112, 0.7752687501935466, 0.3379267797413644, 0.04363591901403252, 0.021159698090064682, 0.9844201045382279, 0.9320998367516875, 0.7508176117887979, 0.6279835385302436, 0.8296132817079003, 0.7742499180798184, 0.22327265194322599, 0.05523148177019932, 0.015431424053453768, 0.9810406410163607, 0.6360185797616702, 0.318578721332871, 0.8545232136203632, 0.23240215777624518, 0.5821386011719336, 0.40705038971314067, 0.9726331053853133, 0.5877629214351668, 0.737951863797599, 0.13209112961192793, 0.32596609082453, 0.9051706320834314, 0.006592902179112681, 0.44539065743524575, 0.21040963856054318, 0.02648671883280662, 0.8307275617617943, 0.4998882468907887, 0.553040303946554, 0.5297816530911937, 0.5843239411260238, 0.1571513016873196, 0.4588380934037194, 0.8580445067796844, 0.08760914807929077, 0.3167980809508252, 0.5688868537877791, 0.7432713240307058, 0.47849574835183317, 0.08569476671747134, 0.0028373026780509347, 0.36146132556611577, 0.11732007318482318, 0.8826440135398512, 0.8057998064675778, 0.04722817815152447, 0.5163195461666986, 0.8923939769755282, 0.05625559077233866, 0.061665786518363186, 0.662644780876765, 0.6339151490480687, 0.23437975062774363, 0.12890375862760606, 0.3501592943353464, 0.09947716801883921, 0.9783908021362502, 0.5039620019339041, 0.7894302782128263, 0.40318009245339925, 0.010992512436047153, 0.7885896931523694, 0.09972075576249273, 0.327050109765748, 0.040566933728248045, 0.5192171211123873, 0.5010930644256814, 0.1751335903258584, 0.973049431223127, 0.04605996955300973, 0.5346739560986009, 0.8356986203333525, 0.8197705199993206, 0.00016846934847547512, 0.9767516366117579, 0.7373887650278352, 0.25343735960629343, 0.32665192959159395, 0.9515843270568628, 0.7912931593367771, 0.3390543201499241, 0.39116094675420365, 0.48473912485681336, 0.7748044486400519, 0.9504668800747522, 0.17379382917448194, 0.9058195197373183, 0.2269566175662039, 0.038537709312595037, 0.26170965377152067, 0.39139592915908183, 0.21106987419176348, 0.2688423270567659, 0.0588646031637704, 0.8142663494405596, 0.7230712928151145, 0.10388770611234022, 0.6320570126609345, 0.3854592292304997, 0.8401593200228608, 0.19857080876585775, 0.4632224663542698, 0.8338896779165693, 0.07498742940886116, 0.019157468796003774, 0.1973426137959765, 0.9481227475490336, 0.18022422840604635, 0.8193635052157996, 0.6971962981473214, 0.03280146452993471, 0.6100845348121183, 0.2564881425807104, 0.40952730901052836, 0.11198840547195466, 0.6384039317824369, 0.40293878780785075, 0.022692351439830727, 0.8875572687105943, 0.06480422446351664, 0.10051348811549643, 0.1980882930823188, 0.9179898183709072, 0.6861308896442132, 0.6956857450336589, 0.31107695018579007, 0.7677549648467343, 0.6201418408382342, 0.804275349391573, 0.2870986397529448, 0.1397119476044384, 0.8556387210623139, 0.6062812206466079, 0.6575142947882678, 0.45585821923189085, 0.4099371374021249, 0.7082884101648349, 0.8291749729575852, 0.9185967769978759, 0.04060621570729972, 0.4474316536950259, 0.8363505443285942, 0.8575757647091935, 0.039799459941253335, 0.36286406449207986, 0.5131647448366778, 0.39819043236603746, 0.7618607865355099, 0.22711968862867105, 0.9394712456140883, 0.027435600732236387, 0.7758712942733171, 0.2025711015279088, 0.9991247917543385, 0.9938131541840006, 0.186905251806328, 0.6306921520671528, 0.9934696708319142, 0.4155138570203807, 0.33151958596483977, 0.7351239628799405, 0.20830903644833842, 0.7740550628440345, 0.4191234862718004, 0.23674572501250302, 0.059571405085674156, 0.9129267438467386, 0.06451592284712904, 0.6857709392141015, 0.8380269534549667, 0.39885910326895746, 0.2834031729279012, 0.2382256471610743, 0.9638471775191081, 0.7215840179080331, 0.36423940072103955, 0.17430531770484514, 0.9415074521796919, 0.2738258731873858, 0.9306468185245629, 0.6656678169751403, 0.1155683928384511, 0.8747709248985905, 0.12635835804712037, 0.5759875379497646, 0.5731929978928748, 0.03741903689544501, 0.19725909198310998, 0.7735858565736194, 0.4790973691825182, 0.0981833133220551, 0.8764985001957379, 0.5258092509418005, 0.8342042669276518, 0.8790350110712204, 0.7094946960609122, 0.7708450113645778, 0.4180654412461543, 0.4242979420279134, 0.24139470932602636, 0.2209321570893309, 0.7846941996259452, 0.12945719412306944, 0.7602339455424194, 0.10743040252161462, 0.46685068003629737, 0.046369043986771774, 0.23308706601773554, 0.4844512179420487, 0.9643822582174879, 0.6006453251508257, 0.6936888180218606, 0.3013953093096562, 0.7354859248567551, 0.8349944098141118, 0.4048627428035879, 0.44505698895658985, 0.7751604897094069, 0.8744909179894252, 0.947828891904564, 0.8640222948104718, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6314201140353499, 0.11044529796167624, 0.5234602021756846, 0.8383531146832072, 0.35499006367650765, 0.9442108337417638, 0.8956398237978505, 0.1882592063763192, 0.37890051336945096, 0.2616367877576542, 0.42834342236173995, 0.963048643409656, 0.9217911303998747, 0.3863817294878098, 0.0974751151813743, 0.8599500573727576, 0.057089287186821935, 0.5533755728797164, 0.6005915913361521, 0.1620083752339584, 0.6061041103116162, 0.3995882134501906, 0.7085082598407784, 0.08407809216757356, 0.9084207349081772, 0.7272457718657432, 0.32992683980137916, 0.4946824285274082, 0.615073271111235, 0.4193961465372614, 0.30553456868372697, 0.05060126762779704, 0.291593602521547, 0.92010890659423, 0.983625492452828, 0.48639081135981677, 0.4765739226583956, 0.10661041022380258, 0.5214502864845213, 0.8599870683300007, 0.5179732137433295, 0.8809917505983484, 0.722106976281213, 0.48823452875607354, 0.3503839647122472, 0.9865830045574908, 0.5426630898906415, 0.5217709034718941, 0.10414112024944422, 0.7758532076224506, 0.3073683279926598, 0.8740808571085373, 0.31398731169122107, 0.9731775740247134, 0.006681240523999987, 0.15988007000514737, 0.12796151451926918, 0.34990462264973865, 0.0656152325665823, 0.573229266270487, 0.8187327005316167, 0.7370367403897583, 0.5653206456450454, 0.6242381891062653, 0.6005553470527086, 0.5780289963610858, 0.4615664520082169, 0.33336403885310373, 0.3607367809090497, 0.41916265564486266, 0.01606174796202109, 0.14162979911924312, 0.4134088930503992, 0.8487134257579578, 0.5428387502949792, 0.7715775547811061, 0.3987807271022865, 0.9327040075466025, 0.5991429329697456, 0.42591643248294897, 0.9341257420123151, 0.00901387215143401, 0.31965995666124947, 0.30354580893146743, 0.29702838396393805, 0.8783416396086332, 0.661370050417091, 0.5972415473147473, 0.7785999094421769, 0.22056824973746136, 0.5673911270103246, 0.43802545724601716, 0.7305663462744951, 0.16885785839419054, 0.5057125448994015, 0.6601524988598084, 0.41780992611018475, 0.3827436867828057, 0.4994412662997859, 0.6760343095970682, 0.804379353505974, 0.6968983017423745, 0.7087690507974629, 0.9060334223047234, 0.7408399172400371, 0.4399334354759946, 0.0505122443751177, 0.6419455093215115, 0.6284706946091785, 0.03490785589787804, 0.23143346520326058, 0.918425982705948, 0.13419172631284015, 0.19703920828417498, 0.8385184444257783, 0.5863278446649178, 0.8162272321723847, 0.9352789460968992, 0.8647561254544748, 0.15975188650299932, 0.17836973320343386, 0.6864848216734166, 0.36415105850464413, 0.3426658491754645, 0.08329749299302491, 0.42193590764837385, 0.6642021794485784, 0.6636584135623489, 0.6053567411529699, 0.6988705097367177, 0.3729424883568403, 0.04411243675556986, 0.534604760793021, 0.6085219738551051, 0.12447165936004256, 0.05883726779432985, 0.24847343117316678, 0.5063340116556715, 0.3976127704496062, 0.08152081595341609, 0.3506522585285301, 0.1683344260481151, 0.48691479882706157, 0.8353082899370665, 0.14637104867208328, 0.2129098116028093, 0.5796866670289799, 0.39100590803988866, 0.32139056156796886, 0.15058673720696558, 0.010737680262784766, 0.004595895220052548, 0.5243334524071466, 0.3062990700506023, 0.8989948145015754, 0.3995636846032241, 0.4560874030151093, 0.948023137115712, 0.540281310007275, 0.26457559429892186, 0.6515191420301568, 0.9554532124850424, 0.20822584693009594, 0.21886259526121254, 0.8463453916651477, 0.7415404364419516, 0.5419971984385825, 0.5497563263808113, 0.980394542822379, 0.15307532804101953, 0.572368260863743, 0.48863254508712584, 0.6979314145830208, 0.43581241800260095, 0.6989017345810631, 0.8187807739671614, 0.2575823090229311, 0.8240801799547735, 0.1448669779417252, 0.8116170735906293, 0.9082959459536531, 0.8862781397082458, 0.7324826297013995, 0.6259636012578446, 0.028853519416508266, 0.6228437907861963, 0.02409626691061728, 0.9203609494394416, 0.8461273177832925, 0.2736512366046855, 0.04020369061681861, 0.902228304152258, 0.550880345014923, 0.07148117151736633, 0.41054299237597647, 0.10848671426422485, 0.9728118525566118, 0.20990798653999276, 0.9308342861844455, 0.4978127378528848, 0.7351482579424665, 0.5623836482085756, 0.143782791890815, 0.5898839079534395, 0.2546773800832157, 0.666653682817035, 0.7467649896168816, 0.7339634345720852, 0.707682901066885, 0.9101318378861685, 0.5123191129010624, 0.9439951816262205, 0.5463959087566002, 0.05760611428924023, 0.676503376165408, 0.44429048072068333, 0.5230209296642828, 0.3224367091169168, 0.6913680319012937, 0.17110739904678152, 0.16779286710665142, 0.6335681699796741, 0.07931757368130377, 0.46888858792493004, 0.18197527553087145, 0.002638591858257655, 0.691716324882675, 0.044337163682884206, 0.6293554666845848, 0.40764392827851403, 0.2538655700672533, 0.8281469647313634, 0.023926045054366463, 0.8167534085038402, 0.43320133354594026, 0.24862060630736682, 0.09125749468359245, 0.8118122437010404, 0.9973271765376198, 0.9865525895778507, 0.47291321372136974, 0.8635521722706079, 0.4701334745256115, 0.1506952535704139, 0.9018427816330945, 0.6748520059749242, 0.6573750823451866, 0.8618860620086874, 0.08827502135749443, 0.6729164433989506, 0.21618869286155384, 0.4287518670302243, 0.2407327438728406, 0.6338004043821022, 0.8515817109182252, 0.9659962777150152, 0.6549008736011241, 0.8479504542038493, 0.006679071347445054, 0.2724677376754999, 0.9915443051333377, 0.21071715217089027, 0.8684246639753141, 0.7856846182004006, 0.6859853232823806, 0.4789831650688282, 0.8185051822940307, 0.5789517433188925, 0.6919294885862914, 0.921789377332735, 0.41376092831273026, 0.29579140546489957, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06536693360779877, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8189538792252146, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8485698722432129, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.42689303422429525, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7474879973990272, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9950215619461602, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.41411358428231926, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21626088206538852, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.22487940449338928, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4682545943541082, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9510104387444676, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18639355175119265, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8815486106206981, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9534802944405797, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5689890773146097, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3329371174770699, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7461012639404849, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7556533452821178, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6957123659099351, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.08242896820190027, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.23616744795045597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.13692726551997658, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16712455310677277, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8035400908448518, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1837892082294046, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05376976135766964, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3992656098634447, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9176895603923744, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.19440695649597994, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8475060356712824, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.18787115939366794, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9920266776266308, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8961208287376816, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.41160144347284433, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.17742916588766944, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07851007465436122, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06660419203737089, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07000294703215704, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9664967803907726, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.16668958705182269, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.060520301199066595, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7159738475986986, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7139909208243974, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5477377714401691, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8949482680224852, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6066615918823247, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3799019937820075, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.006052425806343575, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7784261014648269, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8334328323308305, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3595682016631978, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9593119247449344, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.11585279449665897, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5430944490786588, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4432788242430207, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.44626736830361025, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8072981979896457, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.9707561358089939, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.694866090191261, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2577772577688977, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6567808670786782, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.10632659645304032, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1875989205574723, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.40947541132428245, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05797277783754817, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8163056554998648, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4315493010082393, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.534265983707278, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, }; float data[17 * 2 * 2 * 17] = { 0.9818316040500025, 0.6304740371328553, 0.3403190259672165, 0.1545772791147686, 0.636859736696714, 0.7286646469411707, 0.6881973306039132, 0.11522718733202364, 0.05221067208366703, 0.760070751319305, 0.7630787390114239, 0.03062661180995363, 0.6996367230214888, 0.05874377568360356, 0.7989654896241913, 0.48340672056664313, 0.06536693360779877, 0.6639543926405075, 0.590430754187306, 0.13166255110692238, 0.46762259840886866, 0.8254471928133637, 0.4192809120720761, 0.9109983519609524, 0.06282341072241782, 0.11304156042728886, 0.5823811143881991, 0.8401405236826993, 0.39537016399274805, 0.3393604217038657, 0.981346463187018, 0.8145676445740513, 0.9617260330265892, 0.7556533452821178, 0.3578659411897861, 0.7301301934786895, 0.8618464466584491, 0.18816515849292015, 0.9107401874129222, 0.03292249492058863, 0.8173098249178635, 0.2326748580551784, 0.8712189622758891, 0.052152358807047494, 0.5500602809399827, 0.29888382736441554, 0.7171636160760438, 0.61107113112707, 0.8742559685716594, 0.27079826979584654, 0.17742916588766944, 0.6314201140353499, 0.11044529796167624, 0.5234602021756846, 0.8383531146832072, 0.35499006367650765, 0.9442108337417638, 0.8956398237978505, 0.1882592063763192, 0.37890051336945096, 0.2616367877576542, 0.42834342236173995, 0.963048643409656, 0.9217911303998747, 0.3863817294878098, 0.0974751151813743, 0.8599500573727576, 0.9593119247449344, 0.9824687054977398, 0.9118200012456436, 0.5325827377037693, 0.13215275466376963, 0.16258783427877654, 0.8733241462879588, 0.9811689540387104, 0.16717227735564522, 0.17175025957595413, 0.26751940129597196, 0.6902723346114396, 0.9141926645323374, 0.1602148239484672, 0.590826374279885, 0.12879622297601634, 0.9993413116954417, 0.8189538792252146, 0.8974954048898902, 0.9194970967140944, 0.9244598046892946, 0.5278043489398178, 0.6099197828719526, 0.6616471969341827, 0.6838181481733964, 0.3321388894085553, 0.32772025405797767, 0.8045236337225692, 0.543424952115358, 0.31439754345644666, 0.20390144864709325, 0.7287843878803184, 0.9530947743998013, 0.9986403638627129, 0.6957123659099351, 0.034930190616391354, 0.7646888920837598, 0.33294464574985105, 0.18964393968657645, 0.8359357998538534, 0.603777432373904, 0.8080737216440349, 0.43253091727556037, 0.29704589713859186, 0.35101583873151454, 0.27797579020562, 0.4409871040404285, 0.03183653010616194, 0.6888718475212194, 0.743930296258262, 0.1383195679389676, 0.07851007465436122, 0.057089287186821935, 0.5533755728797164, 0.6005915913361521, 0.1620083752339584, 0.6061041103116162, 0.3995882134501906, 0.7085082598407784, 0.08407809216757356, 0.9084207349081772, 0.7272457718657432, 0.32992683980137916, 0.4946824285274082, 0.615073271111235, 0.4193961465372614, 0.30553456868372697, 0.05060126762779704, 0.11585279449665897, 0.108757112003669, 0.1058705156043852, 0.29841868434742747, 0.29680370546430235, 0.7166628643533716, 0.7961560236596105, 0.2998001849925561, 0.17227883677244848, 0.273205026266526, 0.4057715298841855, 0.9241372689749366, 0.4818191702106074, 0.8407488865265121, 0.37467834871018846, 0.08393661785563533, 0.9287360118914758, 0.8485698722432129, 0.3975263188390229, 0.5781879687545874, 0.8724409861023287, 0.8566257438266888, 0.14606536893076372, 0.12865091525620642, 0.8838077200484497, 0.7193688017246426, 0.5554742650350404, 0.1590835864032687, 0.14658353856064854, 0.8378474528967791, 0.48599324242561204, 0.4618113619505574, 0.42866889296674937, 0.5822891945174828, 0.08242896820190027, 0.7653124697875597, 0.6197416698501532, 0.03370111396538, 0.277730833007543, 0.47173387429680513, 0.004031925171442463, 0.4216810529719548, 0.1527542910995907, 0.755050985872739, 0.5103916874099794, 0.24663350472458012, 0.9944239408861326, 0.8532667918305049, 0.571258224550583, 0.8203424472901112, 0.7752687501935466, 0.06660419203737089, 0.291593602521547, 0.92010890659423, 0.983625492452828, 0.48639081135981677, 0.4765739226583956, 0.10661041022380258, 0.5214502864845213, 0.8599870683300007, 0.5179732137433295, 0.8809917505983484, 0.722106976281213, 0.48823452875607354, 0.3503839647122472, 0.9865830045574908, 0.5426630898906415, 0.5217709034718941, 0.5430944490786588, 0.9323262118603665, 0.0959850628867761, 0.07841190876627901, 0.7575281447707486, 0.6451504082047301, 0.2867531294639032, 0.6038261174674847, 0.5722864102604774, 0.5980542102140242, 0.29143691325023924, 0.3323126425519707, 0.6213156440241487, 0.2783744506447783, 0.8192692866948531, 0.9580914367293034, 0.8180085498115592, 0.42689303422429525, 0.9030309982011011, 0.41714977847695556, 0.46228541811630763, 0.2749445339474653, 0.25981719721224195, 0.8216787813868978, 0.4538230925345249, 0.7282865762095903, 0.8788563382405642, 0.8826153372351091, 0.008215547008057156, 0.7021704582311347, 0.142877593970687, 0.03730299658952074, 0.5109381307125636, 0.496533373979947, 0.23616744795045597, 0.3379267797413644, 0.04363591901403252, 0.021159698090064682, 0.9844201045382279, 0.9320998367516875, 0.7508176117887979, 0.6279835385302436, 0.8296132817079003, 0.7742499180798184, 0.22327265194322599, 0.05523148177019932, 0.015431424053453768, 0.9810406410163607, 0.6360185797616702, 0.318578721332871, 0.8545232136203632, 0.07000294703215704, 0.10414112024944422, 0.7758532076224506, 0.3073683279926598, 0.8740808571085373, 0.31398731169122107, 0.9731775740247134, 0.006681240523999987, 0.15988007000514737, 0.12796151451926918, 0.34990462264973865, 0.0656152325665823, 0.573229266270487, 0.8187327005316167, 0.7370367403897583, 0.5653206456450454, 0.6242381891062653, 0.4432788242430207, 0.46737984143039313, 0.21761303972473267, 0.010092223694828983, 0.133924872196312, 0.6457939399463842, 0.7108065587126572, 0.6213477205246348, 0.03780712693181687, 0.052964796784310986, 0.7720495422151494, 0.07597908210473048, 0.3880721492592797, 0.8673754495725557, 0.2159619821305203, 0.9349796659144918, 0.19280128505408822, 0.7474879973990272, 0.6221167728428014, 0.594797090684722, 0.9484422878814833, 0.5779176961086859, 0.05054664123568153, 0.6904408145042924, 0.9456781975122573, 0.07234907191568096, 0.31454539272595317, 0.039782261918874906, 0.9587127521414383, 0.8805585025554179, 0.9859544914622989, 0.6275317338277425, 0.14352580582038044, 0.7695326504943156, 0.13692726551997658, 0.23240215777624518, 0.5821386011719336, 0.40705038971314067, 0.9726331053853133, 0.5877629214351668, 0.737951863797599, 0.13209112961192793, 0.32596609082453, 0.9051706320834314, 0.006592902179112681, 0.44539065743524575, 0.21040963856054318, 0.02648671883280662, 0.8307275617617943, 0.4998882468907887, 0.553040303946554, 0.9664967803907726, 0.6005553470527086, 0.5780289963610858, 0.4615664520082169, 0.33336403885310373, 0.3607367809090497, 0.41916265564486266, 0.01606174796202109, 0.14162979911924312, 0.4134088930503992, 0.8487134257579578, 0.5428387502949792, 0.7715775547811061, 0.3987807271022865, 0.9327040075466025, 0.5991429329697456, 0.42591643248294897, 0.44626736830361025, 0.19225222099905237, 0.6381200674681307, 0.09517206563329228, 0.7401210217185733, 0.9213966447997659, 0.8282252903940375, 0.25575682793740195, 0.09419161503451245, 0.7133067524485386, 0.30622040856962174, 0.04567030385976745, 0.4421966327959601, 0.9470399466953359, 0.1863959618388854, 0.603892794005211, 0.7305230388181004, 0.9950215619461602, 0.41043924117549035, 0.3199344511919423, 0.17009843234582034, 0.19333893045555228, 0.4065598982414558, 0.4783366067549203, 0.2925065077781679, 0.46612867625915266, 0.2260401750143446, 0.9769887894299829, 0.626959110785719, 0.9005591753667794, 0.22730676915421288, 0.43752553937624405, 0.20832599816771735, 0.0648434614140343, 0.16712455310677277, 0.5297816530911937, 0.5843239411260238, 0.1571513016873196, 0.4588380934037194, 0.8580445067796844, 0.08760914807929077, 0.3167980809508252, 0.5688868537877791, 0.7432713240307058, 0.47849574835183317, 0.08569476671747134, 0.0028373026780509347, 0.36146132556611577, 0.11732007318482318, 0.8826440135398512, 0.8057998064675778, 0.16668958705182269, 0.9341257420123151, 0.00901387215143401, 0.31965995666124947, 0.30354580893146743, 0.29702838396393805, 0.8783416396086332, 0.661370050417091, 0.5972415473147473, 0.7785999094421769, 0.22056824973746136, 0.5673911270103246, 0.43802545724601716, 0.7305663462744951, 0.16885785839419054, 0.5057125448994015, 0.6601524988598084, 0.8072981979896457, 0.28364151338783206, 0.7685411345675934, 0.8988615642504377, 0.7248529774876415, 0.8955713245004737, 0.9694464156380791, 0.13627973385112224, 0.0262054823780018, 0.9598488199046755, 0.6637745866350796, 0.567021314483643, 0.8028105889988362, 0.5449983501324986, 0.7405568508319487, 0.7479203765092981, 0.6091595342627724, 0.41411358428231926, 0.5533790070863268, 0.08314085235301405, 0.8425708019179065, 0.15917383752943826, 0.6527601974253487, 0.30126252545266263, 0.6463253615283967, 0.4485504420576313, 0.6669832516919934, 0.6390350894633332, 0.5841276848813355, 0.3633156947810412, 0.20053851382498278, 0.2991176134182495, 0.2237519088309342, 0.6924468706663672, 0.8035400908448518, 0.04722817815152447, 0.5163195461666986, 0.8923939769755282, 0.05625559077233866, 0.061665786518363186, 0.662644780876765, 0.6339151490480687, 0.23437975062774363, 0.12890375862760606, 0.3501592943353464, 0.09947716801883921, 0.9783908021362502, 0.5039620019339041, 0.7894302782128263, 0.40318009245339925, 0.010992512436047153, 0.060520301199066595, 0.41780992611018475, 0.3827436867828057, 0.4994412662997859, 0.6760343095970682, 0.804379353505974, 0.6968983017423745, 0.7087690507974629, 0.9060334223047234, 0.7408399172400371, 0.4399334354759946, 0.0505122443751177, 0.6419455093215115, 0.6284706946091785, 0.03490785589787804, 0.23143346520326058, 0.918425982705948, 0.9707561358089939, 0.3571584723082011, 0.6634376909205661, 0.7823687380994333, 0.46769811417519425, 0.43313252298354554, 0.4512165332058773, 0.7409639493996218, 0.773542103389995, 0.03251757301743474, 0.2918512326156285, 0.2707389025126231, 0.48862277656898045, 0.0677707878489644, 0.5319713656658794, 0.19055872328014922, 0.42372710919648093, 0.21626088206538852, 0.6267863686588406, 0.6957686899861832, 0.8481678412966801, 0.6679132796626048, 0.2520678664501832, 0.6859580348999734, 0.41653832488428466, 0.3443130260330426, 0.9265385049178334, 0.4632590871458663, 0.2792541905414425, 0.297175390928865, 0.9649706249008346, 0.8868549044180415, 0.27859114362929416, 0.7113192182809037, 0.1837892082294046, 0.7885896931523694, 0.09972075576249273, 0.327050109765748, 0.040566933728248045, 0.5192171211123873, 0.5010930644256814, 0.1751335903258584, 0.973049431223127, 0.04605996955300973, 0.5346739560986009, 0.8356986203333525, 0.8197705199993206, 0.00016846934847547512, 0.9767516366117579, 0.7373887650278352, 0.25343735960629343, 0.7159738475986986, 0.13419172631284015, 0.19703920828417498, 0.8385184444257783, 0.5863278446649178, 0.8162272321723847, 0.9352789460968992, 0.8647561254544748, 0.15975188650299932, 0.17836973320343386, 0.6864848216734166, 0.36415105850464413, 0.3426658491754645, 0.08329749299302491, 0.42193590764837385, 0.6642021794485784, 0.6636584135623489, 0.694866090191261, 0.5410233673552419, 0.7053385617098781, 0.5796221225781045, 0.6774744169203547, 0.38184777780992407, 0.5921849312009162, 0.4139673487900193, 0.6324891962264935, 0.23998117926531592, 0.3006459023062501, 0.7543836662968866, 0.21903128794922366, 0.8847078454339562, 0.43658173987503657, 0.13725114471518118, 0.5082197711407339, 0.22487940449338928, 0.9797397982051781, 0.5567150341480799, 0.7202351101992689, 0.16413702022000565, 0.336467018972884, 0.0377230903593081, 0.8602687151091007, 0.11839554304283328, 0.14208471520735977, 0.43607071414863874, 0.8741600257317956, 0.6640170355939985, 0.0909679192917131, 0.9106544964694222, 0.804698027266483, 0.35002717921135407, 0.05376976135766964, 0.32665192959159395, 0.9515843270568628, 0.7912931593367771, 0.3390543201499241, 0.39116094675420365, 0.48473912485681336, 0.7748044486400519, 0.9504668800747522, 0.17379382917448194, 0.9058195197373183, 0.2269566175662039, 0.038537709312595037, 0.26170965377152067, 0.39139592915908183, 0.21106987419176348, 0.2688423270567659, 0.7139909208243974, 0.6053567411529699, 0.6988705097367177, 0.3729424883568403, 0.04411243675556986, 0.534604760793021, 0.6085219738551051, 0.12447165936004256, 0.05883726779432985, 0.24847343117316678, 0.5063340116556715, 0.3976127704496062, 0.08152081595341609, 0.3506522585285301, 0.1683344260481151, 0.48691479882706157, 0.8353082899370665, 0.2577772577688977, 0.18832064432940687, 0.08574080793259364, 0.30059358691237237, 0.6482106495699304, 0.8511603041679399, 0.2701156230003453, 0.21298871203478398, 0.08203197080945912, 0.6725944240256472, 0.3066569123534626, 0.2662259874220829, 0.16779728161704843, 0.7158644073214633, 0.6878815896858301, 0.9934704148141994, 0.40929994195329833, 0.4682545943541082, 0.151688664815809, 0.7393767419885556, 0.48217967745270196, 0.9602943716631533, 0.30319852768975375, 0.1330627046343439, 0.6710020756991474, 0.27078039927991027, 0.11186194386988224, 0.5457171365684865, 0.7880448237433672, 0.013805055471389882, 0.6180892645154643, 0.48759905827516603, 0.8233479375602223, 0.4264784017101182, 0.3992656098634447, 0.0588646031637704, 0.8142663494405596, 0.7230712928151145, 0.10388770611234022, 0.6320570126609345, 0.3854592292304997, 0.8401593200228608, 0.19857080876585775, 0.4632224663542698, 0.8338896779165693, 0.07498742940886116, 0.019157468796003774, 0.1973426137959765, 0.9481227475490336, 0.18022422840604635, 0.8193635052157996, 0.5477377714401691, 0.14637104867208328, 0.2129098116028093, 0.5796866670289799, 0.39100590803988866, 0.32139056156796886, 0.15058673720696558, 0.010737680262784766, 0.004595895220052548, 0.5243334524071466, 0.3062990700506023, 0.8989948145015754, 0.3995636846032241, 0.4560874030151093, 0.948023137115712, 0.540281310007275, 0.26457559429892186, 0.6567808670786782, 0.9879146301551541, 0.8134508106867051, 0.4772264929878759, 0.5239150673556234, 0.04973375923455958, 0.9408063913333713, 0.8933576927435202, 0.7690497885609424, 0.3432688849226637, 0.09841971497506807, 0.6489987050683524, 0.4612619245600613, 0.9668831791357312, 0.6773541509970112, 0.8113556563575658, 0.5103191595379972, 0.9510104387444676, 0.9633894232982487, 0.7448212055191065, 0.5452953261409613, 0.4856970915644032, 0.8693281473365151, 0.6373330823065603, 0.5771587194750025, 0.8691299641815123, 0.0815851410708418, 0.6806300549508425, 0.5075760571421807, 0.601124222598236, 0.07050306902810866, 0.36920524642079033, 0.18818005490550915, 0.5583892243115647, 0.9176895603923744, 0.6971962981473214, 0.03280146452993471, 0.6100845348121183, 0.2564881425807104, 0.40952730901052836, 0.11198840547195466, 0.6384039317824369, 0.40293878780785075, 0.022692351439830727, 0.8875572687105943, 0.06480422446351664, 0.10051348811549643, 0.1980882930823188, 0.9179898183709072, 0.6861308896442132, 0.6956857450336589, 0.8949482680224852, 0.6515191420301568, 0.9554532124850424, 0.20822584693009594, 0.21886259526121254, 0.8463453916651477, 0.7415404364419516, 0.5419971984385825, 0.5497563263808113, 0.980394542822379, 0.15307532804101953, 0.572368260863743, 0.48863254508712584, 0.6979314145830208, 0.43581241800260095, 0.6989017345810631, 0.8187807739671614, 0.10632659645304032, 0.692501163915668, 0.872476678417899, 0.39847669533309527, 0.2550816582357872, 0.44785761524405, 0.6631992982892411, 0.07909667197674031, 0.15595306847956636, 0.7549753608310522, 0.7497451144627425, 0.961356053996849, 0.047012242220749845, 0.39968661191290844, 0.7900745768809934, 0.18988750301939106, 0.34309148527453104, 0.18639355175119265, 0.5927420217262831, 0.7580186574311277, 0.5033605618537017, 0.9425017651769168, 0.48862010484707064, 0.9853716648830263, 0.39984394946359525, 0.5558506900537014, 0.5908610536703583, 0.22602671513614803, 0.8798987778429802, 0.9531473683222749, 0.7410953157434534, 0.30111561488120153, 0.4403622314059401, 0.052456464089102095, 0.19440695649597994, 0.31107695018579007, 0.7677549648467343, 0.6201418408382342, 0.804275349391573, 0.2870986397529448, 0.1397119476044384, 0.8556387210623139, 0.6062812206466079, 0.6575142947882678, 0.45585821923189085, 0.4099371374021249, 0.7082884101648349, 0.8291749729575852, 0.9185967769978759, 0.04060621570729972, 0.4474316536950259, 0.6066615918823247, 0.2575823090229311, 0.8240801799547735, 0.1448669779417252, 0.8116170735906293, 0.9082959459536531, 0.8862781397082458, 0.7324826297013995, 0.6259636012578446, 0.028853519416508266, 0.6228437907861963, 0.02409626691061728, 0.9203609494394416, 0.8461273177832925, 0.2736512366046855, 0.04020369061681861, 0.902228304152258, 0.1875989205574723, 0.8666802227613912, 0.33819954591027035, 0.6754386381771887, 0.012056309491297434, 0.6529806784933322, 0.9651442384174174, 0.9978184657413758, 0.6258752595314446, 0.4974480025947464, 0.28768692957840036, 0.5851676600752466, 0.38541216263965494, 0.5412711123583736, 0.7940464609305427, 0.008865031997954298, 0.05848479024922548, 0.8815486106206981, 0.01209641118408944, 0.46704246287932405, 0.4750820624217653, 0.10164673751729414, 0.9796758207356858, 0.8610487700070613, 0.6211171296662068, 0.8731238761599872, 0.37578834957139673, 0.1120201496751766, 0.011314071997954644, 0.2572189570511383, 0.879811392407261, 0.10362272859591204, 0.01645233098389376, 0.9500294012864102, 0.8475060356712824, 0.8363505443285942, 0.8575757647091935, 0.039799459941253335, 0.36286406449207986, 0.5131647448366778, 0.39819043236603746, 0.7618607865355099, 0.22711968862867105, 0.9394712456140883, 0.027435600732236387, 0.7758712942733171, 0.2025711015279088, 0.9991247917543385, 0.9938131541840006, 0.186905251806328, 0.6306921520671528, 0.3799019937820075, 0.550880345014923, 0.07148117151736633, 0.41054299237597647, 0.10848671426422485, 0.9728118525566118, 0.20990798653999276, 0.9308342861844455, 0.4978127378528848, 0.7351482579424665, 0.5623836482085756, 0.143782791890815, 0.5898839079534395, 0.2546773800832157, 0.666653682817035, 0.7467649896168816, 0.7339634345720852, 0.40947541132428245, 0.9396557362265029, 0.4326393542047332, 0.2488609657348656, 0.7562763464489093, 0.9983141149044218, 0.008402913032401704, 0.19571855359179036, 0.690386550914582, 0.7536429455538223, 0.9378744182203695, 0.7586425829635426, 0.1445178013804469, 0.9109541843179556, 0.07821616551324684, 0.05078095176454778, 0.9130796647001046, 0.9534802944405797, 0.9690251328314643, 0.42575080842172963, 0.7001480708771485, 0.4041297773374436, 0.4185210345469337, 0.7190995465953123, 0.7640566649798914, 0.23242098306402514, 0.3542816499880481, 0.5507254523321877, 0.3029570242047027, 0.3038459304238752, 0.9598648212640765, 0.7204511737388988, 0.8790782739473424, 0.7794923303105117, 0.18787115939366794, 0.9934696708319142, 0.4155138570203807, 0.33151958596483977, 0.7351239628799405, 0.20830903644833842, 0.7740550628440345, 0.4191234862718004, 0.23674572501250302, 0.059571405085674156, 0.9129267438467386, 0.06451592284712904, 0.6857709392141015, 0.8380269534549667, 0.39885910326895746, 0.2834031729279012, 0.2382256471610743, 0.006052425806343575, 0.707682901066885, 0.9101318378861685, 0.5123191129010624, 0.9439951816262205, 0.5463959087566002, 0.05760611428924023, 0.676503376165408, 0.44429048072068333, 0.5230209296642828, 0.3224367091169168, 0.6913680319012937, 0.17110739904678152, 0.16779286710665142, 0.6335681699796741, 0.07931757368130377, 0.46888858792493004, 0.05797277783754817, 0.20480686637597612, 0.8200671332173322, 0.4353078372661333, 0.9539464470659443, 0.8303326350536121, 0.6278771584995406, 0.2509169090532466, 0.1774990588847868, 0.4984180010157796, 0.37490941253308996, 0.747904697670194, 0.4689694228884409, 0.07865978524122308, 0.018278256806917637, 0.7339557318674227, 0.9194551313394231, 0.5689890773146097, 0.8815381229146946, 0.03744741097255122, 0.9047169962685846, 0.4610613790126912, 0.2475915213540839, 0.4298710416601963, 0.8221398481995089, 0.23343189008359377, 0.5350763782441681, 0.14739879873747308, 0.33280129854717244, 0.23821919516506462, 0.7167817307593071, 0.8773007050805388, 0.48070282049083113, 0.08899633176897048, 0.9920266776266308, 0.9638471775191081, 0.7215840179080331, 0.36423940072103955, 0.17430531770484514, 0.9415074521796919, 0.2738258731873858, 0.9306468185245629, 0.6656678169751403, 0.1155683928384511, 0.8747709248985905, 0.12635835804712037, 0.5759875379497646, 0.5731929978928748, 0.03741903689544501, 0.19725909198310998, 0.7735858565736194, 0.7784261014648269, 0.18197527553087145, 0.002638591858257655, 0.691716324882675, 0.044337163682884206, 0.6293554666845848, 0.40764392827851403, 0.2538655700672533, 0.8281469647313634, 0.023926045054366463, 0.8167534085038402, 0.43320133354594026, 0.24862060630736682, 0.09125749468359245, 0.8118122437010404, 0.9973271765376198, 0.9865525895778507, 0.8163056554998648, 0.48861250541718937, 0.01814006325736084, 0.7541958032692393, 0.8774612716989119, 0.3760072307293194, 0.2342391882453575, 0.5507128966242177, 0.8814107840171872, 0.7629915021375545, 0.022596785422104193, 0.4676586074696423, 0.6323496539184577, 0.10709853732458496, 0.24458540292747133, 0.7432044950079842, 0.991407564153164, 0.3329371174770699, 0.14443919067113453, 0.9763728131494807, 0.13169707338891068, 0.2574020118799679, 0.9117198409079358, 0.4813044045568353, 0.7148710776112692, 0.10816472148122425, 0.4872820160105873, 0.7843715998368327, 0.9792048963235088, 0.5032302898011388, 0.9133488145295496, 0.8343572569411505, 0.45894548309522043, 0.8041104427062074, 0.8961208287376816, 0.4790973691825182, 0.0981833133220551, 0.8764985001957379, 0.5258092509418005, 0.8342042669276518, 0.8790350110712204, 0.7094946960609122, 0.7708450113645778, 0.4180654412461543, 0.4242979420279134, 0.24139470932602636, 0.2209321570893309, 0.7846941996259452, 0.12945719412306944, 0.7602339455424194, 0.10743040252161462, 0.8334328323308305, 0.47291321372136974, 0.8635521722706079, 0.4701334745256115, 0.1506952535704139, 0.9018427816330945, 0.6748520059749242, 0.6573750823451866, 0.8618860620086874, 0.08827502135749443, 0.6729164433989506, 0.21618869286155384, 0.4287518670302243, 0.2407327438728406, 0.6338004043821022, 0.8515817109182252, 0.9659962777150152, 0.4315493010082393, 0.6266082092973347, 0.04229595441634182, 0.8184353596321909, 0.10225103323158635, 0.11394336686699535, 0.4022127256961855, 0.30838155456109306, 0.3195787933473151, 0.11242740506794102, 0.06655005190369112, 0.5103072329299937, 0.22668773651030127, 0.32922441298388727, 0.8140348723745937, 0.5638190653380799, 0.26541973372425653, 0.7461012639404849, 0.5871631865450887, 0.056334307939404415, 0.7231806850118402, 0.6744439230965042, 0.8458065219298543, 0.009223176587899173, 0.6934220235290146, 0.7552659426337391, 0.40417163368066655, 0.18495513003494457, 0.716067507969818, 0.14155481130771042, 0.029361076807311592, 0.8830993452371644, 0.6613103229791982, 0.9398338818781078, 0.41160144347284433, 0.46685068003629737, 0.046369043986771774, 0.23308706601773554, 0.4844512179420487, 0.9643822582174879, 0.6006453251508257, 0.6936888180218606, 0.3013953093096562, 0.7354859248567551, 0.8349944098141118, 0.4048627428035879, 0.44505698895658985, 0.7751604897094069, 0.8744909179894252, 0.947828891904564, 0.8640222948104718, 0.3595682016631978, 0.6549008736011241, 0.8479504542038493, 0.006679071347445054, 0.2724677376754999, 0.9915443051333377, 0.21071715217089027, 0.8684246639753141, 0.7856846182004006, 0.6859853232823806, 0.4789831650688282, 0.8185051822940307, 0.5789517433188925, 0.6919294885862914, 0.921789377332735, 0.41376092831273026, 0.29579140546489957, 0.534265983707278, }; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, {17, 2, 2, 17}, {8, 2, 16, 16}, DT_FLOAT}; TransResult result; FormatTransferFractalZ transfer; EXPECT_EQ(transfer.TransFormat(args, result), SUCCESS); EXPECT_EQ(result.length, sizeof(data_4d)); for (int i = 0; i < sizeof(data_4d) / sizeof(data_4d[0]); ++i) { EXPECT_EQ((reinterpret_cast(result.data.get()))[i], data_4d[i]); } } TEST_F(UtestFormatTransferNhwcFz, build_transfer_fp32) { float data[17 * 5 * 5 * 31]; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, std::vector({17, 5, 5, 31}), std::vector({50, 2, 16, 16}), DT_FLOAT}; auto transfer = BuildFormatTransfer(args); EXPECT_NE(transfer, nullptr); } TEST_F(UtestFormatTransferNhwcFz, build_transfer_fp16) { uint16_t data[1 * 5 * 5 * 1]; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, std::vector({1, 5, 5, 1}), std::vector({25, 1, 16, 16}), DT_FLOAT16}; auto transfer = BuildFormatTransfer(args); EXPECT_NE(transfer, nullptr); } TEST_F(UtestFormatTransferNhwcFz, build_transfer_uint8) { uint8_t data[64 * 2 * 2 * 64]; TransArgs args{ reinterpret_cast(data), FORMAT_NHWC, FORMAT_FRACTAL_Z, std::vector({64, 2, 2, 64}), std::vector({8, 4, 16, 32}), DT_UINT8}; auto transfer = BuildFormatTransfer(args); EXPECT_NE(transfer, nullptr); } } // namespace formats } // namespace ge