diff --git a/libs/onnx-mlir b/libs/onnx-mlir index c213dff..f6cff23 160000 --- a/libs/onnx-mlir +++ b/libs/onnx-mlir @@ -1 +1 @@ -Subproject commit c213dff99b5832bae1528e6413f5b397fa1660f9 +Subproject commit f6cff2380f78e67397c5a262cf0b2034975596fb diff --git a/libs/zk-ml-dialect b/libs/zk-ml-dialect index 27cfb46..853b5ef 160000 --- a/libs/zk-ml-dialect +++ b/libs/zk-ml-dialect @@ -1 +1 @@ -Subproject commit 27cfb46cfdb1326f63a49baba5f743855eb35465 +Subproject commit 853b5ef553eac41a3ca50867787e0481595698c6 diff --git a/mlir-assigner/include/mlir-assigner/components/comparison/argminmax.hpp b/mlir-assigner/include/mlir-assigner/components/comparison/argminmax.hpp new file mode 100644 index 0000000..d737b6b --- /dev/null +++ b/mlir-assigner/include/mlir-assigner/components/comparison/argminmax.hpp @@ -0,0 +1,130 @@ +#ifndef CRYPTO3_ASSIGNER_FIXEDPOINT_ARGMINMAX_HPP +#define CRYPTO3_ASSIGNER_FIXEDPOINT_ARGMINMAX_HPP + +#include "mlir/Dialect/zkml/IR/DotProduct.h" +#include + +#include + +#include +#include +#include // TODO: check if there is a new mechanism for this in nil upstream + +#include +#include +#include + +namespace nil { + namespace blueprint { + + template + void handle_argmin( + mlir::zkml::ArgMinOp &operation, + stack_frame> &frame, + circuit_proxy> &bp, + assignment_proxy> + &assignment, + crypto3::zk::snark::plonk_variable &nextIndex, + std::uint32_t start_row) { + using component_type = components::fix_argmin< + crypto3::zk::snark::plonk_constraint_system, + BlueprintFieldType, basic_non_native_policy>; + + using input_type = typename component_type::input_type; + auto acc = frame.locals.find(mlir::hash_value(operation.getAcc())); + auto next = frame.locals.find(mlir::hash_value(operation.getNext())); + auto accIndex = frame.locals.find(mlir::hash_value(operation.getAccIndex())); + ASSERT(acc != frame.locals.end()); + ASSERT(next != frame.locals.end()); + ASSERT(accIndex != frame.locals.end()); + input_type instance_input; + instance_input.x = acc->second; + instance_input.y = next->second; + instance_input.index_x = accIndex->second; + + using manifest_reader = detail::ManifestReader; + const auto p = detail::PolicyManager::get_parameters( + detail::ManifestReader::get_witness(0, 1, 1)); + component_type component(p.witness, manifest_reader::get_constants(), manifest_reader::get_public_inputs(), + 1, 1, var_value(assignment, nextIndex), operation.getSelectLastIndex()); + + if constexpr (nil::blueprint::use_custom_lookup_tables()) { + auto lookup_tables = component.component_custom_lookup_tables(); + for (auto &t : lookup_tables) { + bp.register_lookup_table( + std::shared_ptr>(t)); + } + }; + + if constexpr (nil::blueprint::use_lookups()) { + auto lookup_tables = component.component_lookup_tables(); + for (auto &[k, v] : lookup_tables) { + bp.reserve_table(k); + } + }; + + handle_component_input(assignment, instance_input); + + components::generate_circuit(component, bp, assignment, instance_input, start_row); + auto result = components::generate_assignments(component, assignment, instance_input, start_row); + frame.locals[mlir::hash_value(operation.getResult(0))] = result.min; + frame.locals[mlir::hash_value(operation.getResult(1))] = result.index; + } + + template + void handle_argmax( + mlir::zkml::ArgMaxOp &operation, + stack_frame> &frame, + circuit_proxy> &bp, + assignment_proxy> + &assignment, + crypto3::zk::snark::plonk_variable &nextIndex, + std::uint32_t start_row) { + using component_type = components::fix_argmax< + crypto3::zk::snark::plonk_constraint_system, + BlueprintFieldType, basic_non_native_policy>; + + using input_type = typename component_type::input_type; + auto acc = frame.locals.find(mlir::hash_value(operation.getAcc())); + auto next = frame.locals.find(mlir::hash_value(operation.getNext())); + auto accIndex = frame.locals.find(mlir::hash_value(operation.getAccIndex())); + ASSERT(acc != frame.locals.end()); + ASSERT(next != frame.locals.end()); + ASSERT(accIndex != frame.locals.end()); + input_type instance_input; + instance_input.x = acc->second; + instance_input.y = next->second; + instance_input.index_x = accIndex->second; + + using manifest_reader = detail::ManifestReader; + const auto p = detail::PolicyManager::get_parameters( + detail::ManifestReader::get_witness(0, 1, 1)); + component_type component(p.witness, manifest_reader::get_constants(), manifest_reader::get_public_inputs(), + 1, 1, var_value(assignment, nextIndex), operation.getSelectLastIndex()); + + if constexpr (nil::blueprint::use_custom_lookup_tables()) { + auto lookup_tables = component.component_custom_lookup_tables(); + for (auto &t : lookup_tables) { + bp.register_lookup_table( + std::shared_ptr>(t)); + } + }; + + if constexpr (nil::blueprint::use_lookups()) { + auto lookup_tables = component.component_lookup_tables(); + for (auto &[k, v] : lookup_tables) { + bp.reserve_table(k); + } + }; + + handle_component_input(assignment, instance_input); + + components::generate_circuit(component, bp, assignment, instance_input, start_row); + auto result = components::generate_assignments(component, assignment, instance_input, start_row); + frame.locals[mlir::hash_value(operation.getResult(0))] = result.max; + frame.locals[mlir::hash_value(operation.getResult(1))] = result.index; + } + } // namespace blueprint +} // namespace nil + +#endif // CRYPTO3_ASSIGNER_FIXEDPOINT_ARGMINMAX_HPP diff --git a/mlir-assigner/include/mlir-assigner/components/fixedpoint/dot_product.hpp b/mlir-assigner/include/mlir-assigner/components/fixedpoint/dot_product.hpp index bc1ce59..6d1de8e 100644 --- a/mlir-assigner/include/mlir-assigner/components/fixedpoint/dot_product.hpp +++ b/mlir-assigner/include/mlir-assigner/components/fixedpoint/dot_product.hpp @@ -84,7 +84,8 @@ namespace nil { stack_frame> &frame, circuit_proxy> &bp, assignment_proxy> - &assignment) { + &assignment, + std::uint32_t start_row) { auto lhs = frame.memrefs.find(mlir::hash_value(operation.getLhs())); ASSERT(lhs != frame.memrefs.end()); @@ -96,8 +97,7 @@ namespace nil { // TACEO_TODO: check types - auto result = detail::handle_fixedpoint_dot_product_component(x, y, zero_var, bp, assignment, - assignment.allocated_rows()); + auto result = detail::handle_fixedpoint_dot_product_component(x, y, zero_var, bp, assignment, start_row); frame.locals[mlir::hash_value(operation.getResult())] = result.output; } } // namespace blueprint diff --git a/mlir-assigner/include/mlir-assigner/components/handle_component.hpp b/mlir-assigner/include/mlir-assigner/components/handle_component.hpp index bc93c05..4b67bdd 100644 --- a/mlir-assigner/include/mlir-assigner/components/handle_component.hpp +++ b/mlir-assigner/include/mlir-assigner/components/handle_component.hpp @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #define PREPARE_UNARY_INPUT(OP) \ diff --git a/mlir-assigner/include/mlir-assigner/memory/memref.hpp b/mlir-assigner/include/mlir-assigner/memory/memref.hpp index 9dc5553..400304f 100644 --- a/mlir-assigner/include/mlir-assigner/memory/memref.hpp +++ b/mlir-assigner/include/mlir-assigner/memory/memref.hpp @@ -120,7 +120,7 @@ namespace nil { template void print( - std::ostream& os, + std::ostream &os, const assignment> &assignment) { os << "memref<"; @@ -133,16 +133,11 @@ namespace nil { ss << type << ">["; os << type_str; if (type.isa()) { - if (type.getIntOrFloatBitWidth() == 1) { - //bool for (int i = 0; i < data.size(); i++) { os << var_value(assignment, data[i]).data; if (i != data.size() - 1) os << ","; } - } else { - //int - } } else if (type.isa()) { for (int i = 0; i < data.size(); i++) { auto value = var_value(assignment, data[i]).data; diff --git a/mlir-assigner/include/mlir-assigner/parser/evaluator.hpp b/mlir-assigner/include/mlir-assigner/parser/evaluator.hpp index 75f74ea..0838922 100644 --- a/mlir-assigner/include/mlir-assigner/parser/evaluator.hpp +++ b/mlir-assigner/include/mlir-assigner/parser/evaluator.hpp @@ -16,6 +16,8 @@ #include "mlir/IR/AffineExpr.h" #include "mlir/Support/MathExtras.h" #include "mlir/Dialect/zkml/IR/DotProduct.h" +#include "mlir/Dialect/zkml/IR/ArgMin.h" +#include "mlir/Dialect/zkml/IR/ArgMax.h" #include #include @@ -35,6 +37,7 @@ #include #include +#include #include #include #include @@ -318,6 +321,9 @@ namespace zk_ml_toolchain { auto result = lhs->second * rhs->second; frames.back().constant_values[mlir::hash_value(operation.getResult())] = result; + } else if (arith::CmpIOp operation = llvm::dyn_cast(op)) { + llvm::outs() << "icmp\n"; + exit(0); } else if (arith::ConstantOp operation = llvm::dyn_cast(op)) { TypedAttr constantValue = operation.getValueAttr(); if (constantValue.isa()) { @@ -636,6 +642,7 @@ namespace zk_ml_toolchain { } void handleZkMlOperation(Operation *op) { + std::uint32_t start_row = assignmnt.allocated_rows(); if (zkml::DotProductOp operation = llvm::dyn_cast(op)) { mlir::Value lhs = operation.getLhs(); mlir::Value rhs = operation.getRhs(); @@ -643,8 +650,18 @@ namespace zk_ml_toolchain { mlir::MemRefType MemRefType = mlir::cast(lhs.getType()); assert(MemRefType.getShape().size() == 1 && "DotProduct must have tensors of rank 1"); logger.debug("computing DotProduct with %d x %d", MemRefType.getShape().back()); - handle_fixedpoint_dot_product_component(operation, zero_var, frames.back(), bp, assignmnt); + handle_fixedpoint_dot_product_component(operation, zero_var, frames.back(), bp, assignmnt, start_row); return; + } else if (zkml::ArgMinOp operation = llvm::dyn_cast(op)) { + auto nextIndex = frames.back().constant_values.find(mlir::hash_value(operation.getNextIndex())); + ASSERT(nextIndex != frames.back().constant_values.end()); + auto nextIndexVar = put_into_assignment(nextIndex->second); + handle_argmin(operation, frames.back(), bp, assignmnt, nextIndexVar, start_row); + } else if (zkml::ArgMaxOp operation = llvm::dyn_cast(op)) { + auto nextIndex = frames.back().constant_values.find(mlir::hash_value(operation.getNextIndex())); + ASSERT(nextIndex != frames.back().constant_values.end()); + auto nextIndexVar = put_into_assignment(nextIndex->second); + handle_argmax(operation, frames.back(), bp, assignmnt, nextIndexVar, start_row); } else { std::string opName = op->getName().getIdentifier().str(); UNREACHABLE(std::string("unhandled zkML operation: ") + opName); diff --git a/mlir-assigner/tests/Models/.gitignore b/mlir-assigner/tests/Models/.gitignore new file mode 100644 index 0000000..c2f7a73 --- /dev/null +++ b/mlir-assigner/tests/Models/.gitignore @@ -0,0 +1 @@ +**.mlir diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.json b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.json new file mode 100644 index 0000000..ad7f5eb --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.4990997314453125, 0.650299072265625, 0.737274169921875, 0.13616943359375, 0.616729736328125, 0.648193359375, 0.7729034423828125, 0.0774078369140625, 0.3798065185546875, 0.992919921875, 0.47235107421875, 0.2223358154296875, 0.42376708984375, 0.9190826416015625, 0.0099334716796875, 0.6275177001953125, 0.4016265869140625, 0.6149749755859375, 0.88311767578125, 0.6617279052734375, 0.6196441650390625, 0.5257720947265625, 0.490570068359375, 0.47943115234375, 0.2528839111328125, 0.91558837890625, 0.144500732421875, 0.271453857421875, 0.00079345703125, 0.2481231689453125, 0.932586669921875, 0.8933563232421875, 0.1170654296875, 0.46356201171875, 0.5221710205078125, 0.8504791259765625, 0.6588897705078125, 0.13421630859375, 0.260833740234375, 0.5875396728515625, 0.570068359375, 0.1308441162109375, 0.7135009765625, 0.9995574951171875, 0.7698211669921875, 0.2625885009765625, 0.6194000244140625, 0.0988006591796875, 0.8233642578125, 0.6779937744140625, 0.542083740234375, 0.0847015380859375, 0.0871124267578125, 0.634063720703125, 0.60211181640625, 0.1547393798828125, 0.964599609375, 0.4380950927734375, 0.873779296875, 0.0771636962890625, 0.8572998046875, 0.5988922119140625, 0.3533172607421875, 0.588134765625, 0.8808746337890625, 0.5016326904296875, 0.1621246337890625, 0.7874908447265625, 0.1450958251953125, 0.842926025390625, 0.3763427734375, 0.5059661865234375, 0.992889404296875, 0.541168212890625, 0.37884521484375, 0.638031005859375, 0.0806732177734375, 0.2149658203125, 0.41339111328125, 0.8674163818359375, 0.949859619140625, 0.8406219482421875, 0.4790496826171875, 0.226654052734375, 0.8735198974609375, 0.7766876220703125, 0.632904052734375, 0.3654327392578125, 0.1968841552734375, 0.6480865478515625, 0.4531402587890625, 0.6609344482421875, 0.6425628662109375, 0.7634735107421875, 0.3010101318359375, 0.689605712890625, 0.4460906982421875, 0.547119140625, 0.8106689453125, 0.65545654296875, 0.2118377685546875, 0.4497222900390625, 0.9725341796875, 0.51220703125, 0.6221160888671875, 0.959625244140625, 0.848114013671875, 0.1685943603515625, 0.0907440185546875, 0.78961181640625, 0.76312255859375, 0.157073974609375, 0.3434906005859375, 0.61944580078125, 0.020233154296875, 0.0301513671875, 0.2640533447265625, 0.8879241943359375, 0.75970458984375, 0.0043487548828125, 0.7305450439453125, 0.67132568359375, 0.8685455322265625, 0.0825653076171875, 0.8999481201171875, 0.1294708251953125, 0.820220947265625, 0.0010833740234375, 0.51715087890625, 0.8177337646484375, 0.1239776611328125, 0.2180023193359375, 0.2478790283203125, 0.3839111328125, 0.516387939453125, 0.20745849609375, 0.66925048828125, 0.9429168701171875, 0.1448822021484375, 0.1648406982421875, 0.25665283203125, 0.2302703857421875, 0.0980377197265625, 0.97796630859375, 0.5218048095703125, 0.3084259033203125, 0.435821533203125, 0.837005615234375, 0.6980133056640625, 0.040069580078125, 0.7890625, 0.5061492919921875, 0.655426025390625, 0.885101318359375, 0.38299560546875, 0.74200439453125, 0.7628021240234375, 0.4999847412109375, 0.560821533203125, 0.3962249755859375, 0.3185272216796875, 0.33685302734375, 0.533599853515625, 0.36492919921875, 0.3648223876953125, 0.0319061279296875, 0.122711181640625, 0.658447265625, 0.8299560546875, 0.267059326171875, 0.8189544677734375, 0.2604827880859375, 0.5938262939453125, 0.3575897216796875, 0.200469970703125, 0.3448944091796875, 0.1733245849609375, 0.11572265625, 0.808685302734375, 0.5445404052734375, 0.5042724609375, 0.78448486328125, 0.5610809326171875, 0.1300201416015625, 0.4780426025390625, 0.454345703125, 0.7216949462890625, 0.2001495361328125, 0.3752593994140625, 0.5910797119140625, 0.9503936767578125, 0.7673492431640625, 0.8013916015625, 0.2403717041015625, 0.4111785888671875, 0.544921875, 0.292755126953125, 0.5025482177734375, 0.9854888916015625, 0.3623046875, 0.417236328125, 0.995452880859375, 0.794586181640625, 0.5906524658203125, 0.0583648681640625, 0.685699462890625, 0.5210723876953125, 0.491668701171875, 0.5861053466796875, 0.1295623779296875, 0.311767578125, 0.2167205810546875, 0.991119384765625, 0.4379119873046875, 0.6834716796875, 0.6813201904296875, 0.2107086181640625, 0.9404144287109375, 0.9100341796875, 0.312652587890625, 0.815887451171875, 0.86700439453125, 0.745941162109375, 0.00897216796875, 0.788787841796875, 0.18328857421875, 0.1278839111328125, 0.5192718505859375, 0.7568206787109375, 0.171234130859375, 0.3726959228515625, 0.293304443359375, 0.508056640625, 0.270263671875, 0.6554412841796875, 0.315582275390625, 0.6240692138671875, 0.2314910888671875, 0.7555694580078125, 0.8850555419921875, 0.2204742431640625, 0.8515167236328125, 0.8935394287109375, 0.8763885498046875, 0.3420562744140625, 0.0231475830078125, 0.874267578125, 0.016021728515625, 0.6916961669921875, 0.216552734375, 0.53936767578125, 0.3909454345703125, 0.5989990234375, 0.26702880859375, 0.5784759521484375, 0.979400634765625, 0.4576416015625, 0.527587890625, 0.967620849609375, 0.775970458984375, 0.5726165771484375, 0.74700927734375, 0.3412322998046875, 0.0181732177734375, 0.351776123046875, 0.3430023193359375, 0.365692138671875, 0.02874755859375, 0.962738037109375, 0.580230712890625, 0.7579345703125, 0.5904388427734375, 0.7090301513671875, 0.4139251708984375, 0.161865234375, 0.820709228515625, 0.53424072265625, 0.3285064697265625, 0.9254608154296875, 0.5771026611328125, 0.613037109375, 0.791259765625, 0.953033447265625, 0.6662139892578125, 0.2305145263671875, 0.5463409423828125, 0.2098846435546875, 0.5899810791015625, 0.8251800537109375, 0.5168609619140625, 0.41058349609375, 0.5383148193359375, 0.957763671875, 0.9873809814453125, 0.0825042724609375, 0.2268524169921875, 0.9698944091796875, 0.7616424560546875, 0.04156494140625, 0.42333984375, 0.1852569580078125, 0.7742919921875, 0.89910888671875, 0.0408172607421875, 0.1495819091796875, 0.020660400390625, 0.1488800048828125, 0.870269775390625, 0.0157318115234375, 0.7799530029296875, 0.3514251708984375, 0.76202392578125, 0.38134765625, 0.1716766357421875, 0.2327880859375, 0.2472686767578125, 0.8129119873046875, 0.5155792236328125, 0.994598388671875, 0.8003082275390625, 0.6376495361328125, 0.3807525634765625, 0.11273193359375, 0.9015350341796875, 0.7708587646484375, 0.3504180908203125, 0.438568115234375, 0.72821044921875, 0.817718505859375, 0.0337677001953125, 0.1049041748046875, 0.2210693359375, 0.394317626953125, 0.2585601806640625, 0.788848876953125, 0.1210174560546875, 0.7993927001953125, 0.57177734375, 0.2789154052734375, 0.9290771484375, 0.0540313720703125, 0.5720672607421875, 0.7263336181640625, 0.28857421875, 0.6339263916015625, 0.146087646484375, 0.4334716796875, 0.6596527099609375, 0.865936279296875, 0.9015350341796875, 0.0160064697265625, 0.1690826416015625, 0.3373870849609375, 0.669342041015625, 0.3417510986328125, 0.896636962890625, 0.719329833984375, 0.5901031494140625, 0.247467041015625, 0.703460693359375, 0.23541259765625, 0.5437164306640625, 0.541290283203125, 0.55731201171875, 0.9735107421875, 0.863800048828125, 0.946441650390625, 0.7737579345703125, 0.9473114013671875, 0.59423828125, 0.6871795654296875, 0.7298583984375, 0.205810546875, 0.0459136962890625, 0.759246826171875, 0.5540618896484375, 0.2034912109375, 0.228485107421875, 0.949188232421875, 0.820892333984375, 0.475189208984375, 0.8651580810546875, 0.3878021240234375, 0.6217803955078125, 0.87945556640625, 0.8563690185546875, 0.55902099609375, 0.3199462890625, 0.713104248046875, 0.5021820068359375, 0.004913330078125, 0.80816650390625, 0.739501953125, 0.3289947509765625, 0.2427520751953125, 0.0421295166015625, 0.0616607666015625, 0.0406494140625, 0.502899169921875, 0.1982879638671875, 0.758636474609375, 0.161773681640625, 0.7409210205078125, 0.2171630859375, 0.0228729248046875, 0.380584716796875, 0.563995361328125, 0.6728668212890625, 0.5016632080078125, 0.5113372802734375, 0.2178955078125, 0.0249176025390625, 0.232177734375, 0.7250823974609375, 0.4351654052734375, 0.355499267578125, 0.3730621337890625, 0.109466552734375, 0.3530426025390625, 0.28192138671875, 0.36456298828125, 0.3794097900390625, 0.61749267578125, 0.0030517578125, 0.008941650390625, 0.768280029296875, 0.3663177490234375, 0.188507080078125, 0.5592498779296875, 0.9298095703125, 0.7083587646484375, 0.2574462890625, 0.5949249267578125, 0.537078857421875, 0.4326019287109375, 0.59771728515625, 0.9851531982421875, 0.0800933837890625, 0.377044677734375, 0.6306304931640625, 0.812255859375, 0.0522003173828125, 0.231353759765625, 0.585235595703125, 0.0861968994140625, 0.76806640625, 0.030517578125, 0.7373809814453125, 0.0475006103515625, 0.5022735595703125, 0.5641326904296875, 0.8885955810546875, 0.2141265869140625, 0.871490478515625, 0.6481170654296875, 0.0317840576171875, 0.7592926025390625, 0.051971435546875, 0.621490478515625, 0.72442626953125, 0.3815155029296875, 0.375640869140625, 0.808135986328125, 0.8817291259765625, 0.4663238525390625, 0.4775543212890625, 0.297943115234375, 0.5879058837890625, 0.3710479736328125, 0.8905487060546875, 0.1881561279296875, 0.47528076171875, 0.4839019775390625, 0.09320068359375, 0.5351104736328125, 0.86138916015625, 0.3711090087890625, 0.814483642578125, 0.2483367919921875, 0.583404541015625, 0.9960784912109375, 0.5280914306640625, 0.8084869384765625, 0.037322998046875, 0.826904296875, 0.9070281982421875, 0.2970428466796875, 0.6010894775390625, 0.4839019775390625, 0.279144287109375, 0.7708740234375, 0.256683349609375, 0.7671661376953125, 0.9937744140625, 0.3215484619140625, 0.0254058837890625, 0.521942138671875, 0.98992919921875, 0.2867279052734375, 0.0772247314453125, 0.2385101318359375, 0.6403350830078125, 0.87945556640625, 0.6406402587890625, 0.3225555419921875, 0.959716796875, 0.6417388916015625, 0.0665130615234375, 0.7559967041015625, 0.881317138671875, 0.38836669921875, 0.18670654296875, 0.230133056640625, 0.78265380859375, 0.01409912109375, 0.197235107421875, 0.396331787109375, 0.285186767578125, 0.7738494873046875, 0.2265167236328125, 0.1516571044921875, 0.0242919921875, 0.1419525146484375, 0.8060455322265625, 0.595855712890625, 0.411529541015625, 0.7989501953125, 0.771575927734375, 0.6305084228515625, 0.6603240966796875, 0.1453857421875, 0.7740020751953125, 0.477447509765625, 0.1675567626953125, 0.1135406494140625, 0.18212890625, 0.10455322265625, 0.7490997314453125, 0.8299560546875, 0.6606292724609375, 0.851104736328125, 0.2293701171875, 0.9539947509765625, 0.0275115966796875, 0.8743438720703125, 0.6414031982421875, 0.8909149169921875, 0.27337646484375, 0.2038421630859375, 0.99444580078125, 0.889495849609375, 0.92919921875, 0.393341064453125, 0.37237548828125, 0.3311767578125, 0.880126953125, 0.8289794921875, 0.8597259521484375, 0.5633544921875, 0.7464447021484375, 0.7328338623046875, 0.2319793701171875, 0.618408203125, 0.165618896484375, 0.9045562744140625, 0.8072052001953125, 0.389068603515625, 0.7729339599609375, 0.0045166015625, 0.4864349365234375, 0.3643951416015625, 0.322509765625, 0.470306396484375, 0.4185333251953125, 0.8064422607421875, 0.402984619140625, 0.645050048828125, 0.26239013671875, 0.51641845703125, 0.1579742431640625, 0.235687255859375, 0.5214080810546875, 0.10833740234375, 0.1549072265625, 0.6295623779296875, 0.9739837646484375, 0.59417724609375, 0.097137451171875, 0.0018310546875, 0.678680419921875, 0.7544403076171875, 0.400726318359375, 0.5853271484375, 0.4743804931640625, 0.87744140625, 0.8715972900390625, 0.6726226806640625, 0.864959716796875, 0.10870361328125, 0.871795654296875, 0.49822998046875, 0.9561309814453125, 0.561737060546875, 0.677734375, 0.860321044921875, 0.295684814453125, 0.4705352783203125, 0.8053436279296875, 0.2454833984375, 0.221954345703125, 0.29095458984375, 0.5223236083984375, 0.6112518310546875, 0.21246337890625, 0.0738983154296875, 0.38299560546875, 0.784454345703125, 0.7855072021484375, 0.485626220703125, 0.4446868896484375, 0.9571380615234375, 0.953155517578125, 0.71124267578125, 0.3599700927734375, 0.6347198486328125, 0.629547119140625, 0.8282928466796875, 0.1841278076171875, 0.646087646484375, 0.71826171875, 0.3951263427734375, 0.79669189453125, 0.2802276611328125, 0.4239654541015625, 0.06689453125, 0.4874267578125, 0.6943359375, 0.721466064453125, 0.16864013671875, 0.3985137939453125, 0.3428802490234375, 0.8037567138671875, 0.946868896484375, 0.96563720703125, 0.9601593017578125, 0.90887451171875, 0.7515869140625, 0.8797454833984375, 0.4397430419921875, 0.21759033203125, 0.4221038818359375, 0.2647247314453125, 0.9124755859375, 0.47662353515625, 0.2012481689453125, 0.8157501220703125, 0.7718505859375, 0.2158966064453125, 0.235992431640625, 0.716217041015625, 0.383575439453125, 0.0931549072265625, 0.2222747802734375, 0.0724639892578125, 0.760223388671875, 0.1365203857421875, 0.2318878173828125, 0.599273681640625, 0.05303955078125, 0.35968017578125, 0.5120697021484375, 0.9709625244140625, 0.156951904296875, 0.6176910400390625, 0.8426666259765625, 0.3646392822265625, 0.4044342041015625, 0.103790283203125, 0.0686492919921875, 0.787109375, 0.770782470703125, 0.627166748046875, 0.1603851318359375, 0.4763641357421875, 0.990875244140625, 0.864593505859375, 0.5442352294921875, 0.647796630859375, 0.6717987060546875, 0.3530731201171875, 0.479217529296875, 0.561553955078125, 0.2853851318359375, 0.2128753662109375, 0.4588623046875, 0.3303375244140625, 0.1885223388671875, 0.66412353515625, 0.817626953125, 0.889434814453125, 0.532257080078125, 0.6448822021484375, 0.4820556640625, 0.3666534423828125, 0.655517578125, 0.1230316162109375, 0.5650787353515625, 0.8819427490234375, 0.2688446044921875, 0.34344482421875, 0.9467315673828125, 0.2524261474609375, 0.7953338623046875, 0.0697021484375, 0.436187744140625, 0.59490966796875, 0.5184173583984375, 0.4568328857421875, 0.9230194091796875, 0.47979736328125, 0.784942626953125, 0.62152099609375, 0.866241455078125, 0.76055908203125, 0.0892791748046875, 0.4087066650390625, 0.5941619873046875, 0.8501129150390625, 0.4756927490234375, 0.8355712890625, 0.478912353515625, 0.6649322509765625, 0.6923980712890625, 0.071136474609375, 0.1793670654296875, 0.2681121826171875, 0.1151123046875, 0.23699951171875, 0.590545654296875, 0.2673797607421875, 0.729888916015625, 0.7608489990234375, 0.8350372314453125, 0.963714599609375, 0.760772705078125, 0.0268096923828125, 0.8052825927734375, 0.136138916015625, 0.1712188720703125, 0.717987060546875, 0.36602783203125, 0.196075439453125, 0.819549560546875, 0.2053375244140625, 0.7034454345703125, 0.3194427490234375, 0.5963592529296875, 0.014190673828125, 0.2911224365234375, 0.3345489501953125, 0.5802764892578125, 0.149658203125, 0.443634033203125, 0.0727081298828125, 0.4490203857421875, 0.432159423828125, 0.3719024658203125, 0.118988037109375, 0.2637786865234375, 0.5764617919921875, 0.6348724365234375, 0.8568267822265625, 0.63470458984375, 0.220245361328125, 0.2895355224609375, 0.821624755859375, 0.399261474609375, 0.007415771484375, 0.8487091064453125, 0.471221923828125, 0.8054962158203125, 0.5316619873046875, 0.92474365234375, 0.755767822265625, 0.6746978759765625, 0.932403564453125, 0.2790985107421875, 0.287017822265625, 0.706390380859375, 0.446044921875, 0.4571685791015625, 0.38470458984375, 0.224700927734375, 0.1164093017578125, 0.393646240234375, 0.105255126953125, 0.0190582275390625, 0.5511627197265625, 0.18218994140625, 0.3829193115234375, 0.235504150390625, 0.0947418212890625, 0.7003326416015625, 0.1735382080078125, 0.7995758056640625, 0.38134765625, 0.7198486328125, 0.5257568359375, 0.589874267578125, 0.81378173828125, 0.215972900390625, 0.1977691650390625, 0.8206939697265625, 0.1002197265625, 0.945404052734375, 0.0272674560546875, 0.9775238037109375, 0.57147216796875, 0.858306884765625, 0.8478240966796875, 0.0877838134765625, 0.6360626220703125, 0.81317138671875, 0.3775787353515625, 0.5808258056640625, 0.3679962158203125, 0.0016021728515625, 0.7849884033203125, 0.9680938720703125, 0.65447998046875, 0.068511962890625, 0.5301971435546875, 0.380126953125, 0.4301605224609375, 0.6524658203125, 0.531982421875, 0.83056640625, 0.6806793212890625, 0.374603271484375, 0.43182373046875, 0.5602874755859375, 0.7174072265625, 0.7463531494140625, 0.832489013671875, 0.123687744140625, 0.2972412109375, 0.9243316650390625, 0.676239013671875, 0.5860595703125, 0.0701904296875, 0.2397308349609375, 0.3544464111328125, 0.9004974365234375, 0.1608428955078125, 0.34466552734375, 0.7807464599609375, 0.1361541748046875, 0.270355224609375, 0.9021453857421875, 0.123138427734375, 0.2025146484375, 0.239959716796875, 0.0059967041015625, 0.5989532470703125, 0.609375, 0.3281097412109375, 0.777313232421875, 0.7552337646484375, 0.392425537109375, 0.5103302001953125, 0.678741455078125, 0.9039306640625, 0.7801361083984375, 0.366790771484375, 0.416900634765625, 0.1462249755859375, 0.3397674560546875, 0.5931549072265625, 0.0847320556640625, 0.2171173095703125, 0.85894775390625, 0.1121978759765625, 0.5056915283203125, 0.9547271728515625, 0.7621612548828125, 0.70318603515625, 0.67205810546875, 0.9362030029296875, 0.3544769287109375, 0.013916015625, 0.0865631103515625, 0.0425872802734375, 0.1237945556640625, 0.157379150390625, 0.1324310302734375, 0.0754547119140625, 0.515625, 0.0602264404296875, 0.55682373046875, 0.5437164306640625, 0.5850830078125, 0.61993408203125, 0.0132904052734375, 0.3344573974609375, 0.5856781005859375, 0.599212646484375, 0.55145263671875, 0.7966461181640625, 0.0115966796875, 0.234344482421875, 0.4911956787109375, 0.52783203125, 0.7566070556640625, 0.67010498046875, 0.4288482666015625, 0.236297607421875, 0.938018798828125, 0.8835296630859375, 0.709503173828125, 0.09686279296875, 0.525604248046875, 0.8218841552734375, 0.8553619384765625, 0.1592254638671875, 0.5216522216796875, 0.8393707275390625, 0.199310302734375, 0.6843414306640625, 0.0710906982421875, 0.515838623046875, 0.6427154541015625, 0.251068115234375, 0.666351318359375, 0.2430267333984375, 0.8834991455078125, 0.4460906982421875, 0.386505126953125, 0.3330535888671875, 0.3230743408203125, 0.4963836669921875, 0.2899932861328125, 0.770782470703125, 0.6453094482421875, 0.7119140625, 0.1759490966796875, 0.0013275146484375, 0.25469970703125, 0.8546905517578125, 0.8360595703125, 0.47344970703125, 0.8636016845703125, 0.710357666015625, 0.6064605712890625, 0.2022857666015625, 0.3547515869140625, 0.249725341796875, 0.3944091796875, 0.297637939453125, 0.365814208984375, 0.07598876953125, 0.9634552001953125, 0.718658447265625, 0.657073974609375, 0.2899017333984375, 0.431396484375, 0.2633514404296875, 0.4411468505859375, 0.1212921142578125, 0.510528564453125, 0.11712646484375, 0.1769561767578125, 0.7583770751953125, 0.3456268310546875, 0.1227264404296875, 0.684600830078125, 0.4341888427734375, 0.9864959716796875, 0.716064453125, 0.298492431640625, 0.212890625, 0.6661376953125, 0.7321319580078125, 0.251739501953125, 0.196136474609375, 0.6186981201171875, 0.2013702392578125, 0.405487060546875, 0.97540283203125, 0.1975555419921875, 0.530487060546875, 0.9910125732421875, 0.7085723876953125, 0.52545166015625, 0.3314971923828125, 0.364044189453125, 0.8977203369140625, 0.4629364013671875, 0.318695068359375, 0.515838623046875, 0.1802520751953125, 0.8762969970703125, 0.5238189697265625, 0.9387054443359375, 0.1278076171875, 0.1425933837890625, 0.0078887939453125, 0.8564453125, 0.0367279052734375, 0.8700408935546875, 0.7695465087890625, 0.9144134521484375, 0.46295166015625, 0.089569091796875, 0.751220703125, 0.031280517578125, 0.3972320556640625, 0.5450897216796875, 0.65692138671875, 0.5294647216796875, 0.701812744140625, 0.60211181640625, 0.9712982177734375, 0.5700836181640625, 0.49041748046875, 0.9561309814453125, 0.311676025390625, 0.5545806884765625, 0.551910400390625, 0.2982177734375, 0.880126953125, 0.4063720703125, 0.53021240234375, 0.33258056640625, 0.5183563232421875, 0.392364501953125, 0.6295928955078125, 0.66265869140625, 0.1250762939453125, 0.2717742919921875, 0.5849761962890625, 0.2664642333984375, 0.868988037109375, 0.3823089599609375, 0.4611053466796875, 0.07232666015625, 0.92913818359375, 0.654327392578125, 0.483154296875, 0.9472503662109375, 0.992340087890625, 0.806671142578125, 0.856597900390625, 0.5223388671875, 0.756591796875, 0.2553863525390625, 0.6052398681640625, 0.7375335693359375, 0.6262969970703125, 0.1434173583984375, 0.281463623046875, 0.1094207763671875, 0.5108795166015625, 0.6982574462890625, 0.2570037841796875, 0.06005859375, 0.0581207275390625, 0.36065673828125, 0.25323486328125, 0.9643096923828125, 0.081146240234375, 0.06396484375, 0.8486175537109375, 0.4840240478515625, 0.71136474609375, 0.2332305908203125, 0.3967132568359375, 0.7178192138671875, 0.8050079345703125, 0.45306396484375, 0.474822998046875, 0.2146453857421875, 0.074462890625, 0.56756591796875, 0.80682373046875, 0.1334228515625, 0.581085205078125, 0.082550048828125, 0.818267822265625, 0.18084716796875, 0.8667144775390625, 0.7259979248046875, 0.881805419921875, 0.5138092041015625, 0.8138427734375, 0.4928436279296875, 0.65411376953125, 0.39630126953125, 0.93731689453125, 0.2064971923828125, 0.5549774169921875, 0.006195068359375, 0.8460693359375, 0.6295318603515625, 0.4540863037109375, 0.088714599609375, 0.95501708984375, 0.5499725341796875, 0.8574981689453125, 0.8349151611328125, 0.7125091552734375, 0.492095947265625, 0.0819091796875, 0.3199005126953125, 0.941802978515625, 0.4990234375, 0.20758056640625, 0.5588226318359375, 0.6228485107421875, 0.7740936279296875, 0.1602783203125, 0.788360595703125, 0.82080078125, 0.782867431640625, 0.8245697021484375, 0.180877685546875, 0.6065826416015625, 0.97650146484375, 0.154632568359375, 0.086578369140625, 0.0698699951171875, 0.4415740966796875, 0.974700927734375, 0.2561187744140625, 0.455963134765625, 0.652679443359375, 0.2828826904296875, 0.675689697265625, 0.828643798828125, 0.6677703857421875, 0.0520172119140625, 0.345062255859375, 0.241729736328125, 0.048431396484375, 0.208038330078125, 0.5947113037109375, 0.96722412109375, 0.3978424072265625, 0.059844970703125, 0.48382568359375, 0.0754852294921875, 0.2474517822265625, 0.3262176513671875, 0.0235443115234375, 0.9171142578125, 0.897857666015625, 0.7008514404296875, 0.19482421875, 0.587066650390625, 0.1867218017578125, 0.081634521484375, 0.72637939453125, 0.417938232421875, 0.1977081298828125, 0.3406219482421875, 0.162384033203125, 0.0287322998046875, 0.86492919921875, 0.9556732177734375, 0.9244232177734375, 0.040435791015625, 0.746673583984375, 0.07061767578125, 0.224945068359375, 0.6395416259765625, 0.4450225830078125, 0.6014862060546875, 0.1067352294921875, 0.3366546630859375, 0.9784698486328125, 0.4503173828125, 0.6185302734375, 0.9326171875, 0.933197021484375, 0.088653564453125, 0.3024444580078125, 0.060546875, 0.5353240966796875, 0.359466552734375, 0.87103271484375, 0.610076904296875, 0.0847320556640625, 0.354736328125, 0.783935546875, 0.557891845703125, 0.585479736328125, 0.3524322509765625, 0.5533599853515625, 0.6488037109375, 0.899017333984375, 0.1203460693359375, 0.165924072265625, 0.3342437744140625, 0.3370361328125, 0.557861328125, 0.27777099609375, 0.8953094482421875, 0.750152587890625, 0.34515380859375, 0.32843017578125, 0.7548065185546875, 0.194549560546875, 0.02032470703125, 0.516693115234375, 0.1772308349609375, 0.60235595703125, 0.829010009765625, 0.3236846923828125, 0.915802001953125, 0.247406005859375, 0.797637939453125, 0.1818389892578125, 0.9562530517578125, 0.73370361328125, 0.101837158203125, 0.8941497802734375, 0.722320556640625, 0.000579833984375, 0.4788360595703125, 0.8015594482421875, 0.1301422119140625, 0.1602783203125, 0.6787261962890625, 0.6834259033203125, 0.3722076416015625, 0.961883544921875, 0.0512847900390625, 0.5281982421875, 0.1694183349609375, 0.6300506591796875, 0.66558837890625, 0.44879150390625, 0.7184600830078125, 0.2500457763671875, 0.44622802734375, 0.60711669921875, 0.93408203125, 0.5546722412109375, 0.996307373046875, 0.246429443359375, 0.007293701171875, 0.1812744140625, 0.503021240234375, 0.489654541015625, 0.7897186279296875, 0.2062530517578125, 0.9913787841796875, 0.817169189453125, 0.8267974853515625, 0.13330078125, 0.5219268798828125, 0.3737335205078125, 0.3006591796875, 0.7952880859375, 0.5912628173828125, 0.124176025390625, 0.0335693359375, 0.1188507080078125, 0.0616912841796875, 0.7156829833984375, 0.981781005859375, 0.8116607666015625, 0.7869720458984375, 0.8242645263671875, 0.8835601806640625, 0.42437744140625, 0.5487823486328125, 0.9031829833984375, 0.751129150390625, 0.33917236328125, 0.8614501953125, 0.6718292236328125, 0.0926361083984375, 0.2132415771484375, 0.07562255859375, 0.907440185546875, 0.797637939453125, 0.18084716796875, 0.6694793701171875, 0.2476348876953125, 0.5363006591796875, 0.7651519775390625, 0.125030517578125, 0.893402099609375, 0.8192291259765625, 0.032073974609375, 0.8642425537109375, 0.655609130859375, 0.6818695068359375, 0.65399169921875, 0.9085540771484375, 0.97418212890625, 0.0311279296875, 0.983489990234375, 0.845489501953125, 0.653411865234375, 0.8851165771484375, 0.6253509521484375, 0.994598388671875, 0.234100341796875, 0.557159423828125, 0.4920501708984375, 0.0854339599609375, 0.6065521240234375, 0.5348358154296875, 0.5520477294921875, 0.09686279296875, 0.8610992431640625, 0.538665771484375, 0.934967041015625, 0.804473876953125, 0.3042755126953125, 0.816986083984375, 0.3089141845703125, 0.723663330078125, 0.85589599609375, 0.1544189453125, 0.70465087890625, 0.2008819580078125, 0.8386383056640625, 0.219024658203125, 0.9141693115234375, 0.666595458984375, 0.9940643310546875, 0.7425537109375, 0.1247711181640625, 0.6365509033203125, 0.9069671630859375, 0.979278564453125, 0.831329345703125, 0.3604736328125, 0.9195556640625, 0.2469329833984375, 0.2005157470703125, 0.3509368896484375, 0.0262451171875, 0.988433837890625, 0.9422760009765625, 0.2898101806640625, 0.418853759765625, 0.0894775390625, 0.9825439453125, 0.0223846435546875, 0.3335113525390625, 0.5822296142578125, 0.1009521484375, 0.100616455078125, 0.0112152099609375, 0.86834716796875, 0.59765625, 0.9613189697265625, 0.957977294921875, 0.30914306640625, 0.42669677734375, 0.121337890625, 0.174407958984375, 0.4366302490234375, 0.63330078125, 0.182891845703125, 0.79888916015625, 0.4610443115234375, 0.848907470703125, 0.789154052734375, 0.0891876220703125, 0.7644805908203125, 0.990936279296875, 0.9159088134765625, 0.4797210693359375, 0.0644683837890625, 0.7938690185546875, 0.0598297119140625, 0.9473724365234375, 0.2344970703125, 0.10626220703125, 0.6757659912109375, 0.336151123046875, 0.2096405029296875, 0.713470458984375, 0.719818115234375, 0.6031951904296875, 0.6490631103515625, 0.3601226806640625, 0.9789276123046875, 0.11328125, 0.47406005859375, 0.6554718017578125, 0.2775726318359375, 0.60498046875, 0.963134765625, 0.36370849609375, 0.7869110107421875, 0.610137939453125, 0.4271392822265625, 0.664093017578125, 0.5128173828125, 0.031463623046875, 0.8907470703125, 0.991943359375, 0.0992431640625, 0.257293701171875, 0.905426025390625, 0.9031524658203125, 0.8016357421875, 0.0085906982421875, 0.0786590576171875, 0.1125946044921875, 0.7312164306640625, 0.373687744140625, 0.8663787841796875, 0.4934234619140625, 0.04083251953125, 0.9517059326171875, 0.940460205078125, 0.1007537841796875, 0.7824249267578125, 0.129608154296875, 0.4319915771484375, 0.827117919921875, 0.6718597412109375, 0.5775909423828125, 0.683349609375, 0.091949462890625, 0.5295257568359375, 0.4777374267578125, 0.783416748046875, 0.797607421875, 0.2466888427734375, 0.2849884033203125, 0.1499786376953125, 0.0478363037109375, 0.893646240234375, 0.881561279296875, 0.3058929443359375, 0.229522705078125, 0.3575592041015625, 0.12890625, 0.3830108642578125, 0.6532135009765625, 0.940185546875, 0.7241668701171875, 0.68377685546875, 0.060791015625, 0.485626220703125, 0.98406982421875, 0.90875244140625, 0.7311859130859375, 0.5198211669921875, 0.3067474365234375, 0.64190673828125, 0.8892974853515625, 0.3049774169921875, 0.2880706787109375, 0.80743408203125, 0.77984619140625, 0.439300537109375, 0.419677734375, 0.7953033447265625, 0.6654205322265625, 0.923248291015625, 0.082305908203125, 0.070709228515625, 0.5712127685546875, 0.2674407958984375, 0.316802978515625, 0.63751220703125, 0.313720703125, 0.7177886962890625, 0.372833251953125, 0.1033935546875, 0.433837890625, 0.2863922119140625, 0.132293701171875, 0.44049072265625, 0.0521087646484375, 0.234466552734375, 0.9200439453125, 0.03289794921875, 0.6980743408203125, 0.854736328125, 0.7154083251953125, 0.0503387451171875, 0.5877532958984375, 0.2481689453125, 0.348480224609375, 0.0446929931640625, 0.8843231201171875, 0.9642181396484375, 0.584259033203125, 0.9992828369140625, 0.906890869140625, 0.0973358154296875, 0.2078704833984375, 0.1543426513671875, 0.540313720703125, 0.614471435546875, 0.2218017578125, 0.9601593017578125, 0.4605712890625, 0.881500244140625, 0.031494140625, 0.6282196044921875, 0.745635986328125, 0.061614990234375, 0.83770751953125, 0.0867462158203125, 0.0781097412109375, 0.0522918701171875, 0.2647705078125, 0.7383575439453125, 0.337127685546875, 0.0278167724609375, 0.7857818603515625, 0.2992095947265625, 0.849395751953125, 0.0330963134765625, 0.3253631591796875, 0.531768798828125, 0.56719970703125, 0.0808563232421875, 0.320526123046875, 0.69891357421875, 0.9174652099609375, 0.251434326171875, 0.0794219970703125, 0.6200103759765625, 0.05499267578125, 0.072601318359375, 0.6401824951171875, 0.7773895263671875, 0.274627685546875, 0.1478729248046875, 0.043792724609375, 0.20770263671875, 0.8031768798828125, 0.8511810302734375, 0.959228515625, 0.93853759765625, 0.2237396240234375, 0.074554443359375, 0.2288055419921875, 0.2388153076171875, 0.2644500732421875, 0.770172119140625, 0.2534942626953125, 0.252899169921875, 0.1134185791015625, 0.5531463623046875, 0.7717437744140625, 0.5927734375, 0.8090972900390625, 0.0408172607421875, 0.7805023193359375, 0.5062713623046875, 0.185302734375, 0.55364990234375, 0.237091064453125, 0.958953857421875, 0.9945831298828125, 0.62762451171875, 0.7313690185546875, 0.4326934814453125, 0.96868896484375, 0.2491912841796875, 0.61749267578125, 0.2248992919921875, 0.0848541259765625, 0.216217041015625, 0.558074951171875, 0.944976806640625, 0.6076507568359375, 0.290374755859375, 0.666656494140625, 0.876983642578125, 0.7984466552734375, 0.76470947265625, 0.9684600830078125, 0.935638427734375, 0.2225494384765625, 0.70159912109375, 0.1337127685546875, 0.5388336181640625, 0.3596038818359375, 0.4861602783203125, 0.7335357666015625, 0.166656494140625, 0.2776947021484375, 0.9022216796875, 0.8483428955078125, 0.9876708984375, 0.6692352294921875, 0.416046142578125, 0.4814910888671875, 0.1241912841796875, 0.53765869140625, 0.0889129638671875, 0.615631103515625, 0.534271240234375, 0.6996917724609375, 0.07000732421875, 0.6229248046875, 0.5621185302734375, 0.8177947998046875, 0.7229156494140625, 0.94586181640625, 0.3836517333984375, 0.4425506591796875, 0.633758544921875, 0.0209197998046875, 0.990234375, 0.9474945068359375, 0.092315673828125, 0.6598663330078125, 0.9354095458984375, 0.8090362548828125, 0.2358856201171875, 0.0860595703125, 0.6683502197265625, 0.39361572265625, 0.975128173828125, 0.518310546875, 0.4952392578125, 0.734130859375, 0.6435699462890625, 0.1086578369140625, 0.956207275390625, 0.327117919921875, 0.8899383544921875, 0.7901763916015625, 0.9124755859375, 0.1661376953125, 0.5514068603515625, 0.9775848388671875, 0.9947662353515625, 0.257781982421875, 0.9825286865234375, 0.943695068359375, 0.174346923828125, 0.5955810546875, 0.8201446533203125, 0.1216583251953125, 0.0382232666015625, 0.5385894775390625, 0.2137298583984375, 0.950439453125, 0.5430755615234375, 0.8762969970703125, 0.515228271484375, 0.0551910400390625, 0.5297698974609375, 0.6219635009765625, 0.6158294677734375, 0.00054931640625, 0.4798583984375, 0.058135986328125, 0.416259765625, 0.61749267578125, 0.3488311767578125, 0.461761474609375, 0.1161346435546875, 0.340087890625, 0.88226318359375, 0.0337066650390625, 0.4694061279296875, 0.7258758544921875, 0.06536865234375, 0.727691650390625, 0.3157958984375, 0.5147705078125, 0.1854248046875, 0.306427001953125, 0.4654083251953125, 0.4385986328125, 0.3983917236328125, 0.9516448974609375, 0.4983673095703125, 0.8812103271484375, 0.9783172607421875, 0.794158935546875, 0.3946990966796875, 0.7600860595703125, 0.648193359375, 0.0572662353515625, 0.7852325439453125, 0.7900390625, 0.5087890625, 0.87310791015625, 0.19842529296875, 0.9618988037109375, 0.8297882080078125, 0.210845947265625, 0.592620849609375, 0.71734619140625, 0.1199493408203125, 0.57171630859375, 0.300140380859375, 0.256103515625, 0.7269744873046875, 0.044677734375, 0.13433837890625, 0.4235382080078125, 0.8415679931640625, 0.832611083984375, 0.6662139892578125, 0.3618011474609375, 0.96490478515625, 0.90008544921875, 0.1236419677734375, 0.4058380126953125, 0.9433746337890625, 0.2019195556640625, 0.0762939453125, 0.031158447265625, 0.750244140625, 0.50421142578125, 0.693115234375, 0.0941314697265625, 0.235107421875, 0.9390716552734375, 0.8193511962890625, 0.287506103515625, 0.3679656982421875, 0.434906005859375, 0.0201873779296875, 0.3776702880859375, 0.765960693359375, 0.72149658203125, 0.4348602294921875, 0.5130615234375, 0.49420166015625, 0.85040283203125, 0.681640625, 0.18511962890625, 0.3867950439453125, 0.33245849609375, 0.0986480712890625, 0.6746673583984375, 0.4499969482421875, 0.8532257080078125, 0.195892333984375, 0.7010498046875, 0.6523284912109375, 0.768157958984375, 0.8931732177734375, 0.8784027099609375, 0.7723846435546875, 0.0754547119140625, 0.3570404052734375, 0.965057373046875, 0.3265533447265625, 0.90594482421875, 0.17913818359375, 0.5725555419921875, 0.5467376708984375, 0.2160186767578125, 0.7228240966796875, 0.5605926513671875, 0.430267333984375, 0.514678955078125, 0.1852264404296875, 0.1202545166015625, 0.3338623046875, 0.351226806640625, 0.2155914306640625, 0.560577392578125, 0.5395355224609375, 0.11224365234375, 0.5350341796875, 0.1430206298828125, 0.7454833984375, 0.719268798828125, 0.1598358154296875, 0.6314697265625, 0.1986541748046875, 0.76031494140625, 0.578582763671875, 0.738006591796875, 0.8613433837890625, 0.7295989990234375, 0.6620941162109375, 0.2949371337890625, 0.0465087890625, 0.3522491455078125, 0.6896514892578125, 0.3671722412109375, 0.5355224609375, 0.430877685546875, 0.396942138671875, 0.6130218505859375, 0.0864410400390625, 0.8109130859375, 0.426788330078125, 0.5848236083984375, 0.2325439453125, 0.0806732177734375, 0.7334442138671875, 0.2011871337890625, 0.6826934814453125, 0.5629119873046875, 0.78997802734375, 0.5680084228515625, 0.856658935546875, 0.6027984619140625, 0.210784912109375, 0.1229095458984375, 0.104217529296875, 0.6798858642578125, 0.8021697998046875, 0.5330352783203125, 0.5193023681640625, 0.529266357421875, 0.1614990234375, 0.3019561767578125, 0.056365966796875, 0.3278350830078125, 0.418548583984375, 0.2801513671875, 0.53558349609375, 0.9131317138671875, 0.661041259765625, 0.829925537109375, 0.1815338134765625, 0.7144622802734375, 0.3747100830078125, 0.878265380859375, 0.1178436279296875, 0.079132080078125, 0.943450927734375, 0.42803955078125, 0.497955322265625, 0.596710205078125, 0.2865142822265625, 0.106689453125, 0.216766357421875, 0.0173797607421875, 0.6346435546875, 0.5594940185546875, 0.2230377197265625, 0.358184814453125, 0.048797607421875, 0.7044525146484375, 0.7014923095703125, 0.37384033203125, 0.606781005859375, 0.40289306640625, 0.7934112548828125, 0.1448974609375, 0.9903411865234375, 0.4861602783203125, 0.75653076171875, 0.61737060546875, 0.4999237060546875, 0.5111236572265625, 0.5751190185546875, 0.846527099609375, 0.3945770263671875, 0.017669677734375, 0.7348785400390625, 0.0458984375, 0.6951141357421875, 0.485687255859375, 0.611785888671875, 0.1700592041015625, 0.1358642578125, 0.6610870361328125, 0.993682861328125, 0.62841796875, 0.9931182861328125, 0.7142333984375, 0.7922821044921875, 0.538482666015625, 0.82745361328125, 0.7846221923828125, 0.0395965576171875, 0.9564666748046875, 0.7971649169921875, 0.91839599609375, 0.0227508544921875, 0.42828369140625, 0.725067138671875, 0.37298583984375, 0.1398468017578125, 0.836334228515625, 0.0083465576171875, 0.7261199951171875, 0.3344573974609375, 0.3138580322265625, 0.15386962890625, 0.05224609375, 0.6721038818359375, 0.67205810546875, 0.7926788330078125, 0.0394744873046875, 0.9453125, 0.196441650390625, 0.7778167724609375, 0.418243408203125, 0.1800994873046875, 0.986358642578125, 0.583404541015625, 0.783233642578125, 0.51007080078125, 0.870880126953125, 0.4666900634765625, 0.6984100341796875, 0.7462615966796875, 0.1334991455078125, 0.69622802734375, 0.90985107421875, 0.6900177001953125, 0.9218597412109375, 0.2336273193359375, 0.301910400390625, 0.2386474609375, 0.377288818359375, 0.9951019287109375, 0.922821044921875, 0.856903076171875, 0.7998046875, 0.159637451171875, 0.446685791015625, 0.9977569580078125, 0.52178955078125, 0.0479583740234375, 0.9670562744140625, 0.7210540771484375, 0.0817413330078125, 0.3974609375, 0.55682373046875, 0.38238525390625, 0.153564453125, 0.5281982421875, 0.6775970458984375, 0.736907958984375, 0.1136322021484375, 0.659271240234375, 0.581085205078125, 0.69500732421875, 0.066253662109375, 0.1969146728515625, 0.0139312744140625, 0.2769622802734375, 0.0928802490234375, 0.857757568359375, 0.925384521484375, 0.528900146484375, 0.215972900390625, 0.0139617919921875, 0.0490875244140625, 0.4532623291015625, 0.6331787109375, 0.2709503173828125, 0.59454345703125, 0.841766357421875, 0.4330596923828125, 0.328399658203125, 0.9878387451171875, 0.452606201171875, 0.694580078125, 0.948394775390625, 0.517120361328125, 0.912811279296875, 0.4787139892578125, 0.9355010986328125, 0.4163360595703125, 0.931671142578125, 0.3807373046875, 0.407379150390625, 0.6925506591796875, 0.802764892578125, 0.775604248046875, 0.59625244140625, 0.0729827880859375, 0.7256622314453125, 0.74530029296875, 0.21502685546875, 0.688934326171875, 0.7738037109375, 0.1784515380859375, 0.553192138671875, 0.857940673828125, 0.8004150390625, 0.44464111328125, 0.0186004638671875, 0.497650146484375, 0.584228515625, 0.3883514404296875, 0.2856292724609375, 0.482025146484375, 0.3250732421875, 0.99346923828125, 0.5994110107421875, 0.9210968017578125, 0.4641876220703125, 0.0548095703125, 0.5284423828125, 0.4433746337890625, 0.158355712890625, 0.0113525390625, 0.8604278564453125, 0.8446502685546875, 0.9370880126953125, 0.534759521484375, 0.550018310546875, 0.898651123046875, 0.127471923828125, 0.7747802734375, 0.4941558837890625, 0.61138916015625, 0.5969390869140625, 0.7957305908203125, 0.0530242919921875, 0.540679931640625, 0.8782501220703125, 0.535797119140625, 0.6134033203125, 0.658416748046875, 0.7559661865234375, 0.1773529052734375, 0.0590667724609375, 0.982696533203125, 0.1529998779296875, 0.0016326904296875, 0.6982574462890625, 0.6652984619140625, 0.1570587158203125, 0.8018798828125, 0.404632568359375, 0.4872589111328125, 0.1097564697265625, 0.4843902587890625, 0.643157958984375, 0.09906005859375, 0.5938873291015625, 0.66119384765625, 0.120697021484375, 0.9679107666015625, 0.8148040771484375, 0.508514404296875, 0.7447509765625, 0.668609619140625, 0.3923187255859375, 0.038604736328125, 0.1829986572265625, 0.4166412353515625, 0.688568115234375, 0.78082275390625, 0.8256378173828125, 0.330352783203125, 0.90802001953125, 0.912567138671875, 0.79595947265625, 0.7581329345703125, 0.2925872802734375, 0.813262939453125, 0.28131103515625, 0.3375396728515625, 0.17071533203125, 0.2701263427734375, 0.914825439453125, 0.3702850341796875, 0.632476806640625, 0.02886962890625, 0.995391845703125, 0.847412109375, 0.6754913330078125, 0.9691619873046875, 0.759429931640625, 0.23895263671875, 0.7810516357421875, 0.1175079345703125, 0.2241668701171875, 0.90771484375, 0.0517120361328125, 0.032257080078125, 0.77093505859375, 0.817657470703125, 0.9234466552734375, 0.425872802734375, 0.328857421875, 0.8736724853515625, 0.1141510009765625, 0.1175994873046875, 0.3581695556640625, 0.0807952880859375, 0.2037353515625, 0.360382080078125, 0.487152099609375, 0.528717041015625, 0.7690887451171875, 0.44976806640625, 0.2083892822265625, 0.0230712890625, 0.3785247802734375, 0.2515411376953125, 0.4774932861328125, 0.39959716796875, 0.071502685546875, 0.103363037109375, 0.1968841552734375, 0.1812591552734375, 0.77337646484375, 0.3594207763671875, 0.5035400390625, 0.1563568115234375, 0.1674346923828125, 0.6531982421875, 0.6309356689453125, 0.9498748779296875, 0.668914794921875, 0.3553619384765625, 0.5590362548828125, 0.1298675537109375, 0.913055419921875, 0.893096923828125, 0.109100341796875, 0.51263427734375, 0.473907470703125, 0.989715576171875, 0.201019287109375, 0.6190338134765625, 0.4452972412109375, 0.3503875732421875, 0.6429443359375, 0.42022705078125, 0.2002105712890625, 0.8542633056640625, 0.7358245849609375, 0.7576904296875, 0.7599334716796875, 0.0366973876953125, 0.489593505859375, 0.5015716552734375, 0.76153564453125, 0.534423828125, 0.9326934814453125, 0.9608001708984375, 0.3724517822265625, 0.6870574951171875, 0.3015899658203125, 0.345733642578125, 0.245697021484375, 0.8608856201171875, 0.46893310546875, 0.0549468994140625, 0.21783447265625, 0.4608154296875, 0.5263824462890625, 0.677032470703125, 0.92633056640625, 0.8948822021484375, 0.44830322265625, 0.041595458984375, 0.3264923095703125, 0.0220794677734375, 0.5495452880859375, 0.3991241455078125, 0.4955291748046875, 0.6748046875, 0.8517913818359375, 0.0031585693359375, 0.90283203125, 0.5677490234375, 0.992584228515625, 0.9505157470703125, 0.582427978515625, 0.7503204345703125, 0.2165069580078125, 0.103759765625, 0.3890380859375, 0.971435546875, 0.70709228515625, 0.0015869140625, 0.522369384765625, 0.074981689453125, 0.526947021484375, 0.0998992919921875, 0.539642333984375, 0.623870849609375, 0.9705810546875, 0.2658843994140625, 0.4466705322265625, 0.3696746826171875, 0.308197021484375, 0.075439453125, 0.002532958984375, 0.3144073486328125, 0.426788330078125, 0.3311767578125, 0.2038421630859375, 0.190521240234375, 0.2447357177734375, 0.2318115234375, 0.6746978759765625, 0.1525115966796875, 0.54913330078125, 0.3065948486328125, 0.2741546630859375, 0.5418243408203125, 0.3359832763671875, 0.64013671875, 0.94537353515625, 0.7703094482421875, 0.3646087646484375, 0.0132293701171875, 0.968017578125, 0.2401885986328125, 0.2304534912109375, 0.663665771484375, 0.87249755859375, 0.792938232421875, 0.2755279541015625, 0.59381103515625, 0.723663330078125, 0.81390380859375, 0.9343109130859375, 0.661529541015625, 0.95684814453125, 0.4192962646484375, 0.005615234375, 0.7760162353515625, 0.707122802734375, 0.34173583984375, 0.477325439453125, 0.5921783447265625, 0.0750732421875, 0.7502593994140625, 0.0397796630859375, 0.6668243408203125, 0.150970458984375, 0.9790191650390625, 0.3267364501953125, 0.117095947265625, 0.1383209228515625, 0.8990478515625, 0.477783203125, 0.812835693359375, 0.0565185546875, 0.6312713623046875, 0.5232086181640625, 0.233734130859375, 0.04443359375, 0.8935699462890625, 0.29815673828125, 0.4590606689453125, 0.171875, 0.216766357421875, 0.051544189453125, 0.99884033203125, 0.990325927734375, 0.037200927734375, 0.8878631591796875, 0.9571075439453125, 0.2939300537109375, 0.67047119140625, 0.3827667236328125, 0.509246826171875, 0.304290771484375, 0.394134521484375, 0.631103515625, 0.8367919921875, 0.792144775390625, 0.9993896484375, 0.91583251953125, 0.636688232421875, 0.109100341796875, 0.570770263671875, 0.0777587890625, 0.504486083984375, 0.57232666015625, 0.9708099365234375, 0.5376434326171875, 0.056640625, 0.61273193359375, 0.45562744140625, 0.4921112060546875, 0.9401092529296875, 0.94757080078125, 0.858184814453125, 0.75531005859375, 0.0689697265625, 0.35540771484375, 0.9907989501953125, 0.8888702392578125, 0.516082763671875, 0.9170379638671875, 0.6543121337890625, 0.9398040771484375, 0.132965087890625, 0.757415771484375, 0.449920654296875, 0.988128662109375, 0.887847900390625, 0.4981689453125, 0.98028564453125, 0.9649658203125, 0.295989990234375, 0.7104644775390625, 0.9377288818359375, 0.574493408203125, 0.8914947509765625, 0.158172607421875, 0.144287109375, 0.945831298828125, 0.2774810791015625, 0.75506591796875, 0.57061767578125, 0.386810302734375, 0.577850341796875, 0.2369384765625, 0.334442138671875, 0.5663604736328125, 0.62091064453125, 0.9690399169921875, 0.7192230224609375, 0.981842041015625, 0.5845947265625, 0.74481201171875, 0.989166259765625, 0.8226165771484375, 0.3923797607421875, 0.2394256591796875, 0.8642425537109375, 0.8365325927734375, 0.0013427734375, 0.3406219482421875, 0.810272216796875, 0.3783721923828125, 0.7706298828125, 0.9907989501953125, 0.80145263671875, 0.9395751953125, 0.290374755859375, 0.750396728515625, 0.1335601806640625, 0.7172088623046875, 0.3968353271484375, 0.945831298828125, 0.300140380859375, 0.4333648681640625, 0.4540557861328125, 0.3788604736328125, 0.01910400390625, 0.1736602783203125, 0.3960113525390625, 0.6071319580078125, 0.3824615478515625, 0.2097930908203125, 0.3530426025390625, 0.74884033203125, 0.281890869140625, 0.085205078125, 0.4529571533203125, 0.5876617431640625, 0.4964752197265625, 0.2154083251953125, 0.7799072265625, 0.4850921630859375, 0.7666778564453125, 0.4484100341796875, 0.4105682373046875, 0.6196136474609375, 0.203094482421875, 0.7612457275390625, 0.084228515625, 0.148834228515625, 0.8148193359375, 0.1748199462890625, 0.882720947265625, 0.1670989990234375, 0.3603363037109375, 0.0351409912109375, 0.0901947021484375, 0.37762451171875, 0.4150238037109375, 0.0412139892578125, 0.1926727294921875, 0.5686187744140625, 0.8847198486328125, 0.1076812744140625, 0.2988433837890625, 0.11651611328125, 0.7117919921875, 0.0949249267578125, 0.2909393310546875, 0.1152801513671875, 0.735260009765625, 0.25311279296875, 0.678009033203125, 0.8057861328125, 0.8271026611328125, 0.0512237548828125, 0.4034271240234375, 0.3334503173828125, 0.7600555419921875, 0.801239013671875, 0.20489501953125, 0.7329254150390625, 0.92022705078125, 0.7420196533203125, 0.5709381103515625, 0.203369140625, 0.31719970703125, 0.497955322265625, 0.601898193359375, 0.2283782958984375, 0.8052825927734375, 0.4920654296875, 0.79840087890625, 0.19989013671875, 0.80352783203125, 0.69598388671875, 0.655792236328125, 0.9058380126953125, 0.2021942138671875, 0.18170166015625, 0.7955780029296875, 0.1425933837890625, 0.586181640625, 0.826812744140625, 0.3652801513671875, 0.762481689453125, 0.9045562744140625, 0.294677734375, 0.6721343994140625, 0.324371337890625, 0.12451171875, 0.3354339599609375, 0.9539794921875, 0.5419769287109375, 0.191162109375, 0.773284912109375, 0.1369476318359375, 0.9582977294921875, 0.2565460205078125, 0.6648406982421875, 0.796722412109375, 0.583251953125, 0.456787109375, 0.159332275390625, 0.3065185546875, 0.2545013427734375, 0.4923858642578125, 0.1140899658203125, 0.8157958984375, 0.0160369873046875, 0.114410400390625, 0.730712890625, 0.3517913818359375, 0.1070098876953125, 0.39874267578125, 0.8479461669921875, 0.8996429443359375, 0.554901123046875, 0.6257171630859375, 0.0419921875, 0.3083953857421875, 0.9958038330078125, 0.3184814453125, 0.16748046875, 0.0959320068359375, 0.243194580078125, 0.611602783203125, 0.8474884033203125, 0.3613739013671875, 0.2296295166015625, 0.8157806396484375, 0.3026275634765625, 0.29473876953125, 0.9759063720703125, 0.7467041015625, 0.56866455078125, 0.05206298828125, 0.9283905029296875, 0.582305908203125, 0.794525146484375, 0.476470947265625, 0.3274993896484375, 0.63116455078125, 0.8031463623046875, 0.4149627685546875, 0.5583038330078125, 0.16326904296875, 0.674957275390625, 0.1560821533203125, 0.83502197265625, 0.39031982421875, 0.0514373779296875, 0.1503448486328125, 0.33465576171875, 0.78692626953125, 0.2404327392578125, 0.0300445556640625, 0.583526611328125, 0.06207275390625, 0.4078826904296875, 0.56634521484375, 0.6665191650390625, 0.2387847900390625, 0.9831390380859375, 0.4012298583984375, 0.888641357421875, 0.3387908935546875, 0.5826568603515625, 0.4531402587890625, 0.3730621337890625, 0.2236785888671875, 0.703460693359375, 0.31182861328125, 0.8368072509765625, 0.7754974365234375, 0.5838165283203125, 0.7283935546875, 0.7316741943359375, 0.6656341552734375, 0.7910919189453125, 0.3694305419921875, 0.1302032470703125, 0.974334716796875, 0.33221435546875, 0.42584228515625, 0.16265869140625, 0.721221923828125, 0.99749755859375, 0.96917724609375, 0.2577362060546875, 0.168609619140625, 0.70745849609375, 0.697265625, 0.4931182861328125, 0.2989044189453125, 0.6988372802734375, 0.05035400390625, 0.44512939453125, 0.767608642578125, 0.72344970703125, 0.0718841552734375, 0.4530487060546875, 0.2843475341796875, 0.672882080078125, 0.493927001953125, 0.7806854248046875, 0.1722564697265625, 0.6245880126953125, 0.2761077880859375, 0.968414306640625, 0.854522705078125, 0.0163421630859375, 0.3911895751953125, 0.649078369140625, 0.034912109375, 0.5036773681640625, 0.161712646484375, 0.5507659912109375, 0.6644134521484375, 0.06158447265625, 0.3470458984375, 0.6825714111328125, 0.5453033447265625, 0.0627288818359375, 0.90673828125, 0.447235107421875, 0.852691650390625, 0.78460693359375, 0.614593505859375, 0.983978271484375, 0.476959228515625, 0.667572021484375, 0.1110992431640625, 0.551910400390625, 0.0059967041015625, 0.7272491455078125, 0.218231201171875, 0.98040771484375, 0.81866455078125, 0.1247711181640625, 0.243927001953125, 0.532012939453125, 0.6623687744140625, 0.0131988525390625, 0.441650390625, 0.431915283203125, 0.921905517578125, 0.8949737548828125, 0.19775390625, 0.51708984375, 0.9735565185546875, 0.3625335693359375, 0.7164459228515625, 0.8722991943359375, 0.6131591796875, 0.5756683349609375, 0.6409759521484375, 0.9282684326171875, 0.213348388671875, 0.2431640625, 0.410003662109375, 0.9154205322265625, 0.3130950927734375, 0.0113372802734375, 0.32928466796875, 0.543853759765625, 0.6142730712890625, 0.6356964111328125, 0.494476318359375, 0.4399566650390625, 0.070587158203125, 0.1037445068359375, 0.2774200439453125, 0.3434295654296875, 0.2487945556640625, 0.183746337890625, 0.8513946533203125, 0.3668212890625, 0.9020843505859375, 0.5576019287109375, 0.884979248046875, 0.43743896484375, 0.72119140625, 0.88555908203125, 0.0983428955078125, 0.5583648681640625, 0.041534423828125, 0.222686767578125, 0.9999542236328125, 0.1532745361328125, 0.3016357421875, 0.4317779541015625, 0.08770751953125, 0.89312744140625, 0.86102294921875, 0.7178192138671875, 0.796173095703125, 0.827972412109375, 0.914947509765625, 0.6762237548828125, 0.840484619140625, 0.847503662109375, 0.97265625, 0.3909454345703125, 0.1121673583984375, 0.55230712890625, 0.087738037109375, 0.0648345947265625, 0.0286712646484375, 0.0885162353515625, 0.3879852294921875, 0.05517578125, 0.940704345703125, 0.35089111328125, 0.5366973876953125, 0.880340576171875, 0.898712158203125, 0.3398895263671875, 0.56060791015625, 0.301727294921875, 0.7720489501953125, 0.966217041015625, 0.88623046875, 0.8681488037109375, 0.7678375244140625, 0.3581390380859375, 0.733795166015625, 0.01995849609375, 0.388641357421875, 0.35516357421875, 0.4625244140625, 0.16064453125, 0.9228515625, 0.3832244873046875, 0.452117919921875, 0.6582794189453125, 0.3022003173828125, 0.3380279541015625, 0.0277557373046875, 0.8993682861328125, 0.6022186279296875, 0.5005950927734375, 0.881103515625, 0.05889892578125, 0.1359100341796875, 0.6089324951171875, 0.9515838623046875, 0.9106292724609375, 0.3856964111328125, 0.4000091552734375, 0.6536102294921875, 0.62359619140625, 0.5236968994140625, 0.04718017578125, 0.9951171875, 0.29864501953125, 0.7350311279296875, 0.532073974609375, 0.8933563232421875, 0.6785736083984375, 0.524627685546875, 0.4957122802734375, 0.251373291015625, 0.9944305419921875, 0.574493408203125, 0.757781982421875, 0.542388916015625, 0.81500244140625, 0.638427734375, 0.0128631591796875, 0.64605712890625, 0.0162353515625, 0.397430419921875, 0.4679718017578125, 0.3211212158203125, 0.6309356689453125, 0.954132080078125, 0.69207763671875, 0.716522216796875, 0.698974609375, 0.419219970703125, 0.2079925537109375, 0.5826873779296875, 0.30755615234375, 0.475494384765625, 0.2449798583984375, 0.7184600830078125, 0.196044921875, 0.1634979248046875, 0.988372802734375, 0.0196380615234375, 0.3850860595703125, 0.471923828125, 0.968414306640625, 0.9405670166015625, 0.7859954833984375, 0.17742919921875, 0.8719940185546875, 0.513671875, 0.452545166015625, 0.9218292236328125, 0.8523406982421875, 0.1464996337890625, 0.7867584228515625, 0.724334716796875, 0.4470062255859375, 0.015838623046875, 0.1439056396484375, 0.7776336669921875, 0.2725372314453125, 0.0117034912109375, 0.37237548828125, 0.566253662109375, 0.1504058837890625, 0.2008514404296875, 0.9522705078125, 0.3180694580078125, 0.179443359375, 0.753936767578125, 0.5966033935546875, 0.1894073486328125, 0.3070068359375, 0.304351806640625, 0.225738525390625, 0.535400390625, 0.03253173828125, 0.5502777099609375, 0.8079071044921875, 0.9491729736328125, 0.4500274658203125, 0.916168212890625, 0.6655731201171875, 0.409423828125, 0.60626220703125, 0.9160003662109375, 0.58355712890625, 0.5666961669921875, 0.7326812744140625, 0.0378875732421875, 0.2823944091796875, 0.3321990966796875, 0.10406494140625, 0.2945098876953125, 0.2428131103515625, 0.2165679931640625, 0.2115631103515625, 0.3738250732421875, 0.9816131591796875, 0.8445587158203125, 0.7353668212890625, 0.2178192138671875, 0.1021728515625, 0.9171600341796875, 0.723175048828125, 0.8717498779296875, 0.0585479736328125, 0.921905517578125, 0.7441864013671875, 0.592315673828125, 0.135528564453125, 0.1086273193359375, 0.45477294921875, 0.83575439453125, 0.56085205078125, 0.217041015625, 0.8435821533203125, 0.943572998046875, 0.1201019287109375, 0.3143310546875, 0.6100921630859375, 0.7367401123046875, 0.3375701904296875, 0.7711639404296875, 0.2986602783203125, 0.677642822265625, 0.1881866455078125, 0.013885498046875, 0.582916259765625, 0.8395843505859375, 0.0496063232421875, 0.6100616455078125, 0.3165740966796875, 0.3497772216796875, 0.538330078125, 0.7510986328125, 0.2140045166015625, 0.1888580322265625, 0.84588623046875, 0.9025421142578125, 0.3123626708984375, 0.907684326171875, 0.9223480224609375, 0.748748779296875, 0.0931854248046875, 0.5525970458984375, 0.41693115234375, 0.0389251708984375, 0.397247314453125, 0.687835693359375, 0.751983642578125, 0.6774444580078125, 0.4505767822265625, 0.4818878173828125, 0.7117767333984375, 0.6526641845703125, 0.0404205322265625, 0.0953369140625, 0.15234375, 0.3917388916015625, 0.1895904541015625, 0.8293304443359375, 0.0364837646484375, 0.5123748779296875, 0.2884521484375, 0.60015869140625, 0.0240020751953125, 0.455535888671875, 0.0733642578125, 0.8214263916015625, 0.517913818359375, 0.5076141357421875, 0.0982666015625, 0.3607635498046875, 0.4851226806640625, 0.5190582275390625, 0.498565673828125, 0.423095703125, 0.5094451904296875, 0.48663330078125, 0.0532073974609375, 0.1187896728515625, 0.3297882080078125, 0.333343505859375, 0.7567596435546875, 0.123199462890625, 0.849853515625, 0.8209991455078125, 0.1871490478515625, 0.7889251708984375, 0.9311676025390625, 0.310791015625, 0.15789794921875, 0.6016845703125, 0.186737060546875, 0.013885498046875, 0.4405364990234375, 0.3772735595703125, 0.8733367919921875, 0.2274017333984375, 0.150360107421875, 0.519927978515625, 0.261627197265625, 0.9569244384765625, 0.538970947265625, 0.8712310791015625, 0.06622314453125, 0.349029541015625, 0.81298828125, 0.7691497802734375, 0.738037109375, 0.071807861328125, 0.65179443359375, 0.0336761474609375, 0.699493408203125, 0.17755126953125, 0.9689483642578125, 0.801513671875, 0.7706298828125, 0.88568115234375, 0.2385406494140625, 0.8991851806640625, 0.5211029052734375, 0.357666015625, 0.572113037109375, 0.854705810546875, 0.9493865966796875, 0.5481719970703125, 0.86468505859375, 0.9415435791015625, 0.9807281494140625, 0.7499542236328125, 0.2281036376953125, 0.055694580078125, 0.82550048828125, 0.1576995849609375, 0.746917724609375, 0.6535491943359375, 0.918609619140625, 0.2725677490234375, 0.30792236328125, 0.7066802978515625, 0.138458251953125, 0.841339111328125, 0.780548095703125, 0.2530670166015625, 0.088592529296875, 0.83929443359375, 0.2832183837890625, 0.653289794921875, 0.7357940673828125, 0.434417724609375, 0.0133209228515625, 0.8717803955078125, 0.5474395751953125, 0.516265869140625, 0.1333160400390625, 0.3656768798828125, 0.5801849365234375, 0.7428436279296875, 0.9491119384765625, 0.7509613037109375, 0.3138580322265625, 0.12347412109375, 0.514739990234375, 0.8161468505859375, 0.864349365234375, 0.3515625, 0.3797607421875, 0.7801971435546875, 0.1629791259765625, 0.4244384765625, 0.971160888671875, 0.6152496337890625, 0.488616943359375, 0.253143310546875, 0.8038787841796875, 0.240386962890625, 0.06182861328125, 0.6572418212890625, 0.555908203125, 0.56988525390625, 0.9916839599609375, 0.02569580078125, 0.64239501953125, 0.82061767578125, 0.0814361572265625, 0.1220245361328125, 0.1697845458984375, 0.22357177734375, 0.7801971435546875, 0.394805908203125, 0.1507568359375, 0.381378173828125, 0.321258544921875, 0.012847900390625, 0.8958282470703125, 0.0604248046875, 0.7650604248046875, 0.37017822265625, 0.7441864013671875, 0.429412841796875, 0.661865234375, 0.191253662109375, 0.255889892578125, 0.36724853515625, 0.0998687744140625, 0.1891326904296875, 0.5838775634765625, 0.63238525390625, 0.7555694580078125, 0.4985504150390625, 0.0867462158203125, 0.0777435302734375, 0.5991668701171875, 0.923095703125, 0.067352294921875, 0.2149505615234375, 0.8589935302734375, 0.1485137939453125, 0.3945465087890625, 0.131988525390625, 0.8996429443359375, 0.5350799560546875, 0.246002197265625, 0.9649810791015625, 0.948486328125, 0.0528564453125, 0.9338836669921875, 0.915771484375, 0.536163330078125, 0.937744140625, 0.959930419921875, 0.7536773681640625, 0.168365478515625, 0.4101409912109375, 0.9791412353515625, 0.0626983642578125, 0.287017822265625, 0.9211273193359375, 0.852996826171875, 0.548858642578125, 0.4115447998046875, 0.4096221923828125, 0.0738983154296875, 0.023834228515625, 0.54998779296875, 0.214996337890625, 0.6995697021484375, 0.6473388671875, 0.746002197265625, 0.3309783935546875, 0.09423828125, 0.62078857421875, 0.2486724853515625, 0.9657745361328125, 0.1748199462890625, 0.73419189453125, 0.416717529296875, 0.9274444580078125, 0.0626373291015625, 0.459320068359375, 0.0811614990234375, 0.893310546875, 0.8714752197265625, 0.55938720703125, 0.0924224853515625, 0.9859466552734375, 0.193359375, 0.00164794921875, 0.629730224609375, 0.1674346923828125, 0.4654693603515625, 0.48291015625, 0.8017578125, 0.5074005126953125, 0.9488067626953125, 0.587890625, 0.194244384765625, 0.569061279296875, 0.65081787109375, 0.6005706787109375, 0.922027587890625, 0.4580535888671875, 0.7231292724609375, 0.35986328125, 0.60467529296875, 0.301849365234375, 0.5535888671875, 0.9258270263671875, 0.471527099609375, 0.74530029296875, 0.3624267578125, 0.9285125732421875, 0.54608154296875, 0.9483184814453125, 0.7554473876953125, 0.8522491455078125, 0.6661224365234375, 0.4637908935546875, 0.1540679931640625, 0.90728759765625, 0.76300048828125, 0.2709197998046875, 0.4845733642578125, 0.9392547607421875, 0.88568115234375, 0.878662109375, 0.7884979248046875, 0.9904022216796875, 0.8598175048828125, 0.0828094482421875, 0.7457427978515625, 0.741180419921875, 0.0105133056640625, 0.0709075927734375, 0.49798583984375, 0.8560638427734375, 0.7410888671875, 0.7225494384765625, 0.3934173583984375, 0.672760009765625, 0.5851287841796875, 0.0042724609375, 0.20452880859375, 0.213348388671875, 0.65966796875, 0.1159210205078125, 0.056121826171875, 0.2735748291015625, 0.9272613525390625, 0.571868896484375, 0.33770751953125, 0.1789398193359375, 0.976409912109375, 0.262481689453125, 0.6210784912109375, 0.543121337890625, 0.230377197265625, 0.7653961181640625, 0.0551910400390625, 0.140655517578125, 0.78662109375, 0.4879913330078125, 0.999908447265625, 0.5149688720703125, 0.9119720458984375, 0.8152923583984375, 0.282928466796875, 0.3090667724609375, 0.78375244140625, 0.9733123779296875, 0.42315673828125, 0.7209320068359375, 0.5709991455078125, 0.47772216796875, 0.191497802734375, 0.8596343994140625, 0.712677001953125, 0.437255859375, 0.9342498779296875, 0.9404754638671875, 0.6273651123046875, 0.813995361328125, 0.86932373046875, 0.4817352294921875, 0.3467864990234375, 0.1052398681640625, 0.10491943359375, 0.2723236083984375, 0.2930908203125, 0.5611572265625, 0.9964752197265625, 0.47296142578125, 0.717987060546875, 0.250885009765625, 0.10174560546875, 0.5543975830078125, 0.623931884765625, 0.4984893798828125, 0.1156158447265625, 0.09747314453125, 0.5414581298828125, 0.5391387939453125, 0.1044464111328125, 0.222198486328125, 0.754730224609375, 0.4050140380859375, 0.05535888671875, 0.702178955078125, 0.6899871826171875, 0.7048797607421875, 0.9826202392578125, 0.8678741455078125, 0.338531494140625, 0.588165283203125, 0.9555511474609375, 0.047393798828125, 0.352569580078125, 0.1796875, 0.369537353515625, 0.4281463623046875, 0.940521240234375, 0.2169647216796875, 0.8744659423828125, 0.5138092041015625, 0.2250213623046875, 0.2758026123046875, 0.112945556640625, 0.4178466796875, 0.023834228515625, 0.9864654541015625, 0.5524749755859375, 0.350128173828125, 0.7579803466796875, 0.629913330078125, 0.963287353515625, 0.3360595703125, 0.6981048583984375, 0.2214508056640625, 0.8826751708984375, 0.0158233642578125, 0.18359375, 0.536651611328125, 0.50250244140625, 0.4170989990234375, 0.98876953125, 0.3791046142578125, 0.6126708984375, 0.7440185546875, 0.7785186767578125, 0.06292724609375, 0.5778961181640625, 0.569091796875, 0.048980712890625, 0.1869049072265625, 0.116943359375, 0.73699951171875, 0.938201904296875, 0.4517822265625, 0.4195098876953125, 0.9729766845703125, 0.57818603515625, 0.8991851806640625, 0.4394073486328125, 0.904144287109375, 0.246612548828125, 0.4767608642578125, 0.1990814208984375, 0.2794189453125, 0.032318115234375, 0.28399658203125, 0.6641387939453125, 0.629150390625, 0.245635986328125, 0.0886077880859375, 0.68768310546875, 0.1383514404296875, 0.2027130126953125, 0.0511322021484375, 0.7794952392578125, 0.4977569580078125, 0.4507904052734375, 0.4239959716796875, 0.59027099609375, 0.7018280029296875, 0.70574951171875, 0.9546966552734375, 0.096405029296875, 0.1603851318359375, 0.046905517578125, 0.45184326171875, 0.2379913330078125, 0.25494384765625, 0.5838165283203125, 0.9507293701171875, 0.4144439697265625, 0.5597686767578125, 0.8058319091796875, 0.2315216064453125, 0.1430816650390625, 0.0606689453125, 0.5596923828125, 0.4315185546875, 0.5667572021484375, 0.8175506591796875, 0.429229736328125, 0.3111114501953125, 0.3927001953125, 0.62982177734375, 0.304718017578125, 0.15631103515625, 0.1937713623046875, 0.3701934814453125, 0.9686737060546875, 0.2222900390625, 0.269012451171875, 0.705352783203125, 0.69775390625, 0.2642822265625, 0.0487518310546875, 0.828460693359375, 0.3568878173828125, 0.7227935791015625, 0.758575439453125, 0.2844085693359375, 0.897705078125, 0.4893341064453125, 0.4700775146484375, 0.6659088134765625, 0.5085906982421875, 0.2576904296875, 0.539093017578125, 0.4076690673828125, 0.7666473388671875, 0.90582275390625, 0.4014434814453125, 0.6936187744140625, 0.7266082763671875, 0.960296630859375, 0.3278961181640625, 0.0278472900390625, 0.362640380859375, 0.5948333740234375, 0.042236328125, 0.18035888671875, 0.2128753662109375, 0.0573577880859375, 0.2167205810546875, 0.6534271240234375, 0.291168212890625, 0.033935546875, 0.4486541748046875, 0.8570709228515625, 0.77691650390625, 0.981536865234375, 0.3197174072265625, 0.657257080078125, 0.034912109375, 0.52825927734375, 0.392913818359375, 0.008209228515625, 0.768218994140625, 0.8647613525390625, 0.6562042236328125, 0.5118560791015625, 0.530364990234375, 0.7555694580078125, 0.587615966796875, 0.5343170166015625, 0.754913330078125, 0.4427337646484375, 0.6798858642578125, 0.5295257568359375, 0.2080078125, 0.4826202392578125, 0.934844970703125, 0.5233154296875, 0.5493927001953125, 0.385955810546875, 0.6289520263671875, 0.8231353759765625, 0.7795257568359375, 0.00152587890625, 0.194488525390625, 0.233123779296875, 0.526702880859375, 0.4796905517578125, 0.674285888671875, 0.5565643310546875, 0.15771484375, 0.8051605224609375, 0.4523773193359375, 0.3018951416015625, 0.6498565673828125, 0.24310302734375, 0.3706207275390625, 0.0099945068359375, 0.226654052734375, 0.3218841552734375, 0.832427978515625, 0.737396240234375, 0.5347900390625, 0.8900146484375, 0.7758026123046875, 0.1167144775390625, 0.80694580078125, 0.3415985107421875, 0.6553802490234375, 0.5640716552734375, 0.189483642578125, 0.1568450927734375, 0.2678375244140625, 0.216949462890625, 0.63568115234375, 0.8033294677734375, 0.3340911865234375, 0.7646942138671875, 0.43389892578125, 0.1975250244140625, 0.4024658203125, 0.776397705078125, 0.51434326171875, 0.0637359619140625, 0.0056304931640625, 0.479156494140625, 0.6916046142578125, 0.1004180908203125, 0.008880615234375, 0.029296875, 0.234100341796875, 0.6380462646484375, 0.29180908203125, 0.97430419921875, 0.1929779052734375, 0.861114501953125, 0.685333251953125, 0.6256866455078125, 0.0110321044921875, 0.977264404296875, 0.396087646484375, 0.20684814453125, 0.2974700927734375, 0.28570556640625, 0.731719970703125, 0.40673828125, 0.453826904296875, 0.30377197265625, 0.1729888916015625, 0.6479034423828125, 0.9615478515625, 0.39990234375, 0.4794921875, 0.473052978515625, 0.8961944580078125, 0.554107666015625, 0.0541534423828125, 0.1385040283203125, 0.2961883544921875, 0.89459228515625, 0.3428802490234375, 0.200042724609375, 0.4200897216796875, 0.059814453125, 0.58038330078125, 0.6251373291015625, 0.1168365478515625, 0.3533782958984375, 0.1936187744140625, 0.4733734130859375, 0.3027191162109375, 0.6170806884765625, 0.9375457763671875, 0.7608642578125, 0.992706298828125, 0.414306640625, 0.3456878662109375, 0.5822906494140625, 0.7408905029296875, 0.777740478515625, 0.130767822265625, 0.0385589599609375, 0.918701171875, 0.1114501953125, 0.731719970703125, 0.8459014892578125, 0.994049072265625, 0.95855712890625, 0.4986724853515625, 0.844879150390625, 0.9715423583984375, 0.8956298828125, 0.486419677734375, 0.155548095703125, 0.79412841796875, 0.3929290771484375, 0.1085662841796875, 0.8014984130859375, 0.0457916259765625, 0.655303955078125, 0.01104736328125, 0.0159759521484375, 0.5531463623046875, 0.4691314697265625, 0.9471282958984375, 0.9549560546875, 0.75189208984375, 0.782867431640625, 0.8103485107421875, 0.3710174560546875, 0.43853759765625, 0.0887603759765625, 0.8270721435546875, 0.1163787841796875, 0.53900146484375, 0.44195556640625, 0.3939361572265625, 0.17767333984375, 0.3444366455078125, 0.9722442626953125, 0.2446441650390625, 0.9944610595703125, 0.6657867431640625, 0.24322509765625, 0.48382568359375, 0.455535888671875, 0.1352691650390625, 0.791229248046875, 0.9590606689453125, 0.3922271728515625, 0.735687255859375, 0.668548583984375, 0.0775299072265625, 0.2117156982421875, 0.3940277099609375, 0.1183624267578125, 0.1110382080078125, 0.392303466796875, 0.430145263671875, 0.3905487060546875, 0.3571014404296875, 0.5810089111328125, 0.4634857177734375, 0.171875, 0.176666259765625, 0.1596527099609375, 0.858642578125, 0.4369659423828125, 0.640533447265625, 0.3901214599609375, 0.1573028564453125, 0.25482177734375, 0.053863525390625, 0.9673614501953125, 0.4656982421875, 0.65350341796875, 0.610504150390625, 0.1141815185546875, 0.572784423828125, 0.3100128173828125, 0.7083587646484375, 0.39093017578125, 0.586639404296875, 0.13214111328125, 0.279510498046875, 0.3640594482421875, 0.3856353759765625, 0.332855224609375, 0.1009674072265625, 0.8593292236328125, 0.3564453125, 0.4196014404296875, 0.7490997314453125, 0.8134918212890625, 0.7838897705078125, 0.296722412109375, 0.46954345703125, 0.1698455810546875, 0.8668975830078125, 0.2488250732421875, 0.3112945556640625, 0.2147674560546875, 0.564849853515625, 0.030853271484375, 0.2508087158203125, 0.1492767333984375, 0.58465576171875, 0.319732666015625, 0.7331695556640625, 0.8925018310546875, 0.2005767822265625, 0.2053375244140625, 0.491058349609375, 0.04144287109375, 0.17657470703125, 0.753448486328125, 0.236846923828125, 0.9831390380859375, 0.9996185302734375, 0.386993408203125, 0.5171356201171875, 0.8407135009765625, 0.8316192626953125, 0.7386627197265625, 0.473052978515625, 0.5367584228515625, 0.497344970703125, 0.0624847412109375, 0.5516815185546875, 0.465576171875, 0.9196319580078125, 0.766632080078125, 0.28399658203125, 0.684326171875, 0.1390380859375, 0.1282196044921875, 0.278045654296875, 0.593505859375, 0.6871185302734375, 0.307830810546875, 0.459716796875, 0.9850921630859375, 0.4112548828125, 0.6300048828125, 0.860382080078125, 0.501556396484375, 0.2371063232421875, 0.4824066162109375, 0.9027862548828125, 0.3974456787109375, 0.103546142578125, 0.5235137939453125, 0.950347900390625, 0.5752410888671875, 0.95928955078125, 0.734771728515625, 0.6244964599609375, 0.90496826171875, 0.707427978515625, 0.0558929443359375, 0.739288330078125, 0.4027252197265625, 0.315277099609375, 0.735931396484375, 0.4491729736328125, 0.99993896484375, 0.9096832275390625, 0.984375, 0.4304351806640625, 0.742584228515625, 0.535186767578125, 0.44964599609375, 0.56732177734375, 0.7393951416015625, 0.494171142578125, 0.591766357421875, 0.6552581787109375, 0.4186859130859375, 0.901611328125, 0.3137054443359375, 0.235595703125, 0.7015533447265625, 0.4446258544921875, 0.5693359375, 0.2773590087890625, 0.3135833740234375, 0.12908935546875, 0.2801666259765625, 0.546905517578125, 0.63336181640625, 0.2783660888671875, 0.969635009765625, 0.9185943603515625, 0.6419525146484375, 0.52252197265625, 0.268035888671875, 0.4598541259765625, 0.99798583984375, 0.6004638671875, 0.7994537353515625, 0.445892333984375, 0.4644012451171875, 0.2131500244140625, 0.3643951416015625, 0.9067535400390625, 0.1066741943359375, 0.696014404296875, 0.011871337890625, 0.125335693359375, 0.6535797119140625, 0.042327880859375, 0.5173492431640625, 0.9277801513671875, 0.542694091796875, 0.28289794921875, 0.0615997314453125, 0.707794189453125, 0.4753265380859375, 0.0471038818359375, 0.9608917236328125, 0.6679229736328125, 0.6119232177734375, 0.81622314453125, 0.087371826171875, 0.2324676513671875, 0.08740234375, 0.1848297119140625, 0.3472442626953125, 0.89190673828125, 0.994842529296875, 0.0909881591796875, 0.083953857421875, 0.979705810546875, 0.309051513671875, 0.443115234375, 0.1526031494140625, 0.3181610107421875, 0.114959716796875, 0.9742889404296875, 0.7171478271484375, 0.396270751953125, 0.152923583984375, 0.7025146484375, 0.4167938232421875, 0.974639892578125, 0.3816680908203125, 0.51446533203125, 0.7930145263671875, 0.4118194580078125, 0.5169830322265625, 0.390045166015625, 0.8343505859375, 0.429443359375, 0.0649261474609375, 0.3323822021484375, 0.188934326171875, 0.5931854248046875, 0.1151275634765625, 0.5960540771484375, 0.045989990234375, 0.00927734375, 0.68603515625, 0.2557830810546875, 0.92340087890625, 0.8238067626953125, 0.2312774658203125, 0.5714874267578125, 0.6789703369140625, 0.3925628662109375, 0.5487823486328125, 0.7630615234375, 0.9029388427734375, 0.292572021484375, 0.2272186279296875, 0.4874420166015625, 0.87408447265625, 0.395263671875, 0.0265960693359375, 0.7461090087890625, 0.6663818359375, 0.9781341552734375, 0.2757110595703125, 0.2837982177734375, 0.338836669921875, 0.936279296875, 0.552337646484375, 0.3746795654296875, 0.940673828125, 0.6048126220703125, 0.7762298583984375, 0.81622314453125, 0.2565155029296875, 0.7801513671875, 0.170806884765625, 0.0728759765625, 0.8868408203125, 0.2443084716796875, 0.2018280029296875, 0.431488037109375, 0.3998260498046875, 0.3286895751953125, 0.37646484375, 0.84576416015625, 0.1732635498046875, 0.8507080078125, 0.4452056884765625, 0.5066986083984375, 0.372711181640625, 0.38720703125, 0.944671630859375, 0.3366241455078125, 0.388885498046875, 0.0139312744140625, 0.5677642822265625, 0.0757293701171875, 0.364776611328125, 0.347930908203125, 0.7835693359375, 0.074951171875, 0.905181884765625, 0.1294097900390625, 0.7016754150390625, 0.7159271240234375, 0.0074462890625, 0.2976531982421875, 0.084197998046875, 0.4523162841796875, 0.611328125, 0.1102752685546875, 0.802490234375, 0.31134033203125, 0.89361572265625, 0.791748046875, 0.9163360595703125, 0.5829620361328125, 0.9621429443359375, 0.487884521484375, 0.54052734375, 0.3637237548828125, 0.40484619140625, 0.9171295166015625, 0.6652984619140625, 0.04571533203125, 0.783233642578125, 0.7775115966796875, 0.852386474609375, 0.097900390625, 0.7194061279296875, 0.1024932861328125, 0.6856536865234375, 0.7318115234375, 0.8448028564453125, 0.276519775390625, 0.3221893310546875, 0.29473876953125, 0.350555419921875, 0.5200958251953125, 0.97552490234375, 0.639556884765625, 0.9698944091796875, 0.0926971435546875, 0.362060546875, 0.7406005859375, 0.8949737548828125, 0.5966949462890625, 0.478668212890625, 0.251739501953125, 0.7101287841796875, 0.0749969482421875, 0.8305206298828125, 0.2831878662109375, 0.2955322265625, 0.613250732421875, 0.1572113037109375, 0.77301025390625, 0.35430908203125, 0.59295654296875, 0.0425567626953125, 0.3109893798828125, 0.576202392578125, 0.8751220703125, 0.84539794921875, 0.8578338623046875, 0.7854156494140625, 0.338134765625, 0.0657196044921875, 0.2194366455078125, 0.6140594482421875, 0.7984161376953125, 0.2037353515625, 0.4816131591796875, 0.8908843994140625, 0.1303253173828125, 0.7426300048828125, 0.9871368408203125, 0.01715087890625, 0.4829559326171875, 0.4561309814453125, 0.118316650390625, 0.250274658203125, 0.720703125, 0.4571075439453125, 0.5411376953125, 0.2410888671875, 0.1423797607421875, 0.7275390625, 0.8435821533203125, 0.571319580078125, 0.18609619140625, 0.0829010009765625, 0.7062835693359375, 0.497528076171875, 0.331817626953125, 0.5815887451171875, 0.6164398193359375, 0.01910400390625, 0.7745361328125, 0.4609527587890625, 0.1528778076171875, 0.9623870849609375, 0.3525848388671875, 0.023223876953125, 0.6527557373046875, 0.2055206298828125, 0.4631195068359375, 0.108734130859375, 0.833984375, 0.580841064453125, 0.4563446044921875, 0.0883636474609375, 0.410888671875, 0.3498687744140625, 0.0012054443359375, 0.3900299072265625, 0.9199676513671875, 0.73553466796875, 0.8293609619140625, 0.717193603515625, 0.7209625244140625, 0.2448272705078125, 0.0461578369140625, 0.8852691650390625, 0.144500732421875, 0.8423004150390625, 0.7021331787109375, 0.5369110107421875, 0.73797607421875, 0.16717529296875, 0.6172332763671875, 0.24139404296875, 0.204071044921875, 0.8095703125, 0.8688812255859375, 0.3382720947265625, 0.2879638671875, 0.7514190673828125, 0.8741455078125, 0.117767333984375, 0.8820343017578125, 0.9755401611328125, 0.99224853515625, 0.98345947265625, 0.219757080078125, 0.2243194580078125, 0.1382904052734375, 0.6760101318359375, 0.2584686279296875, 0.6820526123046875, 0.2207489013671875, 0.2993316650390625, 0.0913543701171875, 0.728179931640625, 0.4695587158203125, 0.5389556884765625, 0.0095672607421875, 0.129302978515625, 0.5243988037109375, 0.20208740234375, 0.057159423828125, 0.31121826171875, 0.181976318359375, 0.089385986328125, 0.823974609375, 0.5434112548828125, 0.3786773681640625, 0.9238739013671875, 0.5426177978515625, 0.482696533203125, 0.04571533203125, 0.3210296630859375, 0.9427490234375, 0.171356201171875, 0.8314208984375, 0.81976318359375, 0.589874267578125, 0.6345062255859375, 0.50732421875, 0.673126220703125, 0.53369140625, 0.6378326416015625, 0.758941650390625, 0.245452880859375, 0.5907745361328125, 0.367462158203125, 0.7418975830078125, 0.2154083251953125, 0.31842041015625, 0.20269775390625, 0.039459228515625, 0.6049652099609375, 0.143951416015625, 0.7969512939453125, 0.675567626953125, 0.2216033935546875, 0.651947021484375, 0.908447265625, 0.87811279296875, 0.134918212890625, 0.61529541015625, 0.684844970703125, 0.6822967529296875, 0.8330841064453125, 0.353485107421875, 0.742919921875, 0.0054473876953125, 0.3199005126953125, 0.4133758544921875, 0.16790771484375, 0.281494140625, 0.0643157958984375, 0.1414642333984375, 0.2228546142578125, 0.461578369140625, 0.7442169189453125, 0.585662841796875, 0.28521728515625, 0.70599365234375, 0.2732086181640625, 0.4301605224609375, 0.6225738525390625, 0.53753662109375, 0.75439453125, 0.336822509765625, 0.537384033203125, 0.29803466796875, 0.641204833984375, 0.2305755615234375, 0.805267333984375, 0.5352325439453125, 0.7330322265625, 0.576324462890625, 0.1484222412109375, 0.7469482421875, 0.1364898681640625, 0.214874267578125, 0.7952423095703125, 0.1517486572265625, 0.4852294921875, 0.2393035888671875, 0.4196014404296875, 0.2034149169921875, 0.29241943359375, 0.438873291015625, 0.6208038330078125, 0.117523193359375, 0.1716461181640625, 0.72808837890625, 0.9953460693359375, 0.5623931884765625, 0.2519989013671875, 0.070343017578125, 0.149200439453125, 0.03045654296875, 0.6957244873046875, 0.8272552490234375, 0.30999755859375, 0.1681671142578125, 0.670928955078125, 0.5575103759765625, 0.793914794921875, 0.7335357666015625, 0.593475341796875, 0.705352783203125, 0.0838775634765625, 0.45428466796875, 0.50433349609375, 0.2767333984375, 0.7478179931640625, 0.3623199462890625, 0.8441925048828125, 0.8851470947265625, 0.197174072265625, 0.3128204345703125, 0.1504669189453125, 0.5799713134765625, 0.7607421875, 0.3622283935546875, 0.4090118408203125, 0.8728179931640625, 0.27838134765625, 0.9240875244140625, 0.9968414306640625, 0.2111663818359375, 0.1945648193359375, 0.78643798828125, 0.3621673583984375, 0.1459808349609375, 0.157562255859375, 0.9983367919921875, 0.100067138671875, 0.947052001953125, 0.0024871826171875, 0.0539703369140625, 0.3482818603515625, 0.7955780029296875, 0.5415496826171875, 0.7108306884765625, 0.5471954345703125, 0.1466064453125, 0.6540069580078125, 0.206573486328125, 0.0511016845703125, 0.3243255615234375, 0.1326904296875, 0.3555450439453125, 0.780120849609375, 0.2618560791015625, 0.3095703125, 0.9479827880859375, 0.623626708984375, 0.7794342041015625, 0.1910247802734375, 0.8794403076171875, 0.73828125, 0.056243896484375, 0.7933349609375, 0.3916168212890625, 0.9166259765625, 0.549346923828125, 0.2214202880859375, 0.8218231201171875, 0.011077880859375, 0.6744842529296875, 0.897003173828125, 0.321197509765625, 0.14202880859375, 0.9490509033203125, 0.72088623046875, 0.2826995849609375, 0.4288177490234375, 0.3072509765625, 0.2418365478515625, 0.2025604248046875, 0.5994415283203125, 0.31207275390625, 0.0291290283203125, 0.257781982421875, 0.7542724609375, 0.6371612548828125, 0.5467071533203125, 0.12213134765625, 0.2554779052734375, 0.2571258544921875, 0.879608154296875, 0.2266082763671875, 0.508209228515625, 0.4586029052734375, 0.18701171875, 0.506256103515625, 0.22711181640625, 0.6233062744140625, 0.6232452392578125, 0.1712188720703125, 0.0939788818359375, 0.7450408935546875, 0.06298828125, 0.5053253173828125, 0.32977294921875, 0.5649261474609375, 0.455078125, 0.9501953125, 0.2320709228515625, 0.43115234375, 0.035125732421875, 0.9618377685546875, 0.726715087890625, 0.8258056640625, 0.479766845703125, 0.87896728515625, 0.52386474609375, 0.618896484375, 0.06048583984375, 0.26922607421875, 0.1519775390625, 0.179840087890625, 0.72784423828125, 0.14361572265625, 0.1995086669921875, 0.622100830078125, 0.712158203125, 0.755950927734375, 0.9737701416015625, 0.036834716796875, 0.1724090576171875, 0.357269287109375, 0.231353759765625, 0.1732330322265625, 0.9665374755859375, 0.6135406494140625, 0.18707275390625, 0.2086639404296875, 0.7305755615234375, 0.976043701171875, 0.2602386474609375, 0.2263031005859375, 0.5936279296875, 0.19769287109375, 0.934906005859375, 0.834014892578125, 0.2242584228515625, 0.435791015625, 0.7801513671875, 0.9981842041015625, 0.386474609375, 0.584228515625, 0.063873291015625, 0.065826416015625, 0.3879241943359375, 0.561126708984375, 0.454376220703125, 0.35845947265625, 0.56353759765625, 0.97637939453125, 0.0770721435546875, 0.262054443359375, 0.962066650390625, 0.769317626953125, 0.2829132080078125, 0.5981903076171875, 0.4065704345703125, 0.2898406982421875, 0.4277191162109375, 0.8546142578125, 0.786041259765625, 0.2699432373046875, 0.7079010009765625, 0.6208648681640625, 0.3009185791015625, 0.742523193359375, 0.0901336669921875, 0.0239715576171875, 0.8292083740234375, 0.1513519287109375, 0.4334564208984375, 0.610382080078125, 0.4007110595703125, 0.657379150390625, 0.83343505859375, 0.0767364501953125, 0.292236328125, 0.764434814453125, 0.870147705078125, 0.40521240234375, 0.3538665771484375, 0.8230133056640625, 0.803558349609375, 0.8916473388671875, 0.2846527099609375, 0.7906341552734375, 0.697601318359375, 0.076141357421875, 0.422882080078125, 0.753631591796875, 0.7609710693359375, 0.6214599609375, 0.69622802734375, 0.76708984375, 0.328643798828125, 0.52362060546875, 0.419677734375, 0.1320648193359375, 0.7020263671875, 0.5533294677734375, 0.4306488037109375, 0.405670166015625, 0.28790283203125, 0.581085205078125, 0.0521697998046875, 0.860595703125, 0.9274139404296875, 0.126953125, 0.65924072265625, 0.163604736328125, 0.3284759521484375, 0.41021728515625, 0.847686767578125, 0.3480682373046875, 0.6947174072265625, 0.251739501953125, 0.363372802734375, 0.7547149658203125, 0.5828704833984375, 0.649261474609375, 0.7728271484375, 0.6696929931640625, 0.9393768310546875, 0.39739990234375, 0.03314208984375, 0.91241455078125, 0.8775482177734375, 0.224853515625, 0.9860382080078125, 0.789947509765625, 0.8250885009765625, 0.1604156494140625, 0.890045166015625, 0.9016571044921875, 0.316314697265625, 0.9025115966796875, 0.5020294189453125, 0.314117431640625, 0.6119842529296875, 0.7869720458984375, 0.442413330078125, 0.136199951171875, 0.275909423828125, 0.258544921875, 0.73370361328125, 0.025909423828125, 0.282501220703125, 0.224884033203125, 0.190826416015625, 0.3267669677734375, 0.3092803955078125, 0.52191162109375, 0.6596221923828125, 0.258056640625, 0.8185577392578125, 0.994110107421875, 0.0279693603515625, 0.8417816162109375, 0.0151214599609375, 0.3446807861328125, 0.2688751220703125, 0.1457977294921875, 0.9473419189453125, 0.28167724609375, 0.1157073974609375, 0.1919403076171875, 0.303314208984375, 0.0906524658203125, 0.6882476806640625, 0.76507568359375, 0.2114105224609375, 0.309814453125, 0.1250457763671875, 0.64312744140625, 0.21307373046875, 0.094635009765625, 0.3319091796875, 0.59307861328125, 0.7049407958984375, 0.8119659423828125, 0.8254241943359375, 0.6817169189453125, 0.384002685546875, 0.52789306640625, 0.426483154296875, 0.965545654296875, 0.6373748779296875, 0.827239990234375, 0.49005126953125, 0.9944915771484375, 0.5291748046875, 0.54144287109375, 0.1357574462890625, 0.934173583984375, 0.8097991943359375, 0.501220703125, 0.4268798828125, 0.275787353515625, 0.116424560546875, 0.71136474609375, 0.7340850830078125, 0.954376220703125, 0.720916748046875, 0.2862548828125, 0.479949951171875, 0.3578948974609375, 0.5954132080078125, 0.9339447021484375, 0.8265228271484375, 0.8035888671875, 0.8921966552734375, 0.40081787109375, 0.468353271484375, 0.9052276611328125, 0.669464111328125, 0.80096435546875, 0.5546112060546875, 0.5122833251953125, 0.00726318359375, 0.4671478271484375, 0.4555206298828125, 0.0019989013671875, 0.675506591796875, 0.0417022705078125, 0.7737579345703125, 0.145233154296875, 0.0577850341796875, 0.7605743408203125, 0.0652923583984375, 0.7236175537109375, 0.86883544921875, 0.1149139404296875, 0.258819580078125, 0.762908935546875, 0.37689208984375, 0.088226318359375, 0.18560791015625, 0.686004638671875, 0.6576995849609375, 0.5390167236328125, 0.6527557373046875, 0.87469482421875, 0.806488037109375, 0.1018829345703125, 0.927764892578125, 0.0704193115234375, 0.3421630859375, 0.4098663330078125, 0.9297943115234375, 0.6649322509765625, 0.3695831298828125, 0.5287017822265625, 0.510345458984375, 0.5003662109375, 0.9993743896484375, 0.414154052734375, 0.978485107421875, 0.471282958984375, 0.1006927490234375, 0.86865234375, 0.3651123046875, 0.224853515625, 0.30743408203125, 0.6563873291015625, 0.6278076171875, 0.497589111328125, 0.2030792236328125, 0.5523223876953125, 0.9517669677734375, 0.144805908203125, 0.2521514892578125, 0.60406494140625, 0.9360504150390625, 0.76861572265625, 0.9100494384765625, 0.0973052978515625, 0.4451141357421875, 0.648040771484375, 0.8910980224609375, 0.847137451171875, 0.355865478515625, 0.020751953125, 0.6727752685546875, 0.450103759765625, 0.9654388427734375, 0.1156768798828125, 0.4668426513671875, 0.7682647705078125, 0.7319488525390625, 0.6806640625, 0.296539306640625, 0.4720916748046875, 0.747406005859375, 0.3959197998046875, 0.3887481689453125, 0.1804351806640625, 0.053619384765625, 0.808319091796875, 0.4365081787109375, 0.86895751953125, 0.3060455322265625, 0.6373443603515625, 0.875579833984375, 0.808135986328125, 0.5649871826171875, 0.412872314453125, 0.2598419189453125, 0.11785888671875, 0.0157470703125, 0.7565460205078125, 0.2158660888671875, 0.550689697265625, 0.7578887939453125, 0.5989532470703125, 0.5233612060546875, 0.3389739990234375, 0.4061126708984375, 0.8798980712890625, 0.9413604736328125, 0.3135986328125, 0.5811920166015625, 0.91546630859375, 0.384674072265625, 0.344757080078125, 0.74774169921875, 0.647613525390625, 0.964935302734375, 0.854400634765625, 0.6872100830078125, 0.2152862548828125, 0.0048675537109375, 0.43255615234375, 0.365447998046875, 0.01239013671875, 0.82196044921875, 0.580322265625, 0.927093505859375, 0.08074951171875, 0.22540283203125, 0.62933349609375, 7.62939453125e-05, 0.573577880859375, 0.1507415771484375, 0.6258697509765625, 0.2763214111328125, 0.0087432861328125, 0.342376708984375, 0.491943359375, 0.602386474609375, 0.6709136962890625, 0.62164306640625, 0.55810546875, 0.404693603515625, 0.18804931640625, 0.9628448486328125, 0.208984375, 0.054534912109375, 0.1425933837890625, 0.393768310546875, 0.9944610595703125, 0.1363067626953125, 0.5431060791015625, 0.293060302734375, 0.7126617431640625, 0.0821075439453125, 0.49566650390625, 0.629730224609375, 0.345001220703125, 0.22222900390625, 0.9929962158203125, 0.60955810546875, 0.00811767578125, 0.4556884765625, 0.899993896484375, 0.039825439453125, 0.0656280517578125, 0.0240020751953125, 0.798370361328125, 0.4969024658203125, 0.06842041015625, 0.686431884765625, 0.6107025146484375, 0.5706939697265625, 0.9404449462890625, 0.9018096923828125, 0.3485870361328125, 0.2415008544921875, 0.4366912841796875, 0.1298828125, 0.18280029296875, 0.35870361328125, 0.063507080078125, 0.7791748046875, 0.9857330322265625, 0.02142333984375, 0.05242919921875, 0.5679931640625, 0.9485931396484375, 0.1222076416015625, 0.04034423828125, 0.258056640625, 0.959503173828125, 0.337432861328125, 0.3786163330078125, 0.1539306640625, 0.5395660400390625, 0.5456085205078125, 0.22918701171875, 0.42279052734375, 0.7199859619140625, 0.2754058837890625, 0.3809814453125, 0.91461181640625, 0.8790283203125, 0.6910400390625, 0.072723388671875, 0.681549072265625, 0.262908935546875, 0.7820281982421875, 0.257720947265625, 0.1950531005859375, 0.480194091796875, 0.3194732666015625, 0.138885498046875, 0.5954742431640625, 0.436309814453125, 0.5328521728515625, 0.2917633056640625, 0.966522216796875, 0.4134368896484375, 0.87799072265625, 0.0125274658203125, 0.36492919921875, 0.0364532470703125, 0.354888916015625, 0.6710357666015625, 0.5326080322265625, 0.702301025390625, 0.5554656982421875, 0.3648834228515625, 0.4791107177734375, 0.9413299560546875, 0.0143280029296875, 0.1879425048828125, 0.0606842041015625, 0.302764892578125, 0.8680572509765625, 0.191802978515625, 0.4616546630859375, 0.0290985107421875, 0.071380615234375, 0.3456573486328125, 0.43798828125, 0.4538421630859375, 0.79364013671875, 0.689544677734375, 0.9370880126953125, 0.9701690673828125, 0.4651031494140625, 0.329071044921875, 0.52850341796875, 0.408905029296875, 0.5619659423828125, 0.5239410400390625, 0.4681243896484375, 0.250946044921875, 0.8352203369140625, 0.2484130859375, 0.741729736328125, 0.4754486083984375, 0.4717864990234375, 0.64923095703125, 0.668365478515625, 0.5670166015625, 0.9716033935546875, 0.555694580078125, 0.0367431640625, 0.58294677734375, 0.04052734375, 0.4930267333984375, 0.10052490234375, 0.712799072265625, 0.2425079345703125, 0.9169921875, 0.4318389892578125, 0.2458343505859375, 0.5592041015625, 0.359893798828125, 0.4125518798828125, 0.8513946533203125, 0.20172119140625, 0.067962646484375, 0.3943023681640625, 0.105438232421875, 0.515655517578125, 0.7560272216796875, 0.8782501220703125, 0.57928466796875, 0.150909423828125, 0.9859771728515625, 0.3466033935546875, 0.8902435302734375, 0.0900115966796875, 0.84783935546875, 0.4735870361328125, 0.1735687255859375, 0.744537353515625, 0.6258697509765625, 0.42828369140625, 0.4138641357421875, 0.8345489501953125, 0.7603607177734375, 0.3226776123046875, 0.2053070068359375, 0.23760986328125, 0.992889404296875, 0.4345550537109375, 0.998199462890625, 0.2394561767578125, 0.8131256103515625, 0.4785003662109375, 0.066619873046875, 0.695770263671875, 0.41015625, 0.5346832275390625, 0.5722808837890625, 0.09197998046875, 0.7655029296875, 0.1288604736328125, 0.9882354736328125, 0.314666748046875, 0.0743865966796875, 0.087554931640625, 0.0897064208984375, 0.57666015625, 0.8957061767578125, 0.8577728271484375, 0.1930999755859375, 0.0563201904296875, 0.4058837890625, 0.363372802734375, 0.5836029052734375, 0.0152740478515625, 0.3878631591796875, 0.710906982421875, 0.184844970703125, 0.167205810546875, 0.285675048828125, 0.6189117431640625, 0.7285003662109375, 0.3615264892578125, 0.5683441162109375, 0.6511688232421875, 0.3963470458984375, 0.647796630859375, 0.538421630859375, 0.9828948974609375, 0.153411865234375, 0.46673583984375, 0.1170196533203125, 0.0684051513671875, 0.6816864013671875, 0.68304443359375, 0.2822418212890625, 0.468597412109375, 0.4130096435546875, 0.9876251220703125, 0.090423583984375, 0.2816619873046875, 0.9698486328125, 0.869140625, 0.84906005859375, 0.119659423828125, 0.4944610595703125, 0.281280517578125, 0.1780853271484375, 0.02056884765625, 0.0930633544921875, 0.2265167236328125, 0.1774749755859375, 0.652435302734375, 0.36444091796875, 0.917755126953125, 0.48419189453125, 0.9638519287109375, 0.9447784423828125, 0.1865997314453125, 0.397125244140625, 0.3195953369140625, 0.295745849609375, 0.2858123779296875, 0.6114959716796875, 0.734466552734375, 0.672760009765625, 0.2350006103515625, 0.1704254150390625, 0.4872283935546875, 0.045013427734375, 0.2276611328125, 0.5464324951171875, 0.6396484375, 0.658203125, 0.420318603515625, 0.139007568359375, 0.568359375, 0.852783203125, 0.041839599609375, 0.2377471923828125, 0.2607574462890625, 0.186859130859375, 0.1730804443359375, 0.6349334716796875, 0.5943145751953125, 0.598480224609375, 0.04510498046875, 0.034210205078125, 0.7506256103515625, 0.855499267578125, 0.3273773193359375, 0.5818023681640625, 0.421844482421875, 0.7444305419921875, 0.032073974609375, 0.5971527099609375, 0.1926422119140625, 0.80804443359375, 0.87310791015625, 0.11346435546875, 0.7136077880859375, 0.9248504638671875, 0.854461669921875, 0.03570556640625, 0.115325927734375, 0.10205078125, 0.549896240234375, 0.026153564453125, 0.5109710693359375, 0.808502197265625, 0.9276275634765625, 0.1171417236328125, 0.8722076416015625, 0.5762176513671875, 0.8343505859375, 0.5226287841796875, 0.1559906005859375, 0.89617919921875, 0.967010498046875, 0.3868560791015625, 0.4329376220703125, 0.949066162109375, 0.1770172119140625, 0.034423828125, 0.112274169921875, 0.33978271484375, 0.5764923095703125, 0.4373931884765625, 0.8227996826171875, 0.7076416015625, 0.2869110107421875, 0.8736572265625, 0.9962615966796875, 0.875030517578125, 0.31591796875, 0.6256256103515625, 0.52752685546875, 0.7387847900390625, 0.0885162353515625, 0.001739501953125, 0.471710205078125, 0.0610809326171875, 0.8920135498046875, 0.295166015625, 0.6186065673828125, 0.365570068359375, 0.08660888671875, 0.4779052734375, 0.6731414794921875, 0.57000732421875, 0.9510040283203125, 0.1449432373046875, 0.0539398193359375, 0.3421783447265625, 0.17034912109375, 0.9948577880859375, 0.6501312255859375, 0.8195953369140625, 0.3083343505859375, 0.0486907958984375, 0.1329193115234375, 0.711090087890625, 0.712799072265625, 0.27606201171875, 0.2238006591796875, 0.0431365966796875, 0.6092987060546875, 0.3513641357421875, 0.8603057861328125, 0.2434844970703125, 0.2237548828125, 0.9273681640625, 0.4882049560546875, 0.305999755859375, 0.725372314453125, 0.6121673583984375, 0.411041259765625, 0.181976318359375, 0.2830657958984375, 0.8087005615234375, 0.9058685302734375, 0.928741455078125, 0.5964202880859375, 0.2219085693359375, 0.6996612548828125, 0.5383148193359375, 0.7110748291015625, 0.5364532470703125, 0.6561737060546875, 0.6859130859375, 0.47821044921875, 0.9546661376953125, 0.6667938232421875, 0.7113189697265625, 0.3428192138671875, 0.04010009765625, 0.891448974609375, 0.1331939697265625, 0.675567626953125, 0.663665771484375, 0.1382904052734375, 0.8769683837890625, 0.411590576171875, 0.2795257568359375, 0.8908843994140625, 0.4740142822265625, 0.5716705322265625, 0.3095550537109375, 0.896270751953125, 0.798126220703125, 0.5386199951171875, 0.5756378173828125, 0.312652587890625, 0.526702880859375, 0.7906951904296875, 0.7138519287109375, 0.377655029296875, 0.9035491943359375, 0.276092529296875, 0.1637115478515625, 0.298492431640625, 0.54730224609375, 0.106170654296875, 0.8715362548828125, 0.7399139404296875, 0.3603363037109375, 0.8716888427734375, 0.90362548828125, 0.4378204345703125, 0.945068359375, 0.0282745361328125, 0.332672119140625, 0.55511474609375, 0.606964111328125, 0.3141937255859375, 0.1946258544921875, 0.52081298828125, 0.0904998779296875, 0.310760498046875, 0.86834716796875, 0.837738037109375, 0.4753570556640625, 0.36480712890625, 0.78558349609375, 0.4871063232421875, 0.8493804931640625, 0.6122589111328125, 0.715240478515625, 0.039520263671875, 0.8270263671875, 0.0264434814453125, 0.3112030029296875, 0.429168701171875, 0.9866180419921875, 0.212646484375, 0.109619140625, 0.2108306884765625, 0.36358642578125, 0.3572845458984375, 0.506805419921875, 0.6048126220703125, 0.049346923828125, 0.255645751953125, 0.550933837890625, 0.6896514892578125, 0.379302978515625, 0.99603271484375, 0.3180084228515625, 0.7311553955078125, 0.162200927734375, 0.5555419921875, 0.53173828125, 0.3921356201171875, 0.2068634033203125, 0.710693359375, 0.431976318359375, 0.293731689453125, 0.931182861328125, 0.627197265625, 0.2113800048828125, 0.7721405029296875, 0.2043914794921875, 0.23736572265625, 0.7293701171875, 0.9796905517578125, 0.3979644775390625, 0.0115966796875, 0.600921630859375, 0.917938232421875, 0.5572662353515625, 0.2861328125, 0.327606201171875, 0.640777587890625, 0.67236328125, 0.4915618896484375, 0.6444091796875, 0.785614013671875, 0.4535675048828125, 0.9551239013671875, 0.2048797607421875, 0.9531402587890625, 0.44403076171875, 0.45269775390625, 0.5706787109375, 0.6736602783203125, 0.0364532470703125, 0.5081634521484375, 0.4781951904296875, 0.2799835205078125, 0.150787353515625, 0.550140380859375, 0.055633544921875, 0.4666900634765625, 0.69769287109375, 0.8224945068359375, 0.43145751953125, 0.074310302734375, 0.43560791015625, 0.246246337890625, 0.3896331787109375, 0.6467742919921875, 0.49981689453125, 0.3372802734375, 0.403717041015625, 0.5807647705078125, 0.8555755615234375, 0.5961151123046875, 0.1475067138671875, 0.9411163330078125, 0.7727813720703125, 0.0999298095703125, 0.3117218017578125, 0.239288330078125, 0.3112640380859375, 0.40301513671875, 0.955657958984375, 0.4510650634765625, 0.2200164794921875, 0.4533538818359375, 0.5960693359375, 0.916839599609375, 0.41015625, 0.33056640625, 0.4118499755859375, 0.2265167236328125, 0.7338104248046875, 0.18939208984375, 0.3363037109375, 0.9306793212890625, 0.2648773193359375, 0.7510986328125, 0.898223876953125, 0.4988861083984375, 0.979339599609375, 0.0257110595703125, 0.29931640625, 0.318634033203125, 0.1698760986328125, 0.3636474609375, 0.1966094970703125, 0.8871307373046875, 0.609832763671875, 0.5889892578125, 0.2899017333984375, 0.6555328369140625, 0.774810791015625, 0.1812744140625, 0.731689453125, 0.987823486328125, 0.1226348876953125, 0.93603515625, 0.2312469482421875, 0.1796417236328125, 0.378173828125, 0.45806884765625, 0.238037109375, 0.3412322998046875, 0.244598388671875, 0.14691162109375, 0.075225830078125, 0.1396636962890625, 0.0552978515625, 0.0254058837890625, 0.2899169921875, 0.3339691162109375, 0.0681304931640625, 0.887542724609375, 0.35931396484375, 0.2686309814453125, 0.95703125, 0.1662139892578125, 0.1982269287109375, 0.4523773193359375, 0.932861328125, 0.5752716064453125, 0.5291900634765625, 0.4421234130859375, 0.8680267333984375, 0.404388427734375, 0.6962738037109375, 0.59033203125, 0.7262420654296875, 0.6698150634765625, 0.6073760986328125, 0.5086822509765625, 0.1885833740234375, 0.538543701171875, 0.1194915771484375, 0.6322784423828125, 0.088836669921875, 0.975341796875, 0.899200439453125, 0.4574737548828125, 0.7234344482421875, 0.62744140625, 0.89837646484375, 0.12994384765625, 0.4285736083984375, 0.652313232421875, 0.22332763671875, 0.1022796630859375, 0.62890625, 0.1673431396484375, 0.33154296875, 0.842254638671875, 0.2558135986328125, 0.7802734375, 0.5717010498046875, 0.459686279296875, 0.561737060546875, 0.933441162109375, 0.084197998046875, 0.69781494140625, 0.0603179931640625, 0.420166015625, 0.2192230224609375, 0.898773193359375, 0.404022216796875, 0.5240020751953125, 0.381805419921875, 0.1521759033203125, 0.6837310791015625, 0.6868743896484375, 0.103057861328125, 0.7747344970703125, 0.743316650390625, 0.38848876953125, 0.342010498046875, 0.2401123046875, 0.075531005859375, 0.242767333984375, 0.9346160888671875, 0.188018798828125, 0.841522216796875, 0.4847564697265625, 0.590911865234375, 0.4914093017578125, 0.1777801513671875, 0.2242584228515625, 0.793701171875, 0.21258544921875, 0.0040283203125, 0.0466766357421875, 0.6184844970703125, 0.4577789306640625, 0.36529541015625, 0.43353271484375, 0.4552001953125, 0.4141082763671875, 0.4556427001953125, 0.6085205078125, 0.0466766357421875, 0.031982421875, 0.89178466796875, 0.3152313232421875, 0.7014617919921875, 0.894775390625, 0.0259552001953125, 0.6782989501953125, 0.8576812744140625, 0.58160400390625, 0.9430999755859375, 0.9876556396484375, 0.83929443359375, 0.7219085693359375, 0.8375244140625, 0.145355224609375, 0.8210296630859375, 0.764923095703125, 0.1168670654296875, 0.670166015625, 0.419952392578125, 0.772735595703125, 0.9386138916015625, 0.6937408447265625, 0.622894287109375, 0.23779296875, 0.42901611328125, 0.2657318115234375, 0.80889892578125, 0.9402313232421875, 0.261138916015625, 0.6618499755859375, 0.276031494140625, 0.6188507080078125, 0.3187408447265625, 0.8691558837890625, 0.375946044921875, 0.6275787353515625, 0.782684326171875, 0.9636688232421875, 0.1637115478515625, 0.737213134765625, 0.9272918701171875, 0.2916107177734375, 0.0452880859375, 0.909881591796875, 0.9124908447265625, 0.7334136962890625, 0.3909759521484375, 0.956268310546875, 0.725738525390625, 0.5104522705078125, 0.516204833984375, 0.3611907958984375, 0.1810455322265625, 0.869171142578125, 0.42327880859375, 0.4272003173828125, 0.0565032958984375, 0.436492919921875, 0.250946044921875, 0.111602783203125, 0.941070556640625, 0.3177947998046875, 0.4838409423828125, 0.46600341796875, 0.73846435546875, 0.26776123046875, 0.9462432861328125, 0.5819244384765625, 0.175750732421875, 0.2602996826171875, 0.796539306640625, 0.8072357177734375, 0.089447021484375, 0.6002349853515625, 0.9402008056640625, 0.9633636474609375, 0.62908935546875, 0.9477996826171875, 0.6851654052734375, 0.3570556640625, 0.2050933837890625, 0.781646728515625, 0.7481842041015625, 0.7471923828125, 0.0814361572265625, 0.446380615234375, 0.7057952880859375, 0.9461822509765625, 0.1799468994140625, 0.4309234619140625, 0.9126739501953125, 0.1695404052734375, 0.493682861328125, 0.155364990234375, 0.123748779296875, 0.9915313720703125, 0.5650177001953125, 0.2989654541015625, 0.7010040283203125, 0.312774658203125, 0.158355712890625, 0.8871917724609375, 0.580230712890625, 0.25439453125, 0.661102294921875, 0.2989654541015625, 0.2154541015625, 0.7393798828125, 0.630950927734375, 0.9853668212890625, 0.163177490234375, 0.388031005859375, 0.424591064453125, 0.033599853515625, 0.8349761962890625, 0.766143798828125, 0.035003662109375, 0.864654541015625, 0.1385345458984375, 0.723358154296875, 0.48236083984375, 0.92633056640625, 0.8627777099609375, 0.512908935546875, 0.1292724609375, 0.9079132080078125, 0.899139404296875, 0.91015625, 0.6925811767578125, 0.67230224609375, 0.8930511474609375, 0.9442138671875, 0.204315185546875, 0.2795562744140625, 0.6436767578125, 0.7444000244140625, 0.7827911376953125, 0.9512481689453125, 0.860076904296875, 0.047607421875, 0.9121246337890625, 0.48455810546875, 0.623291015625, 0.9677886962890625, 0.8435821533203125, 0.3321685791015625, 0.635711669921875, 0.98077392578125, 0.3409576416015625, 0.8513641357421875, 0.6836395263671875, 0.342132568359375, 0.7194671630859375, 0.35260009765625, 0.82147216796875, 0.6862945556640625, 0.592071533203125, 0.9322357177734375, 0.7303924560546875, 0.7750396728515625, 0.0233612060546875, 0.394073486328125, 0.85223388671875, 0.411407470703125, 0.9109954833984375, 0.1825103759765625, 0.025054931640625, 0.3345184326171875, 0.8753814697265625, 0.0158538818359375, 0.9438934326171875, 0.035125732421875, 0.124053955078125, 0.515869140625, 0.2982940673828125, 0.8577117919921875, 0.5798797607421875, 0.218505859375, 0.01251220703125, 0.51165771484375, 0.0334014892578125, 0.716552734375, 0.5341949462890625, 0.8743438720703125, 0.2544097900390625, 0.4785308837890625, 0.6590728759765625, 0.1218109130859375, 0.8511962890625, 0.427154541015625, 0.7126922607421875, 0.03326416015625, 0.87420654296875, 0.070068359375, 0.26556396484375, 0.7864227294921875, 0.1968231201171875, 0.4069976806640625, 0.7584228515625, 0.673095703125, 0.8202362060546875, 0.1836700439453125, 0.8213653564453125, 0.27618408203125, 0.3464202880859375, 0.7356109619140625, 0.2350311279296875, 0.69622802734375, 0.032623291015625, 0.0247802734375, 0.63787841796875, 0.375946044921875, 0.4890594482421875, 0.054656982421875, 0.3035125732421875, 0.430877685546875, 0.113922119140625, 0.969696044921875, 0.7639312744140625, 0.1806640625, 0.2956695556640625, 0.4893646240234375, 0.7289276123046875, 0.89251708984375, 0.30010986328125, 0.19293212890625, 0.0226593017578125, 0.734619140625, 0.25274658203125, 0.29473876953125, 0.303619384765625, 0.1242523193359375, 0.2645111083984375, 0.607208251953125, 0.4298248291015625, 0.12213134765625, 0.8206787109375, 0.0291595458984375, 0.6658172607421875, 0.0594940185546875, 0.52001953125, 0.4357757568359375, 0.799835205078125, 0.159423828125, 0.73870849609375, 0.1459503173828125, 0.372344970703125, 0.34332275390625, 0.472412109375, 0.752197265625, 0.7436065673828125, 0.19207763671875, 0.8927001953125, 0.8119659423828125, 0.2282562255859375, 0.244476318359375, 0.655517578125, 0.6080474853515625, 0.68914794921875, 0.6827545166015625, 0.2913665771484375, 0.5222015380859375, 0.9330902099609375, 0.68927001953125, 0.015594482421875, 0.6684112548828125, 0.450469970703125, 0.631072998046875, 0.2756195068359375, 0.771575927734375, 0.8956756591796875, 0.677032470703125, 0.28656005859375, 0.3713226318359375, 0.6595916748046875, 0.186004638671875, 0.1871337890625, 0.547943115234375, 0.6458282470703125, 0.807647705078125, 0.8883819580078125, 0.5446624755859375, 0.1110687255859375, 0.197357177734375, 0.140594482421875, 0.97528076171875, 0.976837158203125, 0.451751708984375, 0.6463775634765625, 0.334564208984375, 0.5963134765625, 0.55194091796875, 0.0783233642578125, 0.0671844482421875, 0.2426605224609375, 0.8953857421875, 0.7364044189453125, 0.2579193115234375, 0.6635284423828125, 0.0952606201171875, 0.046875, 0.24249267578125, 0.2899627685546875, 0.3051910400390625, 0.04901123046875, 0.5673370361328125, 0.0975494384765625, 0.948516845703125, 0.887237548828125, 0.361236572265625, 0.411102294921875, 0.32427978515625, 0.854156494140625, 0.7000579833984375, 0.9458465576171875, 0.5489501953125, 0.9014739990234375, 0.5766448974609375, 0.9381256103515625, 0.285125732421875, 0.2007598876953125, 0.750244140625, 0.1411895751953125, 0.402435302734375, 0.847198486328125, 0.6107330322265625, 0.171783447265625, 0.6792144775390625, 0.1832427978515625, 0.3480224609375, 0.79083251953125, 0.6043853759765625, 0.254974365234375, 0.205413818359375, 0.660614013671875, 0.8159027099609375, 0.3197174072265625, 0.193817138671875, 0.2834320068359375, 0.2170867919921875, 0.4999237060546875, 0.667266845703125, 0.319793701171875, 0.5806121826171875, 0.8173065185546875, 0.8594512939453125, 0.7006072998046875, 0.8145599365234375, 0.8880157470703125, 0.002777099609375, 0.9588775634765625, 0.7692108154296875, 0.8530120849609375, 0.068206787109375, 0.80682373046875, 0.0174560546875, 0.9270172119140625, 0.5942230224609375, 0.7655181884765625, 0.0401153564453125, 0.0411376953125, 0.337310791015625, 0.9595184326171875, 0.659759521484375, 0.155303955078125, 0.25030517578125, 0.241058349609375, 0.5070343017578125, 0.5261077880859375, 0.794342041015625, 0.5660247802734375, 0.7316131591796875, 0.569732666015625, 0.72216796875, 0.0754547119140625, 0.23419189453125, 0.2442474365234375, 0.868377685546875, 0.4050750732421875, 0.138458251953125, 0.2169647216796875, 0.33056640625, 0.234527587890625, 0.2659454345703125, 0.6978607177734375, 0.341644287109375, 0.0384521484375, 0.6737060546875, 0.612274169921875, 0.2543182373046875, 0.7557525634765625, 0.9474029541015625, 0.9923858642578125, 0.668121337890625, 0.211944580078125, 0.5095977783203125, 0.4233856201171875, 0.79376220703125, 0.2317352294921875, 0.4446258544921875, 0.8368377685546875, 0.248321533203125, 0.366363525390625, 0.2976226806640625, 0.3654632568359375, 0.096893310546875, 0.270233154296875, 0.4463348388671875, 0.53326416015625, 0.3785247802734375, 0.13238525390625, 0.9993133544921875, 0.599700927734375, 0.989959716796875, 0.6284027099609375, 0.307586669921875, 0.2880096435546875, 0.76861572265625, 0.810211181640625, 0.804840087890625, 0.554656982421875, 0.4728546142578125, 0.232879638671875, 0.15179443359375, 0.4612884521484375, 0.3974456787109375, 0.9366912841796875, 0.1651153564453125, 0.0354766845703125, 0.2807464599609375, 0.186248779296875, 0.347320556640625, 0.3843536376953125, 0.5150299072265625, 0.1830596923828125, 0.2292022705078125, 0.5814361572265625, 0.9368438720703125, 0.166839599609375, 0.280792236328125, 0.387054443359375, 0.9911651611328125, 0.1730499267578125, 0.0608673095703125, 0.1658782958984375, 0.0649261474609375, 0.4432525634765625, 0.5798187255859375, 0.4524383544921875, 0.33221435546875, 0.4620208740234375, 0.7026519775390625, 0.985260009765625, 0.4362030029296875, 0.9200439453125, 0.788116455078125, 0.957305908203125, 0.8741607666015625, 0.8729400634765625, 0.7929534912109375, 0.4815216064453125, 0.1173553466796875, 0.0836639404296875, 0.466766357421875, 0.5786590576171875, 0.1710662841796875, 0.6057586669921875, 0.0723114013671875, 0.6845550537109375, 0.1565399169921875, 0.924530029296875, 0.4536895751953125, 0.30560302734375, 0.353851318359375, 0.3111572265625, 0.1009521484375, 0.265655517578125, 0.134857177734375, 0.00982666015625, 0.99505615234375, 0.5869140625, 0.8902435302734375, 0.35595703125, 0.9627532958984375, 0.2817535400390625, 0.73760986328125, 0.3379669189453125, 0.66558837890625, 0.97259521484375, 0.5814361572265625, 0.8120574951171875, 0.6971588134765625, 0.235321044921875, 0.0427093505859375, 0.6991424560546875, 0.6025543212890625, 0.9842376708984375, 0.545745849609375, 0.600067138671875, 0.22802734375, 0.4266204833984375, 0.150726318359375, 0.87872314453125, 0.62750244140625, 0.4505767822265625, 0.057525634765625, 0.4667205810546875, 0.2332305908203125, 0.8763427734375, 0.8376007080078125, 0.024200439453125, 0.1062774658203125, 0.537322998046875, 0.6170196533203125, 0.1072540283203125, 0.753875732421875, 0.12176513671875, 0.226043701171875, 0.92950439453125, 0.6270294189453125, 0.756561279296875, 0.556671142578125, 0.236358642578125, 0.0977630615234375, 0.8974456787109375, 0.5109405517578125, 0.287628173828125, 0.3118438720703125, 0.413543701171875, 0.7872467041015625, 0.3218536376953125, 0.3370513916015625, 0.3974151611328125, 0.0102081298828125, 0.06964111328125, 0.415618896484375, 0.0349273681640625, 0.4255828857421875, 0.6795196533203125, 0.9480438232421875, 0.8818206787109375, 0.7024383544921875, 0.94793701171875, 0.8176727294921875, 0.3113861083984375, 0.58563232421875, 0.9467620849609375, 0.129974365234375, 0.67962646484375, 0.796783447265625, 0.73321533203125, 0.5740966796875, 0.908538818359375, 0.7834625244140625, 0.6798553466796875, 0.134613037109375, 0.87689208984375, 0.1105499267578125, 0.613616943359375, 0.046295166015625, 0.2264862060546875, 0.7313385009765625, 0.556488037109375, 0.5286865234375, 0.6375885009765625, 0.1812896728515625, 0.057220458984375, 0.408050537109375, 0.730743408203125, 0.8150482177734375, 0.006011962890625, 0.7752685546875, 0.7137603759765625, 0.5698394775390625, 0.0756683349609375, 0.5067596435546875, 0.54217529296875, 0.898193359375, 0.974029541015625, 0.84637451171875, 0.126556396484375, 0.7648162841796875, 0.82696533203125, 0.4378662109375, 0.5986328125, 0.64117431640625, 0.9059295654296875, 0.5802459716796875, 0.3314971923828125, 0.9641876220703125, 0.8433685302734375, 0.41546630859375, 0.1795654296875, 0.1493072509765625, 0.2406005859375, 0.231475830078125, 0.9392547607421875, 0.7152862548828125, 0.9605560302734375, 0.4764556884765625, 0.57916259765625, 0.2035675048828125, 0.8720855712890625, 0.7410736083984375, 0.6093902587890625, 0.2010040283203125, 0.6425323486328125, 0.6976470947265625, 0.3939361572265625, 0.556243896484375, 0.673065185546875, 0.539794921875, 0.83477783203125, 0.8362579345703125, 0.683685302734375, 0.9730072021484375, 0.2664947509765625, 0.129638671875, 0.9084930419921875, 0.229522705078125, 0.15679931640625, 0.2176971435546875, 0.41302490234375, 0.3594970703125, 0.366668701171875, 0.7489776611328125, 0.205596923828125, 0.8325347900390625, 0.03436279296875, 0.2889404296875, 0.129974365234375, 0.5889739990234375, 0.3303985595703125, 0.0666656494140625, 0.2044677734375, 0.9447784423828125, 0.9127655029296875, 0.3181610107421875, 0.0359344482421875, 0.3009185791015625, 0.14508056640625, 0.177154541015625, 0.545989990234375, 0.9253997802734375, 0.958160400390625, 0.3384552001953125, 0.280731201171875, 0.0251007080078125, 0.09027099609375, 0.23760986328125, 0.08197021484375, 0.5843048095703125, 0.21929931640625, 0.6479339599609375, 0.3502197265625, 0.308837890625, 0.2819366455078125, 0.012359619140625, 0.05535888671875, 0.9518585205078125, 0.389617919921875, 0.730926513671875, 0.58392333984375, 0.5131988525390625, 0.4378662109375, 0.8991241455078125, 0.4008636474609375, 0.166839599609375, 0.8393402099609375, 0.51959228515625, 0.6694793701171875, 0.38970947265625, 0.555816650390625, 0.4731597900390625, 0.6439056396484375, 0.495574951171875, 0.7022552490234375, 0.5850372314453125, 0.292755126953125, 0.3856964111328125, 0.7527923583984375, 0.1304779052734375, 0.9369354248046875, 0.193756103515625, 0.98309326171875, 0.5262451171875, 0.7957000732421875, 0.7363128662109375, 0.1070709228515625, 0.11785888671875, 0.7749481201171875, 0.6016387939453125, 0.5175018310546875, 0.1625823974609375, 0.8291778564453125, 0.425811767578125, 0.7197113037109375, 0.166656494140625, 0.7960968017578125, 0.54156494140625, 0.1888275146484375, 0.6684417724609375, 0.6748809814453125, 0.4520263671875, 0.043548583984375, 0.5406646728515625, 0.947021484375, 0.56915283203125, 0.940948486328125, 0.0105743408203125, 0.06939697265625, 0.62200927734375, 0.85858154296875, 0.4918212890625, 0.94964599609375, 0.2252197265625, 0.3511199951171875, 0.7454681396484375, 0.3354034423828125, 0.7374420166015625, 0.6497802734375, 0.86273193359375, 0.840728759765625, 0.462005615234375, 0.9879150390625, 0.0392608642578125, 0.530426025390625, 0.52850341796875, 0.9998016357421875, 0.71136474609375, 0.3549041748046875, 0.0473785400390625, 0.306915283203125, 0.630706787109375, 0.739532470703125, 0.7774810791015625, 0.8353424072265625, 0.219085693359375, 0.441864013671875, 0.8230438232421875, 0.285888671875, 0.9581298828125, 0.6744232177734375, 0.177490234375, 0.02728271484375, 0.092254638671875, 0.90570068359375, 0.5875701904296875, 0.5808563232421875, 0.16058349609375, 0.76153564453125, 0.9128875732421875, 0.417236328125, 0.698699951171875, 0.4857330322265625, 0.04095458984375, 0.263824462890625, 0.8468780517578125, 0.423797607421875, 0.6220703125, 0.1390533447265625, 0.7767333984375, 0.0334320068359375, 0.057098388671875, 0.014373779296875, 0.2646636962890625, 0.123046875, 0.4266815185546875, 0.6398162841796875, 0.9009552001953125, 0.244232177734375, 0.9424591064453125, 0.710693359375, 0.432464599609375, 0.2323455810546875, 0.027740478515625, 0.06939697265625, 0.8820343017578125, 0.7327728271484375, 0.847930908203125, 0.3967132568359375, 0.4227294921875, 0.411224365234375, 0.45562744140625, 0.3928680419921875, 0.4254150390625, 0.2683563232421875, 0.762939453125, 0.3438262939453125, 0.9398956298828125, 0.1196136474609375, 0.639617919921875, 0.50531005859375, 0.39813232421875, 0.9997711181640625, 0.568389892578125, 0.695709228515625, 0.8736114501953125, 0.2376861572265625, 0.00250244140625, 0.8558807373046875, 0.3475341796875, 0.1583099365234375, 0.981903076171875, 0.7590789794921875, 0.3232269287109375, 0.0513153076171875, 0.6132659912109375, 0.737396240234375, 0.3073272705078125, 0.10211181640625, 0.0791473388671875, 0.85906982421875, 0.489410400390625, 0.937530517578125, 0.6294708251953125, 0.193359375, 0.631591796875, 0.4453887939453125, 0.615325927734375, 0.6729583740234375, 0.87628173828125, 0.88067626953125, 0.4153900146484375, 0.1748046875, 0.1149749755859375, 0.491943359375, 0.4320526123046875, 0.2077484130859375, 0.2334747314453125, 0.9827117919921875, 0.369873046875, 0.573333740234375, 0.229034423828125, 0.31134033203125, 0.595611572265625, 0.295562744140625, 0.1259307861328125, 0.608367919921875, 0.5539703369140625, 0.657501220703125, 0.712677001953125, 0.931884765625, 0.3574981689453125, 0.7593231201171875, 0.581329345703125, 0.13519287109375, 0.952362060546875, 0.90277099609375, 0.4935302734375, 0.1178741455078125, 0.061981201171875, 0.6104278564453125, 0.3619232177734375, 0.0385589599609375, 0.9181976318359375, 0.97735595703125, 0.8340301513671875, 0.707977294921875, 0.9967498779296875, 0.4892425537109375, 0.4033355712890625, 0.343597412109375], "dims": [1, 10, 20, 30], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.mlir b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.mlir new file mode 100644 index 0000000..fda69e2 --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.mlir @@ -0,0 +1,50 @@ +module attributes {llvm.data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", llvm.target_triple = "x86_64-pc-linux-gnu", "onnx-mlir.symbol-postfix" = "hardmaxaxis.mlir"} { + func.func @main_graph(%arg0: memref<1x10x20x30xf32>) -> memref<1x10x20x30xf32> attributes {input_names = ["in_a"], llvm.emit_c_interface, output_names = ["out_a"]} { + %cst = arith.constant 0.000000e+00 : f32 + %cst_0 = arith.constant 1.000000e+00 : f32 + %c0 = arith.constant 0 : index + %alloc = memref.alloc() {alignment = 16 : i64} : memref<1x10x20x30xf32> + %alloc_1 = memref.alloc() {alignment = 16 : i64} : memref<1x10x20x30xindex> + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 30 { + affine.store %c0, %alloc_1[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xindex> + } + } + } + } + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 30 { + %0 = affine.load %alloc_1[%c0, %arg2, %arg3, %arg4] : memref<1x10x20x30xindex> + %1 = memref.load %arg0[%0, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + %2 = affine.load %arg0[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + %3 = arith.cmpf ogt, %2, %1 : f32 + scf.if %3 { + affine.store %arg1, %alloc_1[%c0, %arg2, %arg3, %arg4] : memref<1x10x20x30xindex> + } + } + } + } + } + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 30 { + %0 = affine.load %alloc_1[%c0, %arg2, %arg3, %arg4] : memref<1x10x20x30xindex> + %1 = arith.cmpi eq, %0, %arg1 : index + scf.if %1 { + affine.store %cst_0, %alloc[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + } else { + affine.store %cst, %alloc[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + } + } + } + } + } + return %alloc : memref<1x10x20x30xf32> + } + "krnl.entry_point"() {func = @main_graph, numInputs = 1 : i32, numOutputs = 1 : i32, signature = "[ { \22type\22 : \22f32\22 , \22dims\22 : [1 , 10 , 20 , 30] , \22name\22 : \22in_a\22 }\0A\0A]\00@[ { \22type\22 : \22f32\22 , \22dims\22 : [1 , 10 , 20 , 30] , \22name\22 : \22out_a\22 }\0A\0A]\00"} : () -> () +} diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.onnx b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.onnx new file mode 100644 index 0000000..b30db0a Binary files /dev/null and b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.onnx differ diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.res b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.res new file mode 100644 index 0000000..a12566e --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxAxis.res @@ -0,0 +1,3 @@ +Result: +memref<1x10x20x30xf32>[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +ADD THE ROWS HERE \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.json b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.json new file mode 100644 index 0000000..5ffc1e8 --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.445709228515625, 0.701629638671875, 0.6873931884765625, 0.911102294921875, 0.086273193359375, 0.322418212890625, 0.1317901611328125, 0.0640869140625, 0.550018310546875, 0.3621826171875, 0.0602264404296875, 0.018585205078125, 0.1417999267578125, 0.754669189453125, 0.692962646484375, 0.9788665771484375, 0.6429443359375, 0.4678802490234375, 0.5175933837890625, 0.2010955810546875, 0.7248077392578125, 0.4062347412109375, 0.9374237060546875, 0.3817138671875, 0.6435089111328125, 0.0791015625, 0.677642822265625, 0.7986297607421875, 0.5064697265625, 0.9548187255859375, 0.9379119873046875, 0.852752685546875, 0.830322265625, 0.4210205078125, 0.598297119140625, 0.646636962890625, 0.47601318359375, 0.4466705322265625, 0.3421478271484375, 0.131103515625, 0.3445892333984375, 0.962799072265625, 0.573974609375, 0.6522064208984375, 0.8491973876953125, 0.9463958740234375, 0.1726837158203125, 0.758514404296875, 0.1917877197265625, 0.4379119873046875, 0.85968017578125, 0.2622528076171875, 0.055328369140625, 0.4335174560546875, 0.8603363037109375, 0.0642242431640625, 0.81268310546875, 0.4219207763671875, 0.0056915283203125, 0.8732147216796875, 0.54840087890625, 0.4754791259765625, 0.9456939697265625, 0.1876373291015625, 0.2014617919921875, 0.7835845947265625, 0.2679290771484375, 0.4166412353515625, 0.5401763916015625, 0.43109130859375, 0.7118072509765625, 0.6856536865234375, 0.08502197265625, 0.2449951171875, 0.729766845703125, 0.6378631591796875, 0.2615509033203125, 0.5546417236328125, 0.669647216796875, 0.240386962890625, 0.8587646484375, 0.6562042236328125, 0.1026153564453125, 0.01153564453125, 0.9211273193359375, 0.7637176513671875, 0.4597320556640625, 0.1560516357421875, 0.244873046875, 0.8908843994140625, 0.0614776611328125, 0.949432373046875, 0.7428436279296875, 0.8502349853515625, 0.679290771484375, 0.4329071044921875, 0.451202392578125, 0.128326416015625, 0.4043121337890625, 0.563140869140625, 0.0626983642578125, 0.8643951416015625, 0.765777587890625, 0.026397705078125, 0.5068817138671875, 0.8323822021484375, 0.3543548583984375, 0.5216217041015625, 0.0170440673828125, 0.971527099609375, 0.75848388671875, 0.741455078125, 0.437469482421875, 0.69500732421875, 0.0540313720703125, 0.5104217529296875, 0.118865966796875, 0.3489837646484375, 0.9792633056640625, 0.8529052734375, 0.898101806640625, 0.6477203369140625, 0.703857421875, 0.12939453125, 0.8009033203125, 0.03668212890625, 0.3528594970703125, 0.6320953369140625, 0.6175079345703125, 0.545806884765625, 0.9288787841796875, 0.2958984375, 0.310394287109375, 0.8437652587890625, 0.7473907470703125, 0.0928955078125, 0.2032928466796875, 0.525543212890625, 0.780609130859375, 0.061187744140625, 0.8785858154296875, 0.8580169677734375, 0.4263916015625, 0.70745849609375, 0.9825592041015625, 0.890045166015625, 0.13507080078125, 0.928497314453125, 0.901702880859375, 0.9162139892578125, 0.0065155029296875, 0.4442291259765625, 0.185150146484375, 0.46356201171875, 0.45037841796875, 0.3295745849609375, 0.143280029296875, 0.7801971435546875, 0.0819244384765625, 0.5267791748046875, 0.783782958984375, 0.792816162109375, 0.1023712158203125, 0.3269805908203125, 0.5729827880859375, 0.6617431640625, 0.771392822265625, 0.3050537109375, 0.38104248046875, 0.30352783203125, 0.5564727783203125, 0.91162109375, 0.6506805419921875, 0.082122802734375, 0.13153076171875, 0.042327880859375, 0.657623291015625, 0.4163818359375, 0.686431884765625, 0.7469024658203125, 0.041473388671875, 0.429962158203125, 0.884368896484375, 0.2883453369140625, 0.5283660888671875, 0.2146759033203125, 0.69342041015625, 0.3167724609375, 0.045867919921875, 0.1221923828125, 0.621063232421875, 0.570159912109375, 0.23065185546875, 0.5937957763671875, 0.7588958740234375, 0.6717987060546875, 0.2762908935546875, 0.458526611328125, 0.9841766357421875, 0.247467041015625, 0.75640869140625, 0.58856201171875, 0.397125244140625, 0.94732666015625, 0.801666259765625, 0.2010345458984375, 0.087890625, 0.2804412841796875, 0.654571533203125, 0.7648468017578125, 0.8631439208984375, 0.9747161865234375, 0.8099822998046875, 0.319671630859375, 0.1810760498046875, 0.43133544921875, 0.8966827392578125, 0.0760040283203125, 0.5518035888671875, 0.250274658203125, 0.4520263671875, 0.3155670166015625, 0.6144561767578125, 0.395843505859375, 0.9656829833984375, 0.501007080078125, 0.045013427734375, 0.752899169921875, 0.7918548583984375, 0.6984100341796875, 0.4592742919921875, 0.6018524169921875, 0.744873046875, 0.6845855712890625, 0.0372467041015625, 0.400665283203125, 0.2456512451171875, 0.5417022705078125, 0.8555145263671875, 0.376922607421875, 0.9441986083984375, 0.2762603759765625, 0.0724029541015625, 0.4644622802734375, 0.8107452392578125, 0.3199310302734375, 0.191497802734375, 0.3044281005859375, 0.3510589599609375, 0.7241058349609375, 0.0816497802734375, 0.0566253662109375, 0.0115509033203125, 0.913238525390625, 0.22674560546875, 0.2908935546875, 0.464630126953125, 0.4146575927734375, 0.964324951171875, 0.892669677734375, 0.4988250732421875, 0.8456573486328125, 0.481842041015625, 0.691436767578125, 0.4098968505859375, 0.0792694091796875, 0.468353271484375, 0.9198455810546875, 0.3175506591796875, 0.990478515625, 0.5607147216796875, 0.23248291015625, 0.2073516845703125, 0.990875244140625, 0.7249755859375, 0.16607666015625, 0.23876953125, 0.358489990234375, 0.3760986328125, 0.401702880859375, 0.4475250244140625, 0.3972930908203125, 0.7164154052734375, 0.6896209716796875, 0.0567169189453125, 0.219940185546875, 0.7887115478515625, 0.2811279296875, 0.1563873291015625, 0.2376861572265625, 0.3460540771484375, 0.6490325927734375, 0.32080078125, 0.5634765625, 0.719207763671875, 0.60565185546875, 0.743438720703125, 0.9447479248046875, 0.8273162841796875, 0.6928863525390625, 0.4370880126953125, 0.463531494140625, 0.5225830078125, 0.694793701171875, 0.691619873046875, 0.6576385498046875, 0.35443115234375, 0.576416015625, 0.4086761474609375, 0.7477264404296875, 0.620452880859375, 0.1699981689453125, 0.9536895751953125, 0.822235107421875, 0.7833709716796875, 0.4892578125, 0.0164947509765625, 0.16009521484375, 0.287933349609375, 0.8559112548828125, 0.1638946533203125, 0.8684539794921875, 0.513458251953125, 0.1306610107421875, 0.61871337890625, 0.0694122314453125, 0.29925537109375, 0.9102935791015625, 0.5772857666015625, 0.25079345703125, 0.42596435546875, 0.2066192626953125, 0.6065521240234375, 0.2464599609375, 0.6566925048828125, 0.098663330078125, 0.03570556640625, 0.587005615234375, 0.50616455078125, 0.6963043212890625, 0.071868896484375, 0.961456298828125, 0.0548095703125, 0.8783111572265625, 0.603790283203125, 0.1782379150390625, 0.10455322265625, 0.9946746826171875, 0.0713958740234375, 0.4650726318359375, 0.4245147705078125, 0.675811767578125, 0.3166961669921875, 0.3035430908203125, 0.4980010986328125, 0.3682708740234375, 0.7528533935546875, 0.05096435546875, 0.3957366943359375, 0.1844024658203125, 0.6883697509765625, 0.970550537109375, 0.885711669921875, 0.24932861328125, 0.708343505859375, 0.82989501953125, 0.07440185546875, 0.8727874755859375, 0.0223388671875, 0.6694183349609375, 0.3634796142578125, 0.1860809326171875, 0.97283935546875, 0.7688446044921875, 0.30291748046875, 0.3420562744140625, 0.625457763671875, 0.83074951171875, 0.3316192626953125, 0.104705810546875, 0.554351806640625, 0.6182861328125, 0.5863189697265625, 0.9404754638671875, 0.600921630859375, 0.5099029541015625, 0.834808349609375, 0.3902130126953125, 0.54144287109375, 0.73370361328125, 0.7198028564453125, 0.5751800537109375, 0.07989501953125, 0.2602081298828125, 0.6295318603515625, 0.614990234375, 0.7142181396484375, 0.94891357421875, 0.9640350341796875, 0.8423004150390625, 0.1264801025390625, 0.4615325927734375, 0.506103515625, 0.0961151123046875, 0.63525390625, 0.2354278564453125, 0.0304412841796875, 0.417755126953125, 0.4660186767578125, 0.6589508056640625, 0.366363525390625, 0.95660400390625, 0.4996337890625, 0.3268890380859375, 0.81561279296875, 0.6268310546875, 0.9619903564453125, 0.2531585693359375, 0.131866455078125, 0.875244140625, 0.926513671875, 0.2870330810546875, 0.339630126953125, 0.7590179443359375, 0.89874267578125, 0.31005859375, 0.672821044921875, 0.507598876953125, 0.7626190185546875, 0.8990478515625, 0.3095703125, 0.2405242919921875, 0.1863250732421875, 0.181671142578125, 0.896270751953125, 0.3289031982421875, 0.375213623046875, 0.223480224609375, 0.447479248046875, 0.297698974609375, 0.446807861328125, 0.2703704833984375, 0.25531005859375, 0.0858001708984375, 0.0028076171875, 0.029205322265625, 0.3878326416015625, 0.961334228515625, 0.1519317626953125, 0.2769012451171875, 0.360992431640625, 0.538909912109375, 0.5910797119140625, 0.390045166015625, 0.29071044921875, 0.198455810546875, 0.172271728515625, 0.108154296875, 0.0704498291015625, 0.293212890625, 0.877593994140625, 0.9729461669921875, 0.294830322265625, 0.56658935546875, 0.6795501708984375, 0.158233642578125, 0.107330322265625, 0.732452392578125, 0.29461669921875, 0.195343017578125, 0.6192626953125, 0.01898193359375, 0.5374298095703125, 0.9533233642578125, 0.1785736083984375, 0.69451904296875, 0.261749267578125, 0.862152099609375, 0.8019561767578125, 0.6108551025390625, 0.4565277099609375, 0.0475311279296875, 0.552520751953125, 0.0237274169921875, 0.2363128662109375, 0.3372344970703125, 0.586578369140625, 0.653289794921875, 0.871612548828125, 0.92156982421875, 0.217681884765625, 0.045013427734375, 0.695770263671875, 0.6055450439453125, 0.5560150146484375, 0.7656097412109375, 0.0614013671875, 0.0413360595703125, 0.2996826171875, 0.4647674560546875, 0.4686737060546875, 0.80560302734375, 0.5065765380859375, 0.84429931640625, 0.2431488037109375, 0.2913360595703125, 0.42681884765625, 0.69671630859375, 0.41827392578125, 0.202178955078125, 0.925994873046875, 0.3211669921875, 0.314453125, 0.3390350341796875, 0.7353668212890625, 0.1383819580078125, 0.3474578857421875, 0.7942657470703125, 0.7715606689453125, 0.1650848388671875, 0.240447998046875, 0.37872314453125, 0.6431732177734375, 0.983642578125, 0.2894439697265625, 0.402313232421875, 0.212066650390625, 0.6031951904296875, 0.4307098388671875, 0.9213104248046875, 0.19183349609375, 0.175018310546875, 0.9777984619140625, 0.109161376953125, 0.383148193359375, 0.2515869140625, 0.3070068359375, 0.863006591796875, 0.0666656494140625, 0.59716796875, 0.03082275390625, 0.7093353271484375, 0.3583221435546875, 0.4852752685546875, 0.4907989501953125, 0.608856201171875, 0.41851806640625, 0.5324859619140625, 0.433868408203125, 0.56561279296875, 0.6842498779296875, 0.7099761962890625, 0.959228515625, 0.3902587890625, 0.1300506591796875, 0.301361083984375, 0.62493896484375, 0.7912139892578125, 0.1471710205078125, 0.9093475341796875, 0.4399261474609375, 0.22674560546875, 0.9673004150390625, 0.5471649169921875, 0.9680023193359375, 0.3854827880859375, 0.8048095703125, 0.85064697265625, 0.0405731201171875, 0.3460235595703125, 0.4576263427734375, 0.205810546875, 0.6198272705078125, 0.07403564453125, 0.381317138671875, 0.25250244140625, 0.118377685546875, 0.90020751953125, 0.1185302734375, 0.65045166015625, 0.58306884765625, 0.5953826904296875, 0.2165679931640625, 0.46795654296875, 0.4545745849609375, 0.5967559814453125, 0.449371337890625, 0.5705108642578125, 0.617889404296875, 0.8671112060546875, 0.302093505859375, 0.6483612060546875, 0.3594512939453125, 0.25006103515625, 0.4185943603515625, 0.4347991943359375, 0.0682220458984375, 0.61181640625, 0.6988525390625, 0.1550140380859375, 0.5823516845703125, 0.535797119140625, 0.577178955078125, 0.9351654052734375, 0.1064910888671875, 0.633575439453125, 0.03826904296875, 0.6304168701171875, 0.333953857421875, 0.6087799072265625, 0.5084991455078125, 0.2162017822265625, 0.629730224609375, 0.5624237060546875, 0.316925048828125, 0.7236328125, 0.60382080078125, 0.343017578125, 0.6181793212890625, 0.1904754638671875, 0.38995361328125, 0.3059844970703125, 0.1281585693359375, 0.0001373291015625, 0.4470977783203125, 0.8992462158203125, 0.1949920654296875, 0.393646240234375, 0.515380859375, 0.3507537841796875, 0.67315673828125, 0.8999786376953125, 0.1284027099609375, 0.1380462646484375, 0.616302490234375, 0.356903076171875, 0.3210906982421875, 0.05291748046875, 0.6297760009765625, 0.5201416015625, 0.2047119140625, 0.4578704833984375, 0.0537261962890625, 0.7295379638671875, 0.167022705078125, 0.612640380859375, 0.810882568359375, 0.901519775390625, 0.795135498046875, 0.1426849365234375, 0.029510498046875, 0.73724365234375, 0.3623199462890625, 0.5436248779296875, 0.6096343994140625, 0.6146392822265625, 0.6298828125, 0.1515350341796875, 0.12939453125, 0.59307861328125, 0.76971435546875, 0.2322845458984375, 0.8382415771484375, 0.074798583984375, 0.1934967041015625, 0.652679443359375, 0.671661376953125, 0.0217132568359375, 0.244384765625, 0.9351348876953125, 0.611053466796875, 0.0509490966796875, 0.8542633056640625, 0.798614501953125, 0.93304443359375, 0.61669921875, 0.0243988037109375, 0.7435302734375, 0.9984283447265625, 0.300628662109375, 0.0539703369140625, 0.74273681640625, 0.7396392822265625, 0.289276123046875, 0.1727447509765625, 0.205657958984375, 0.46661376953125, 0.513946533203125, 0.8016357421875, 0.485443115234375, 0.6769866943359375, 0.9013214111328125, 0.803985595703125, 0.17779541015625, 0.212005615234375, 0.4092254638671875, 0.1016845703125, 0.73602294921875, 0.7036590576171875, 0.1221466064453125, 0.653228759765625, 0.291229248046875, 0.6166229248046875, 0.37811279296875, 0.0137786865234375, 0.02325439453125, 0.4197540283203125, 0.175567626953125, 0.31805419921875, 0.8073272705078125, 0.357635498046875, 0.445343017578125, 0.450531005859375, 0.4001007080078125, 0.1168365478515625, 0.2626800537109375, 0.7467498779296875, 0.2083740234375, 0.9524688720703125, 0.1773529052734375, 0.2597503662109375, 0.1772613525390625, 0.6483154296875, 0.775177001953125, 0.3861541748046875, 0.016265869140625, 0.9871826171875, 0.9624481201171875, 0.709014892578125, 0.9409027099609375, 0.901397705078125, 0.5997772216796875, 0.94708251953125, 0.4029388427734375, 0.4820404052734375, 0.61663818359375, 0.638946533203125, 0.923126220703125, 0.52203369140625, 0.1231536865234375, 0.7337493896484375, 0.7224578857421875, 0.391357421875, 0.719696044921875, 0.2923736572265625, 0.592559814453125, 0.4925994873046875, 0.0285491943359375, 0.0413665771484375, 0.252777099609375, 0.3252716064453125, 0.4817657470703125, 0.1519317626953125, 0.075347900390625, 0.2671051025390625, 0.4571990966796875, 0.402923583984375, 0.015380859375, 0.3210296630859375, 0.872802734375, 0.7534942626953125, 0.8505401611328125, 0.3130340576171875, 0.186309814453125, 0.03216552734375, 0.9176788330078125, 0.8488311767578125, 0.1260986328125, 0.9917144775390625, 0.62249755859375, 0.2446746826171875, 0.2446441650390625, 0.94598388671875, 0.4141998291015625, 0.866180419921875, 0.8464508056640625, 0.7694854736328125, 0.649169921875, 0.788299560546875, 0.5241241455078125, 0.838714599609375, 0.457489013671875, 0.2398529052734375, 0.143035888671875, 0.104278564453125, 0.2483367919921875, 0.274993896484375, 0.487701416015625, 0.0427093505859375, 0.7330169677734375, 0.282806396484375, 0.563079833984375, 0.792144775390625, 0.6302947998046875, 0.2402191162109375, 0.1697998046875, 0.497528076171875, 0.78631591796875, 0.2052459716796875, 0.0931854248046875, 0.29119873046875, 0.89324951171875, 0.436004638671875, 0.6730194091796875, 0.377166748046875, 0.6074066162109375, 0.9964141845703125, 0.8692779541015625, 0.4351959228515625, 0.2942962646484375, 0.747039794921875, 0.066986083984375, 0.3940582275390625, 0.909698486328125, 0.375030517578125, 0.61419677734375, 0.345947265625, 0.131561279296875, 0.95849609375, 0.136688232421875, 0.8425750732421875, 0.9000091552734375, 0.0094757080078125, 0.019317626953125, 0.9636383056640625, 0.3020477294921875, 0.59466552734375, 0.708343505859375, 0.3116455078125, 0.407470703125, 0.6315155029296875, 0.020233154296875, 0.5655364990234375, 0.901763916015625, 0.5229034423828125, 0.26556396484375, 0.006927490234375, 0.902069091796875, 0.406463623046875, 0.8054351806640625, 0.2801055908203125, 0.75537109375, 0.38104248046875, 0.79107666015625, 0.3719482421875, 0.8012847900390625, 0.3835296630859375, 0.72509765625, 0.7445831298828125, 0.3534393310546875, 0.856292724609375, 0.833709716796875, 0.5663299560546875, 0.4468994140625, 0.6208648681640625, 0.023895263671875, 0.6057281494140625, 0.5600433349609375, 0.0789642333984375, 0.0987396240234375, 0.0887603759765625, 0.4132537841796875, 0.126708984375, 0.2982635498046875, 0.740264892578125, 0.04083251953125, 0.6378326416015625, 0.208343505859375, 0.0693359375, 0.4859466552734375, 0.7411041259765625, 0.284698486328125, 0.1217041015625, 0.2161102294921875, 0.5080413818359375, 0.55133056640625, 0.4150390625, 0.3528594970703125, 0.8799591064453125, 0.40679931640625, 0.8789215087890625, 0.0053253173828125, 0.873748779296875, 0.2706451416015625, 0.917816162109375, 0.960723876953125, 0.7670135498046875, 0.298095703125, 0.06671142578125, 0.7714691162109375, 0.6538238525390625, 0.8994598388671875, 0.61834716796875, 0.3577117919921875, 0.901153564453125, 0.5258941650390625, 0.89825439453125, 0.49871826171875, 0.8152618408203125, 0.0884857177734375, 0.705291748046875, 0.3939208984375, 0.25531005859375, 0.976715087890625, 0.717041015625, 0.5272369384765625, 0.37359619140625, 0.3057403564453125, 0.3435211181640625, 0.9195404052734375, 0.86602783203125, 0.6294708251953125, 0.8546905517578125, 0.10968017578125, 0.5522003173828125, 0.4503173828125, 0.7324676513671875, 0.89263916015625, 0.8950653076171875, 0.60943603515625, 0.2701416015625, 0.0913543701171875, 0.8844451904296875, 0.6367034912109375, 0.3492431640625, 0.8215789794921875, 0.482086181640625, 0.6734771728515625, 0.3602294921875, 0.5667877197265625, 0.6839141845703125, 0.3507080078125, 0.250030517578125, 0.407806396484375, 0.6950225830078125, 0.9173736572265625, 0.7509765625, 0.400360107421875, 0.562530517578125, 0.373809814453125, 0.9532318115234375, 0.925750732421875, 0.8787384033203125, 0.679473876953125, 0.2407684326171875, 0.2513275146484375, 0.22479248046875, 0.8688507080078125, 0.3182373046875, 0.4113311767578125, 0.8759307861328125, 0.1265411376953125, 0.08697509765625, 0.969024658203125, 0.78594970703125, 0.589874267578125, 0.8535003662109375, 0.0005950927734375, 0.87420654296875, 0.1706085205078125, 0.314971923828125, 0.9012451171875, 0.31512451171875, 0.67791748046875, 0.89337158203125, 0.737701416015625, 0.262542724609375, 0.8330230712890625, 0.51287841796875, 0.124786376953125, 0.178924560546875, 0.7064666748046875, 0.0088958740234375, 0.856170654296875, 0.7469482421875, 0.726776123046875, 0.172607421875, 0.0101165771484375, 0.3604583740234375, 0.669464111328125, 0.10003662109375, 0.524139404296875, 0.8628082275390625, 0.8007354736328125, 0.426483154296875, 0.9882965087890625, 0.0271453857421875, 0.3855438232421875, 0.4046630859375, 0.7861480712890625, 0.7077484130859375, 0.9994049072265625, 0.6798553466796875, 0.23016357421875, 0.7295989990234375, 0.206756591796875, 0.5382537841796875, 0.6206207275390625, 0.54681396484375, 0.2667999267578125, 0.0048675537109375, 0.36248779296875, 0.441650390625, 0.0811004638671875, 0.1106109619140625, 0.8355255126953125, 0.786041259765625, 0.6363067626953125, 0.6647796630859375, 0.2250213623046875, 0.3866424560546875, 0.877105712890625, 0.2110748291015625, 0.8056793212890625, 0.08837890625, 0.6553955078125, 0.4548492431640625, 0.1515350341796875, 0.964599609375, 0.980560302734375, 0.7349853515625, 0.3847503662109375, 0.02117919921875, 0.5147247314453125, 0.5001220703125, 0.0649566650390625, 0.7366180419921875, 0.5205535888671875, 0.8872222900390625, 0.4248504638671875, 0.026397705078125, 0.60626220703125, 0.8337860107421875, 0.5869598388671875, 0.139007568359375, 0.7353363037109375, 0.358184814453125, 0.6621246337890625, 0.5276031494140625, 0.137481689453125, 0.76904296875, 0.84637451171875, 0.7052764892578125, 0.3620147705078125, 0.6304473876953125, 0.6837615966796875, 0.3376007080078125, 0.3961334228515625, 0.779815673828125, 0.543365478515625, 0.8554534912109375, 0.3842010498046875, 0.26141357421875, 0.2270355224609375, 0.5279541015625, 0.93292236328125, 0.030609130859375, 0.279052734375, 0.59033203125, 0.4941253662109375, 0.9542388916015625, 0.12030029296875, 0.734771728515625, 0.9056854248046875, 0.247314453125, 0.81268310546875, 0.077667236328125, 0.0259246826171875, 0.830841064453125, 0.308746337890625, 0.221588134765625, 0.4514007568359375, 0.5196075439453125, 0.087646484375, 0.7103424072265625, 0.241363525390625, 0.3100738525390625, 0.794586181640625, 0.6519775390625, 0.7357940673828125, 0.903411865234375, 0.6876220703125, 0.36541748046875, 0.224578857421875, 0.6153106689453125, 0.5723724365234375, 0.1565093994140625, 0.9613494873046875, 0.2593231201171875, 0.7447662353515625, 0.3853912353515625, 0.9016571044921875, 0.221435546875, 0.7968902587890625, 0.075439453125, 0.623291015625, 0.5486602783203125, 0.815826416015625, 0.7630615234375, 0.5592498779296875, 0.4193115234375, 0.545501708984375, 0.772674560546875, 0.814727783203125, 0.5602569580078125, 0.3445587158203125, 0.3557891845703125, 0.4367523193359375, 0.2372589111328125, 0.7934112548828125, 0.3498687744140625, 0.57562255859375, 0.160797119140625, 0.46826171875, 0.78802490234375, 0.04205322265625, 0.8278045654296875, 0.7494964599609375, 0.6482391357421875, 0.4878082275390625, 0.9429473876953125, 0.255523681640625, 0.8111114501953125, 0.8340911865234375, 0.2136383056640625, 0.051727294921875, 0.9553375244140625, 0.41961669921875, 0.946014404296875, 0.6283416748046875, 0.427520751953125, 0.401092529296875, 0.2886962890625, 0.0410614013671875, 0.64752197265625, 0.329559326171875, 0.6291351318359375, 0.0825042724609375, 0.420928955078125, 0.4944000244140625, 0.0317230224609375, 0.0697479248046875, 0.2862396240234375, 0.815948486328125, 0.128570556640625, 0.5872344970703125, 0.6448974609375, 0.2198944091796875, 0.9625701904296875, 0.001190185546875, 0.9891815185546875, 0.004150390625, 0.7805328369140625, 0.558837890625, 0.07183837890625, 0.5006256103515625, 0.091705322265625, 0.7686004638671875, 0.3305511474609375, 0.8937835693359375, 0.8614501953125, 0.9435577392578125, 0.7257232666015625, 0.433197021484375, 0.8746337890625, 0.7446136474609375, 0.8990020751953125, 0.6083831787109375, 0.5605926513671875, 0.2058258056640625, 0.5820159912109375, 0.195770263671875, 0.8277130126953125, 0.525238037109375, 0.1199951171875, 0.593902587890625, 0.1304931640625, 0.01953125, 0.5789642333984375, 0.365081787109375, 0.3896484375, 0.8425750732421875, 0.8580474853515625, 0.1187744140625, 0.981842041015625, 0.67755126953125, 0.1799774169921875, 0.7744293212890625, 0.0454254150390625, 0.67608642578125, 0.3311004638671875, 0.5469818115234375, 0.3535308837890625, 0.982940673828125, 0.4522857666015625, 0.9908599853515625, 0.2579498291015625, 0.781982421875, 0.01678466796875, 0.487823486328125, 0.8756256103515625, 0.2739105224609375, 0.8068084716796875, 0.7329559326171875, 0.2096710205078125, 0.942535400390625, 0.4551239013671875, 0.620635986328125, 0.1748809814453125, 0.048858642578125, 0.622802734375, 0.0959625244140625, 0.449615478515625, 0.7968292236328125, 0.4583282470703125, 0.542327880859375, 0.2752685546875, 0.39471435546875, 0.4689483642578125, 0.2268829345703125, 0.2637176513671875, 0.27398681640625, 0.5571136474609375, 0.7524261474609375, 0.5406646728515625, 0.2422332763671875, 0.74688720703125, 0.8703460693359375, 0.0378570556640625, 0.4134674072265625, 0.0493011474609375, 0.0906524658203125, 0.2324371337890625, 0.0857391357421875, 0.0268402099609375, 0.5543060302734375, 0.2174224853515625, 0.080535888671875, 0.218994140625, 0.6833038330078125, 0.6077880859375, 0.0933074951171875, 0.3862762451171875, 0.3110809326171875, 0.186004638671875, 0.2832794189453125, 0.16485595703125, 0.6540985107421875, 0.4955596923828125, 0.4620819091796875, 0.331329345703125, 0.05987548828125, 0.161529541015625, 0.5548553466796875, 0.644439697265625, 0.5511474609375, 0.5022125244140625, 0.385162353515625, 0.8719635009765625, 0.37744140625, 0.4439544677734375, 0.2264251708984375, 0.226104736328125, 0.1737213134765625, 0.765533447265625, 0.7919464111328125, 0.002532958984375, 0.18994140625, 0.0511322021484375, 0.2387847900390625, 0.253692626953125, 0.816162109375, 0.33184814453125, 0.525604248046875, 0.993133544921875, 0.84716796875, 0.912017822265625, 0.756134033203125, 0.501312255859375, 0.7700653076171875, 0.6414947509765625, 0.36737060546875, 0.1670074462890625, 0.9806365966796875, 0.2129058837890625, 0.5376129150390625, 0.0909271240234375, 0.7803192138671875, 0.0752105712890625, 0.089935302734375, 0.3147125244140625, 0.6408843994140625, 0.9634857177734375, 0.5982208251953125, 0.989501953125, 0.05120849609375, 0.389007568359375, 0.00384521484375, 0.0325164794921875, 0.5961761474609375, 0.437103271484375, 0.8225250244140625, 0.786285400390625, 0.2205810546875, 0.8988037109375, 0.2269744873046875, 0.1461944580078125, 0.8458709716796875, 0.63824462890625, 0.3747100830078125, 0.5235137939453125, 0.6452178955078125, 0.2999114990234375, 0.722686767578125, 0.0596771240234375, 0.2203369140625, 0.0490570068359375, 0.91314697265625, 0.164306640625, 0.005401611328125, 0.334228515625, 0.4142303466796875, 0.4377593994140625, 0.832763671875, 0.3409271240234375, 0.0479583740234375, 0.380340576171875, 0.19775390625, 0.0542144775390625, 0.6609344482421875, 0.450927734375, 0.1901092529296875, 0.5523223876953125, 0.325103759765625, 0.564300537109375, 0.3445281982421875, 0.39556884765625, 0.6141815185546875, 0.764404296875, 0.2842254638671875, 0.6296539306640625, 0.47119140625, 0.968048095703125, 0.552459716796875, 0.3044281005859375, 0.568634033203125, 0.1140899658203125, 0.0821380615234375, 0.2759857177734375, 0.037109375, 0.0609130859375, 0.051483154296875, 0.340850830078125, 0.9651947021484375, 0.41143798828125, 0.4769287109375, 0.4658050537109375, 0.81915283203125, 0.301116943359375, 0.4214324951171875, 0.5032958984375, 0.534454345703125, 0.9585723876953125, 0.79193115234375, 0.466888427734375, 0.23736572265625, 0.0404510498046875, 0.6764068603515625, 0.894744873046875, 0.6767120361328125, 0.4698486328125, 0.7527008056640625, 0.5291748046875, 0.564971923828125, 0.1111297607421875, 0.007904052734375, 0.58099365234375, 0.011383056640625, 0.8983917236328125, 0.468536376953125, 0.6949462890625, 0.234405517578125, 0.024810791015625, 0.079010009765625, 0.4087066650390625, 0.6734161376953125, 0.4782867431640625, 0.4343109130859375, 0.1136474609375, 0.384765625, 0.737213134765625, 0.4120330810546875, 0.986236572265625, 0.9575347900390625, 0.3858184814453125, 0.1033935546875, 0.0153350830078125, 0.1778564453125, 0.92181396484375, 0.03851318359375, 0.55303955078125, 0.304229736328125, 0.44342041015625, 0.5443267822265625, 0.966644287109375, 0.6281890869140625, 0.5753631591796875, 0.223846435546875, 0.3358917236328125, 0.8336334228515625, 0.09033203125, 0.2757110595703125, 0.1942291259765625, 0.26910400390625, 0.079437255859375, 0.4928436279296875, 0.15692138671875, 0.4134368896484375, 0.07891845703125, 0.1319732666015625, 0.2955322265625, 0.38165283203125, 0.088592529296875, 0.2045135498046875, 0.8669891357421875, 0.1229248046875, 0.5870513916015625, 0.055877685546875, 0.11334228515625, 0.6657562255859375, 0.6021728515625, 0.365692138671875, 0.7041778564453125, 0.9437408447265625, 0.9631500244140625, 0.0463409423828125, 0.13616943359375, 0.126861572265625, 0.6978302001953125, 0.5162353515625, 0.4042510986328125, 0.838470458984375, 0.614288330078125, 0.3673248291015625, 0.764739990234375, 0.7222900390625, 0.270782470703125, 0.6141357421875, 0.080169677734375, 0.3641204833984375, 0.135009765625, 0.3615570068359375, 0.0397186279296875, 0.9327545166015625, 0.5010833740234375, 0.0967254638671875, 0.18707275390625, 0.5285797119140625, 0.3883819580078125, 0.5933990478515625, 0.6379852294921875, 0.069244384765625, 0.6580963134765625, 0.43243408203125, 0.8311614990234375, 0.9813232421875, 0.4648284912109375, 0.6024627685546875, 0.8551025390625, 0.6248321533203125, 0.16326904296875, 0.8386077880859375, 0.2042083740234375, 0.423004150390625, 0.1357879638671875, 0.3705596923828125, 0.14141845703125, 0.625274658203125, 0.9871368408203125, 0.79339599609375, 0.66070556640625, 0.0445404052734375, 0.94970703125, 0.9432830810546875, 0.6555328369140625, 0.7437896728515625, 0.5298004150390625, 0.43280029296875, 0.0745697021484375, 0.7908477783203125, 0.2771453857421875, 0.3009490966796875, 0.0054473876953125, 0.431427001953125, 0.77947998046875, 0.765625, 0.187469482421875, 0.9274444580078125, 0.4971466064453125, 0.9899139404296875, 0.5894927978515625, 0.696746826171875, 0.0023193359375, 0.9530792236328125, 0.36285400390625, 0.2687835693359375, 0.4443359375, 0.2386016845703125, 0.4356231689453125, 0.179473876953125, 0.48590087890625, 0.1280670166015625, 0.331878662109375, 0.242584228515625, 0.91156005859375, 0.570037841796875, 0.94232177734375, 0.1808319091796875, 0.4018096923828125, 0.8839111328125, 0.0143890380859375, 0.6118011474609375, 0.34454345703125, 0.522247314453125, 0.3994140625, 0.6376800537109375, 0.9459228515625, 0.554107666015625, 0.2802734375, 0.861663818359375, 0.5845489501953125, 0.7794036865234375, 0.28668212890625, 0.3943328857421875, 0.4767303466796875, 0.2711029052734375, 0.480133056640625, 0.39501953125, 0.546661376953125, 0.4403076171875, 0.213104248046875, 0.7119293212890625, 0.0733795166015625, 0.248046875, 0.7579498291015625, 0.235870361328125, 0.687744140625, 0.251708984375, 0.4116973876953125, 0.33453369140625, 0.4208221435546875, 0.4604034423828125, 0.3247528076171875, 0.572296142578125, 0.9534912109375, 0.71636962890625, 0.679840087890625, 0.3494415283203125, 0.711517333984375, 0.9828033447265625, 0.3472442626953125, 0.2989959716796875, 0.641143798828125, 0.5055389404296875, 0.4501190185546875, 0.2679595947265625, 0.090728759765625, 0.111724853515625, 0.54315185546875, 0.6039581298828125, 0.175689697265625, 0.363433837890625, 0.998992919921875, 0.597381591796875, 0.5804901123046875, 0.67279052734375, 0.955596923828125, 0.871856689453125, 0.500091552734375, 0.4102325439453125, 0.5629119873046875, 0.9950103759765625, 0.664093017578125, 0.141815185546875, 0.064422607421875, 0.773223876953125, 0.5983734130859375, 0.5971832275390625, 0.5017852783203125, 0.59765625, 0.2127227783203125, 0.2849884033203125, 0.6318359375, 0.3566741943359375, 0.3485260009765625, 0.8492431640625, 0.4137420654296875, 0.065185546875, 0.238311767578125, 0.1973419189453125, 0.712371826171875, 0.5831146240234375, 0.438018798828125, 0.35736083984375, 0.0203704833984375, 0.47222900390625, 0.9222564697265625, 0.6522369384765625, 0.0487213134765625, 0.6264495849609375, 0.2453765869140625, 0.0592803955078125, 0.39239501953125, 0.5263519287109375, 0.1498870849609375, 0.066650390625, 0.8824310302734375, 0.205963134765625, 0.85821533203125, 0.389129638671875, 0.324371337890625, 0.4207916259765625, 0.8279266357421875, 0.974822998046875, 0.1263427734375, 0.39056396484375, 0.4260711669921875, 0.1077117919921875, 0.6980743408203125, 0.9904022216796875, 0.8031768798828125, 0.406707763671875, 0.158294677734375, 0.31146240234375, 0.0089569091796875, 0.0756072998046875, 0.604095458984375, 0.027801513671875, 0.9256134033203125, 0.9405670166015625, 0.8082122802734375, 0.8295745849609375, 0.053863525390625, 0.8726806640625, 0.1437225341796875, 0.9892578125, 0.5121917724609375, 0.3264007568359375, 0.32977294921875, 0.279266357421875, 0.7969818115234375, 0.57208251953125, 0.477081298828125, 0.4076385498046875, 0.3523406982421875, 0.2420196533203125, 0.2284698486328125, 0.7322998046875, 0.418731689453125, 0.864227294921875, 0.6103363037109375, 0.674591064453125, 0.7380523681640625, 0.6570587158203125, 0.7659454345703125, 0.6027984619140625, 0.7613983154296875, 0.5735931396484375, 0.1735687255859375, 0.45928955078125, 0.93438720703125, 0.7675628662109375, 0.7257537841796875, 0.3278656005859375, 0.57940673828125, 0.271453857421875, 0.0185089111328125, 0.6805267333984375, 0.6209259033203125, 0.527801513671875, 0.281524658203125, 0.4361572265625, 0.5986175537109375, 0.375244140625, 0.7198944091796875, 0.962860107421875, 0.8526611328125, 0.8980560302734375, 0.786163330078125, 0.12939453125, 0.3791961669921875, 0.2652435302734375, 0.445220947265625, 0.7393951416015625, 0.38037109375, 0.7918853759765625, 0.959075927734375, 0.921234130859375, 0.9931182861328125, 0.250091552734375, 0.5694580078125, 0.144866943359375, 0.7405242919921875, 0.4556732177734375, 0.7003326416015625, 0.2498016357421875, 0.2945098876953125, 0.012054443359375, 0.5490570068359375, 0.0868682861328125, 0.6090240478515625, 0.9452667236328125, 0.7158203125, 0.23846435546875, 0.3277435302734375, 0.8613739013671875, 0.5951080322265625, 0.72625732421875, 0.17706298828125, 0.610321044921875, 0.0546722412109375, 0.337188720703125, 0.060943603515625, 0.7053070068359375, 0.8034820556640625, 0.23089599609375, 0.9304351806640625, 0.3011474609375, 0.704742431640625, 0.88330078125, 0.2588348388671875, 0.7821807861328125, 0.3432769775390625, 0.7507171630859375, 0.273193359375, 0.4519805908203125, 0.187744140625, 0.3517608642578125, 0.936859130859375, 0.1084747314453125, 0.6883697509765625, 0.471923828125, 0.9758148193359375, 0.5691986083984375, 0.48809814453125, 0.274932861328125, 0.432525634765625, 0.264068603515625, 0.4278564453125, 0.6576995849609375, 0.0319366455078125, 0.7666168212890625, 0.0874481201171875, 0.1137847900390625, 0.653106689453125, 0.6005706787109375, 0.011627197265625, 0.95330810546875, 0.2781524658203125, 0.2584075927734375, 0.2091064453125, 0.2392578125, 0.157562255859375, 0.1438751220703125, 0.678619384765625, 0.8601226806640625, 0.2538299560546875, 0.0061187744140625, 0.4438629150390625, 0.200042724609375, 0.184844970703125, 0.1058807373046875, 0.5915985107421875, 0.938201904296875, 0.509246826171875, 0.931243896484375, 0.048614501953125, 0.4651641845703125, 0.0529632568359375, 0.2782745361328125, 0.562713623046875, 0.3653717041015625, 0.8904266357421875, 0.983917236328125, 0.805999755859375, 0.7712860107421875, 0.92462158203125, 0.4029693603515625, 0.415771484375, 0.025909423828125, 0.0209503173828125, 0.87908935546875, 0.8824462890625, 0.0517730712890625, 0.68841552734375, 0.3045806884765625, 0.6199493408203125, 0.2069549560546875, 0.57275390625, 0.986419677734375, 0.6556243896484375, 0.2758026123046875, 0.07977294921875, 0.5337982177734375, 0.9074859619140625, 0.82904052734375, 0.847198486328125, 0.263946533203125, 0.279052734375, 0.462249755859375, 0.2928314208984375, 0.1322021484375, 0.771820068359375, 0.1585845947265625, 0.453643798828125, 0.114166259765625, 0.3181304931640625, 0.482574462890625, 0.8062591552734375, 0.22705078125, 0.7176361083984375, 0.8428955078125, 0.5092926025390625, 0.3117828369140625, 0.5111846923828125, 0.895904541015625, 0.5136566162109375, 0.335052490234375, 0.1816253662109375, 0.151824951171875, 0.0065765380859375, 0.736968994140625, 0.8946380615234375, 0.8851318359375, 0.7364501953125, 0.497650146484375, 0.6810150146484375, 0.470367431640625, 0.25665283203125, 0.4341583251953125, 0.0576324462890625, 0.5679168701171875, 0.710906982421875, 0.1662445068359375, 0.9589691162109375, 0.2540130615234375, 0.9609832763671875, 0.125274658203125, 0.496429443359375, 0.093994140625, 0.7066650390625, 0.56298828125, 0.73291015625, 0.213836669921875, 0.710235595703125, 0.7140655517578125, 0.843536376953125, 0.224090576171875, 0.58367919921875, 0.3679046630859375, 0.2716064453125, 0.4532470703125, 0.138671875, 0.0568389892578125, 0.6796417236328125, 0.29998779296875, 0.048126220703125, 0.1608428955078125, 0.6422576904296875, 0.0960540771484375, 0.778106689453125, 0.1826019287109375, 0.283660888671875, 0.435882568359375, 0.2008209228515625, 0.231475830078125, 0.9096527099609375, 0.6865234375, 0.0800628662109375, 0.07159423828125, 0.9947052001953125, 0.8082122802734375, 0.7515716552734375, 0.7402191162109375, 0.025970458984375, 0.3443603515625, 0.8056182861328125, 0.04656982421875, 0.828338623046875, 0.45758056640625, 0.4367523193359375, 0.2799530029296875, 0.587066650390625, 0.8584747314453125, 0.2401275634765625, 0.5332489013671875, 0.3828887939453125, 0.643524169921875, 0.952239990234375, 0.754058837890625, 0.759124755859375, 0.769989013671875, 0.3360748291015625, 0.515411376953125, 0.3427581787109375, 0.902099609375, 0.174835205078125, 0.484283447265625, 0.791290283203125, 0.0705718994140625, 0.658966064453125, 0.8044891357421875, 0.784759521484375, 0.477569580078125, 0.5003814697265625, 0.3667144775390625, 0.35614013671875, 0.2843780517578125, 0.5318145751953125, 0.5330657958984375, 0.643951416015625, 0.8753662109375, 0.9626617431640625, 0.7215118408203125, 0.079742431640625, 0.12548828125, 0.8068084716796875, 0.9249725341796875, 0.6539764404296875, 0.194366455078125, 0.694427490234375, 0.5241546630859375, 0.4347076416015625, 0.2024993896484375, 0.9111175537109375, 0.72662353515625, 0.456451416015625, 0.6546173095703125, 0.4047393798828125, 0.8167724609375, 0.2452545166015625, 0.6677703857421875, 0.691864013671875, 0.49957275390625, 0.2506561279296875, 0.788818359375, 0.0854644775390625, 0.2266845703125, 0.3489227294921875, 0.0745086669921875, 0.9606781005859375, 0.789947509765625, 0.077392578125, 0.203338623046875, 0.8702545166015625, 0.167144775390625, 0.7051544189453125, 0.4223175048828125, 0.0472259521484375, 0.5048980712890625, 0.873260498046875, 0.0609588623046875, 0.807342529296875, 0.51641845703125, 0.3510589599609375, 0.475830078125, 0.1490020751953125, 0.011627197265625, 0.5937957763671875, 0.4024658203125, 0.88763427734375, 0.7313232421875, 0.7574615478515625, 0.013702392578125, 0.0717315673828125, 0.746185302734375, 0.8720245361328125, 0.6424560546875, 0.6656036376953125, 0.5528564453125, 0.789276123046875, 0.4091796875, 0.1304473876953125, 0.9107208251953125, 0.1888580322265625, 0.9633636474609375, 0.8766326904296875, 0.8972930908203125, 0.9150390625, 0.0909576416015625, 0.3635711669921875, 0.031402587890625, 0.8862762451171875, 0.7519378662109375, 0.26983642578125, 0.6156463623046875, 0.5707855224609375, 0.302001953125, 0.0529327392578125, 0.95379638671875, 0.8954925537109375, 0.6214141845703125, 0.0888214111328125, 0.031341552734375, 0.759063720703125, 0.7644805908203125, 0.36041259765625, 0.9366912841796875, 0.47607421875, 0.9085845947265625, 0.349212646484375, 0.9554595947265625, 0.1680908203125, 0.5186004638671875, 0.682769775390625, 0.8927764892578125, 0.8360137939453125, 0.518341064453125, 0.942352294921875, 0.83184814453125, 0.576751708984375, 0.9916229248046875, 0.927337646484375, 0.8110198974609375, 0.7541656494140625, 0.7537384033203125, 0.2743682861328125, 0.4213714599609375, 0.9986572265625, 0.6001434326171875, 0.45489501953125, 0.811920166015625, 0.085296630859375, 0.6781463623046875, 0.269622802734375, 0.4219512939453125, 0.2473297119140625, 0.466796875, 0.0814208984375, 0.6076812744140625, 0.8014068603515625, 0.4390869140625, 0.77227783203125, 0.78350830078125, 0.380279541015625, 0.0643310546875, 0.7913360595703125, 0.7790374755859375, 0.018280029296875, 0.5048065185546875, 0.0897674560546875, 0.919769287109375, 0.0596923828125, 0.22119140625, 0.50079345703125, 0.6185150146484375, 0.288421630859375, 0.1301727294921875, 0.5547943115234375, 0.9800567626953125, 0.0145111083984375, 0.71856689453125, 0.009185791015625, 0.630218505859375, 0.769500732421875, 0.262481689453125, 0.0990447998046875, 0.7613372802734375, 0.804443359375, 0.8324432373046875, 0.9422149658203125, 0.5366363525390625, 0.394378662109375, 0.1082763671875, 0.4509124755859375, 0.4035797119140625, 0.3654632568359375, 0.6555938720703125, 0.994781494140625, 0.3668670654296875, 0.7038726806640625, 0.09039306640625, 0.901458740234375, 0.4753875732421875, 0.52191162109375, 0.88470458984375, 0.557403564453125, 0.6922454833984375, 0.663726806640625, 0.291290283203125, 0.17108154296875, 0.566558837890625, 0.4210205078125, 0.35357666015625, 0.054473876953125, 0.483489990234375, 0.29351806640625, 0.6549530029296875, 0.9365997314453125, 0.2047119140625, 0.0757598876953125, 0.7156219482421875, 0.35198974609375, 0.5934600830078125, 0.5139007568359375, 0.3818817138671875, 0.9266510009765625, 0.688079833984375, 0.7088165283203125, 0.5142364501953125, 0.8836669921875, 0.1787872314453125, 0.9166259765625, 0.9615936279296875, 0.31243896484375, 0.986053466796875, 0.2405242919921875, 0.289459228515625, 0.686187744140625, 0.5961456298828125, 0.101715087890625, 0.8838348388671875, 0.5835113525390625, 0.2849273681640625, 0.0180206298828125, 0.850799560546875, 0.038543701171875, 0.59619140625, 0.8692626953125, 0.9888153076171875, 0.9526824951171875, 0.268890380859375, 0.1709747314453125, 0.3490142822265625, 0.7465972900390625, 0.560211181640625, 0.552886962890625, 0.658538818359375, 0.290618896484375, 0.050689697265625, 0.554656982421875, 0.4360809326171875, 0.412628173828125, 0.259552001953125, 0.80712890625, 0.944976806640625, 0.4153900146484375, 0.519134521484375, 0.846099853515625, 0.3497314453125, 0.792388916015625, 0.15960693359375, 0.151885986328125, 0.1128082275390625, 0.4430389404296875, 0.1323089599609375, 0.5534515380859375, 0.7297821044921875, 0.50494384765625, 0.743316650390625, 0.342620849609375, 0.852874755859375, 0.1343841552734375, 0.3398895263671875, 0.02606201171875, 0.5989227294921875, 0.26495361328125, 0.7368011474609375, 0.8486328125, 0.4392242431640625, 0.9056396484375, 0.53271484375, 0.93359375, 0.798553466796875, 0.65478515625, 0.84722900390625, 0.2033538818359375, 0.32421875, 0.7897491455078125, 0.4949798583984375, 0.921478271484375, 0.373870849609375, 0.94781494140625, 0.2463836669921875, 0.0844879150390625, 0.611541748046875, 0.5738372802734375, 0.5449981689453125, 0.63427734375, 0.6869354248046875, 0.784820556640625, 0.4668426513671875, 0.4393768310546875, 0.542938232421875, 0.789276123046875, 0.66400146484375, 0.84918212890625, 0.0805816650390625, 0.5654296875, 0.1317596435546875, 0.1253814697265625, 0.90887451171875, 0.8604583740234375, 0.0927734375, 0.192047119140625, 0.0903778076171875, 0.5334625244140625, 0.3338165283203125, 0.0179290771484375, 0.013275146484375, 0.2243804931640625, 0.8976593017578125, 0.9377593994140625, 0.762298583984375, 0.6593017578125, 0.8379058837890625, 0.253753662109375, 0.7316131591796875, 0.0826263427734375, 0.6180419921875, 0.4800262451171875, 0.3490753173828125, 0.64764404296875, 0.037445068359375, 0.8884735107421875, 0.9573822021484375, 0.327484130859375, 0.556365966796875, 0.928070068359375, 0.5987548828125, 0.277496337890625, 0.8060760498046875, 0.625823974609375, 0.02191162109375, 0.879150390625, 0.2846527099609375, 0.162750244140625, 0.8048553466796875, 0.021240234375, 0.481475830078125, 0.693603515625, 0.505828857421875, 0.105712890625, 0.241302490234375, 0.633209228515625, 0.52838134765625, 0.4660186767578125, 0.97149658203125, 0.84161376953125, 0.6866302490234375, 0.1165771484375, 0.695709228515625, 0.007476806640625, 0.6168365478515625, 0.6231536865234375, 0.646728515625, 0.83551025390625, 0.504852294921875, 0.8051910400390625, 0.95513916015625, 0.4665985107421875, 0.852203369140625, 0.4470977783203125, 0.7528076171875, 0.746002197265625, 0.914215087890625, 0.9850311279296875, 0.32073974609375, 0.3892059326171875, 0.1105804443359375, 0.501678466796875, 0.66552734375, 0.2003631591796875, 0.7178802490234375, 0.012725830078125, 0.5211639404296875, 0.86962890625, 0.884857177734375, 0.1812744140625, 0.12939453125, 0.3886566162109375, 0.1082763671875, 0.0122833251953125, 0.292449951171875, 0.170013427734375, 0.8611907958984375, 0.50616455078125, 0.841033935546875, 0.0867462158203125, 0.1905364990234375, 0.3810882568359375, 0.6293792724609375, 0.4651947021484375, 0.6010589599609375, 0.972259521484375, 0.654052734375, 0.6279449462890625, 0.280609130859375, 0.061981201171875, 0.732635498046875, 0.8921356201171875, 0.17315673828125, 0.4784088134765625, 0.0217132568359375, 0.4347381591796875, 0.79742431640625, 0.39617919921875, 0.27056884765625, 0.432525634765625, 0.750762939453125, 0.7863311767578125, 0.03314208984375, 0.1563568115234375, 0.636627197265625, 0.796051025390625, 0.907867431640625, 0.632080078125, 0.3647003173828125, 0.9536895751953125, 0.9939422607421875, 0.3044586181640625, 0.8708038330078125, 0.5990142822265625, 0.617645263671875, 0.7653656005859375, 0.635406494140625, 0.5259857177734375, 0.299835205078125, 0.5460968017578125, 0.780975341796875, 0.300537109375, 0.5605621337890625, 0.21795654296875, 0.6452789306640625, 0.532257080078125, 0.3223419189453125, 0.6951446533203125, 0.83734130859375, 0.9488983154296875, 0.9011383056640625, 0.8941650390625, 0.800384521484375, 0.6295623779296875, 0.1594085693359375, 0.745391845703125, 0.801177978515625, 0.605377197265625, 0.260894775390625, 0.2581634521484375, 0.902618408203125, 0.3644866943359375, 0.72308349609375, 0.072662353515625, 0.9597625732421875, 0.9072723388671875, 0.5260009765625, 0.6716461181640625, 0.1374359130859375, 0.737579345703125, 0.5290374755859375, 0.6949005126953125, 0.8941497802734375, 0.1578521728515625, 0.2197418212890625, 0.1510467529296875, 0.195587158203125, 0.1430206298828125, 0.431396484375, 0.25238037109375, 0.337310791015625, 0.2167816162109375, 0.36846923828125, 0.051788330078125, 0.7268829345703125, 0.775970458984375, 0.8924560546875, 0.39013671875, 0.6248779296875, 0.0887298583984375, 0.1839599609375, 0.381866455078125, 0.8520660400390625, 0.3165283203125, 0.0283966064453125, 0.342315673828125, 0.507843017578125, 0.4069671630859375, 0.31304931640625, 0.224273681640625, 0.62750244140625, 0.3776397705078125, 0.6913299560546875, 0.1809844970703125, 0.7318572998046875, 0.8258819580078125, 0.086181640625, 0.6576690673828125, 0.2881927490234375, 0.63140869140625, 0.06640625, 0.4091644287109375, 0.723052978515625, 0.9247894287109375, 0.1225433349609375, 0.200225830078125, 0.403839111328125, 0.86962890625, 0.142578125, 0.5307464599609375, 0.199371337890625, 0.881561279296875, 0.030853271484375, 0.2074737548828125, 0.979248046875, 0.94189453125, 0.7705230712890625, 0.8737030029296875, 0.1766510009765625, 0.0500640869140625, 0.9214935302734375, 0.904022216796875, 0.3740692138671875, 0.2625579833984375, 0.32867431640625, 0.7161865234375, 0.7244873046875, 0.8444976806640625, 0.582550048828125, 0.8924102783203125, 0.138397216796875, 0.25115966796875, 0.9480438232421875, 0.97247314453125, 0.3520355224609375, 0.3527679443359375, 0.7086639404296875, 0.76043701171875, 0.9402923583984375, 0.441436767578125, 0.075042724609375, 0.03961181640625, 0.535552978515625, 0.4289703369140625, 0.6702117919921875, 0.40313720703125, 0.769683837890625, 0.554534912109375, 0.2055816650390625, 0.6893463134765625, 0.49566650390625, 0.0731048583984375, 0.431884765625, 0.6974334716796875, 0.391845703125, 0.227294921875, 0.43414306640625, 0.855010986328125, 0.6330108642578125, 0.9254913330078125, 0.555908203125, 0.5380401611328125, 0.7071990966796875, 0.5567169189453125, 0.453460693359375, 0.9252777099609375, 0.38446044921875, 0.725677490234375, 0.9474029541015625, 0.59503173828125, 0.564788818359375, 0.4197998046875, 0.50567626953125, 0.862091064453125, 0.036651611328125, 0.8261871337890625, 0.4565582275390625, 0.3820648193359375, 0.8602752685546875, 0.371368408203125, 0.582366943359375, 0.2877655029296875, 0.2231597900390625, 0.1912841796875, 0.270843505859375, 0.5434417724609375, 0.1472320556640625, 0.3868560791015625, 0.4840850830078125, 0.3798370361328125, 0.4723968505859375, 0.92242431640625, 0.441436767578125, 0.6835174560546875, 0.883514404296875, 0.8805694580078125, 0.408233642578125, 0.3351287841796875, 0.683013916015625, 0.9691009521484375, 0.8112335205078125, 0.2469024658203125, 0.475341796875, 0.921539306640625, 0.6961822509765625, 0.72283935546875, 0.5610809326171875, 0.0181884765625, 0.064361572265625, 0.494049072265625, 0.6124114990234375, 0.3892059326171875, 0.6474151611328125, 0.741729736328125, 0.948516845703125, 0.1946258544921875, 0.6800689697265625, 0.05181884765625, 0.406341552734375, 0.948028564453125, 0.80938720703125, 0.5641021728515625, 0.3528900146484375, 0.52166748046875, 0.077423095703125, 0.6874542236328125, 0.9280242919921875, 0.2138519287109375, 0.4051971435546875, 0.0849456787109375, 0.8676605224609375, 0.2890625, 0.5991668701171875, 0.178131103515625, 0.7836761474609375, 0.4748687744140625, 0.5423736572265625, 0.55560302734375, 0.75506591796875, 0.9992523193359375, 0.526336669921875, 0.5679931640625, 0.741363525390625, 0.2561187744140625, 0.7047271728515625, 0.0341033935546875, 0.687103271484375, 0.9958953857421875, 0.19122314453125, 0.5539093017578125, 0.494232177734375, 0.21295166015625, 0.15570068359375, 0.2631378173828125, 0.05841064453125, 0.64111328125, 0.5867156982421875, 0.6566925048828125, 0.178192138671875, 0.2810516357421875, 0.44989013671875, 0.9074249267578125, 0.7122955322265625, 0.0565032958984375, 0.8238677978515625, 0.58880615234375, 0.0933380126953125, 0.759429931640625, 0.8815155029296875, 0.0233001708984375, 0.9904022216796875, 0.955413818359375, 0.4322357177734375, 0.38555908203125, 0.74517822265625, 0.8274688720703125, 0.6771087646484375, 0.93695068359375, 0.0873870849609375, 0.0135955810546875, 0.599884033203125, 0.2271270751953125, 0.351654052734375, 0.4970703125, 0.0134429931640625, 0.4391021728515625, 0.0033111572265625, 0.5947113037109375, 0.335357666015625, 0.90582275390625, 0.0477447509765625, 0.6323089599609375, 0.3022003173828125, 0.10675048828125, 0.3172454833984375, 0.3033905029296875, 0.1739959716796875, 0.274444580078125, 0.0132904052734375, 0.07818603515625, 0.900726318359375, 0.9353179931640625, 0.2899169921875, 0.9245147705078125, 0.30584716796875, 0.3045654296875, 0.05865478515625, 0.3555450439453125, 0.9766998291015625, 0.2402191162109375, 0.92901611328125, 0.982391357421875, 0.914825439453125, 0.8203582763671875, 0.1335906982421875, 0.2332916259765625, 0.099945068359375, 0.4437255859375, 0.2691497802734375, 0.7408447265625, 0.25152587890625, 0.433807373046875, 0.302154541015625, 0.6420135498046875, 0.5984344482421875, 0.82275390625, 0.3980712890625, 0.3079376220703125, 0.2971343994140625, 0.5489654541015625, 0.659515380859375, 0.3571319580078125, 0.160614013671875, 0.2582244873046875, 0.476715087890625, 0.595733642578125, 0.5442352294921875, 0.1167144775390625, 0.9585723876953125, 0.8902130126953125, 0.06951904296875, 0.84991455078125, 0.32757568359375, 0.1554412841796875, 0.4910888671875, 0.082000732421875, 0.7890625, 0.6669921875, 0.542755126953125, 0.8018035888671875, 0.771331787109375, 0.9030914306640625, 0.839508056640625, 0.3571014404296875, 0.6170806884765625, 0.5639495849609375, 0.18231201171875, 0.6263885498046875, 0.073638916015625, 0.517669677734375, 0.8597564697265625, 0.0309906005859375, 0.08184814453125, 0.303436279296875, 0.72222900390625, 0.67083740234375, 0.08740234375, 0.8042755126953125, 0.175811767578125, 0.090911865234375, 0.590057373046875, 0.344268798828125, 0.771270751953125, 0.276214599609375, 0.5114288330078125, 0.48052978515625, 0.1331024169921875, 0.5657958984375, 0.805023193359375, 0.5400848388671875, 0.12744140625, 0.546661376953125, 0.1841583251953125, 0.118011474609375, 0.60601806640625, 0.7133941650390625, 0.565155029296875, 0.9084625244140625, 0.2692108154296875, 0.5826568603515625, 0.0370635986328125, 0.5692596435546875, 0.2667083740234375, 0.12811279296875, 0.2643280029296875, 0.191314697265625, 0.2187652587890625, 0.7562103271484375, 0.187896728515625, 0.6847076416015625, 0.761962890625, 0.7887725830078125, 0.8909454345703125, 0.08935546875, 0.023712158203125, 0.730743408203125, 0.0554656982421875, 0.94189453125, 0.8266143798828125, 0.6046600341796875, 0.7907257080078125, 0.1203155517578125, 0.622894287109375, 0.5582427978515625, 0.0199432373046875, 0.7349090576171875, 0.20654296875, 0.3145599365234375, 0.100128173828125, 0.346893310546875, 0.883209228515625, 0.5811767578125, 0.001617431640625, 0.6857147216796875, 0.002899169921875, 0.5218353271484375, 0.2830963134765625, 0.558929443359375, 0.6891937255859375, 0.9884033203125, 0.6861419677734375, 0.3571929931640625, 0.99395751953125, 0.7384033203125, 0.7768096923828125, 0.0950469970703125, 0.7829742431640625, 0.40020751953125, 0.5838623046875, 0.956146240234375, 0.360870361328125, 0.0941314697265625, 0.10003662109375, 0.260162353515625, 0.6009979248046875, 0.1323394775390625, 0.425750732421875, 0.2788238525390625, 0.8523712158203125, 0.953948974609375, 0.074127197265625, 0.5480194091796875, 0.228790283203125, 0.0654296875, 0.0001068115234375, 0.066925048828125, 0.00164794921875, 0.205291748046875, 0.4524993896484375, 0.691986083984375, 0.343780517578125, 0.79010009765625, 0.0200347900390625, 0.2863006591796875, 0.1962890625, 0.7324371337890625, 0.5137481689453125, 0.2310638427734375, 0.505218505859375, 0.440704345703125, 0.4354095458984375, 0.605987548828125, 0.431732177734375, 0.7662200927734375, 0.2022857666015625, 0.9067230224609375, 0.3856353759765625, 0.4424591064453125, 0.509033203125, 0.6552734375, 0.1597137451171875, 0.57696533203125, 0.314788818359375, 0.5630340576171875, 0.6663055419921875, 0.92291259765625, 0.0313873291015625, 0.726165771484375, 0.8763885498046875, 0.83819580078125, 0.1793212890625, 0.290313720703125, 0.8481903076171875, 0.5630035400390625, 0.9207763671875, 0.660552978515625, 0.7980499267578125, 0.746917724609375, 0.200469970703125, 0.23114013671875, 0.0536346435546875, 0.6143646240234375, 0.0382080078125, 0.186065673828125, 0.54241943359375, 0.1938018798828125, 0.9636993408203125, 0.366607666015625, 0.9190521240234375, 0.5465087890625, 0.7292633056640625, 0.7408905029296875, 0.139862060546875, 0.930267333984375, 0.295196533203125, 0.6165618896484375, 0.2454986572265625, 0.179840087890625, 0.081512451171875, 0.2647705078125, 0.3611297607421875, 0.28436279296875, 0.2729949951171875, 0.29620361328125, 0.9321746826171875, 0.6526641845703125, 0.5028533935546875, 0.9903411865234375, 0.418365478515625, 0.7821197509765625, 0.04229736328125, 0.4386444091796875, 0.0659637451171875, 0.83123779296875, 0.22637939453125, 0.50177001953125, 0.70196533203125, 0.06170654296875, 0.0717010498046875, 0.003387451171875, 0.441680908203125, 0.782989501953125, 0.807281494140625, 0.2626800537109375, 0.9491729736328125, 0.216400146484375, 0.8697967529296875, 0.802581787109375, 0.2332763671875, 0.75390625, 0.73443603515625, 0.2416229248046875, 0.78289794921875, 0.5633087158203125, 0.1971435546875, 0.202880859375, 0.139678955078125, 0.7479705810546875, 0.352508544921875, 0.9947357177734375, 0.71209716796875, 0.054351806640625, 0.0299224853515625, 0.6224517822265625, 0.4208221435546875, 0.0602569580078125, 0.8450775146484375, 0.213226318359375, 0.5041046142578125, 0.625091552734375, 0.00531005859375, 0.3697662353515625, 0.55010986328125, 0.1849212646484375, 0.72027587890625, 0.784088134765625, 0.82330322265625, 0.7189178466796875, 0.174560546875, 0.7441558837890625, 0.8244781494140625, 0.2168731689453125, 0.3338623046875, 0.238616943359375, 0.4183502197265625, 0.2122802734375, 0.5370941162109375, 0.8216094970703125, 0.3123016357421875, 0.7405548095703125, 0.2761383056640625, 0.3132476806640625, 0.253173828125, 0.1028289794921875, 0.2763824462890625, 0.130615234375, 0.2422637939453125, 0.109527587890625, 0.6050262451171875, 0.8303985595703125, 0.9199371337890625, 0.939300537109375, 0.2794189453125, 0.513702392578125, 9.1552734375e-05, 0.09954833984375, 0.495361328125, 0.187591552734375, 0.104888916015625, 0.7577667236328125, 0.105316162109375, 0.64849853515625, 0.4169464111328125, 0.6549835205078125, 0.8870697021484375, 0.2003631591796875, 0.2325286865234375, 0.90997314453125, 0.7216796875, 0.181365966796875, 0.990081787109375, 0.6738128662109375, 0.4715728759765625, 0.6162109375, 0.53472900390625, 0.282928466796875, 0.9372711181640625, 0.5053253173828125, 0.72509765625, 0.5509490966796875, 0.24273681640625, 0.8496246337890625, 0.6724700927734375, 0.3665771484375, 0.3180084228515625, 0.844970703125, 0.04473876953125, 0.2777099609375, 0.5792388916015625, 0.913055419921875, 0.36492919921875, 0.8450469970703125, 0.4762420654296875, 0.75018310546875, 0.455474853515625, 0.1275177001953125, 0.20947265625, 0.9247894287109375, 0.0496978759765625, 0.372161865234375, 0.2621307373046875, 0.577301025390625, 0.5760498046875, 0.3564910888671875, 0.1372528076171875, 0.50726318359375, 0.7196197509765625, 0.6312255859375, 0.172088623046875, 0.6387481689453125, 0.04864501953125, 0.9120330810546875, 0.7025299072265625, 0.21234130859375, 0.9840850830078125, 0.855438232421875, 0.1030731201171875, 0.2373504638671875, 0.1957244873046875, 0.580963134765625, 0.260711669921875, 0.32696533203125, 0.2384185791015625, 0.966522216796875, 0.39410400390625, 0.3035736083984375, 0.929229736328125, 0.81268310546875, 0.2201385498046875, 0.5602569580078125, 0.312957763671875, 0.3355255126953125, 0.742950439453125, 0.18035888671875, 0.785064697265625, 0.074554443359375, 0.1051483154296875, 0.1657562255859375, 0.800933837890625, 0.8923797607421875, 0.7277679443359375, 0.1470794677734375, 0.1075439453125, 0.4749755859375, 0.4215240478515625, 0.855377197265625, 0.302978515625, 0.4308624267578125, 0.4854278564453125, 0.486358642578125, 0.94219970703125, 0.970062255859375, 0.36785888671875, 0.902557373046875, 0.4914703369140625, 0.8319244384765625, 0.3851470947265625, 0.70343017578125, 0.945953369140625, 0.4853515625, 0.318328857421875, 0.3049774169921875, 0.1269073486328125, 0.2084503173828125, 0.5712432861328125, 0.2035064697265625, 0.8006591796875, 0.0807342529296875, 0.822113037109375, 0.55975341796875, 0.701507568359375, 0.52655029296875, 0.6104736328125, 0.194610595703125, 0.052581787109375, 0.479339599609375, 0.509490966796875, 0.6757965087890625, 0.9831390380859375, 0.57440185546875, 0.3317108154296875, 0.8217315673828125, 0.3507843017578125, 0.358642578125, 0.3537750244140625, 0.3550567626953125, 0.326263427734375, 0.245849609375, 0.5827178955078125, 0.7166748046875, 0.750701904296875, 0.36187744140625, 0.5312042236328125, 0.4894866943359375, 0.0096282958984375, 0.1030731201171875, 0.590484619140625, 0.1160430908203125, 0.464111328125, 0.57586669921875, 0.9247894287109375, 0.30731201171875, 0.313201904296875, 0.1403045654296875, 0.228668212890625, 0.5758819580078125, 0.1723175048828125, 0.5551300048828125, 0.7592315673828125, 0.7918243408203125, 0.752532958984375, 0.729400634765625, 0.7395477294921875, 0.313873291015625, 0.5133819580078125, 0.6951751708984375, 0.9724273681640625, 0.684967041015625, 0.4026336669921875, 0.37518310546875, 0.8089599609375, 0.9945068359375, 0.835845947265625, 0.82403564453125, 0.40087890625, 0.8135528564453125, 0.648040771484375, 0.5806732177734375, 0.581634521484375, 0.8842315673828125, 0.1307220458984375, 0.53857421875, 0.9681549072265625, 0.10601806640625, 0.0358428955078125, 0.1318511962890625, 0.06646728515625, 0.334381103515625, 0.027862548828125, 0.9509124755859375, 0.7117919921875, 0.9877166748046875, 0.4683074951171875, 0.9954833984375, 0.966461181640625, 0.607940673828125, 0.904693603515625, 0.8607330322265625, 0.0171966552734375, 0.9437408447265625, 0.8615875244140625, 0.0341339111328125, 0.332763671875, 0.00732421875, 0.7312469482421875, 0.9140625, 0.3775634765625, 0.6092376708984375, 0.3157501220703125, 0.9828643798828125, 0.1076202392578125, 0.5457916259765625, 0.4533233642578125, 0.7411041259765625, 0.048431396484375, 0.818145751953125, 0.4225616455078125, 0.65325927734375, 0.6937103271484375, 0.006256103515625, 0.0404815673828125, 0.6745147705078125, 0.25823974609375, 0.78289794921875, 0.509429931640625, 0.6270599365234375, 0.6526031494140625, 0.5724945068359375, 0.9891815185546875, 0.4679107666015625, 0.7641448974609375, 0.6664581298828125, 0.7437744140625, 0.2841033935546875, 0.3594207763671875, 0.3278961181640625, 0.756805419921875, 0.63104248046875, 0.5092315673828125, 0.523406982421875, 0.760345458984375, 0.7377777099609375, 0.690948486328125, 0.11871337890625, 0.3380279541015625, 0.9001922607421875, 0.50994873046875, 0.1264801025390625, 0.9253082275390625, 0.6500091552734375, 0.617156982421875, 0.1105194091796875, 0.507293701171875, 0.6245574951171875, 0.455474853515625, 0.5363616943359375, 0.0580902099609375, 0.23333740234375, 0.6044464111328125, 0.9802703857421875, 0.888275146484375, 0.823577880859375, 0.621307373046875, 0.0876922607421875, 0.5251922607421875, 0.726287841796875, 0.5797576904296875, 0.4787445068359375, 0.51251220703125, 0.3641357421875, 0.6038970947265625, 0.33441162109375, 0.999298095703125, 0.2687530517578125, 0.98907470703125, 0.82318115234375, 0.035797119140625, 0.6024932861328125, 0.606903076171875, 0.7324066162109375, 0.49456787109375, 0.229095458984375, 0.0290069580078125, 0.3798675537109375, 0.474884033203125, 0.543701171875, 0.5505523681640625, 0.9929351806640625, 0.218994140625, 0.100128173828125, 0.5839385986328125, 0.932342529296875, 0.4064788818359375, 0.8154449462890625, 0.274627685546875, 0.780487060546875, 0.1059722900390625, 0.65240478515625, 0.586090087890625, 0.65478515625, 0.1296234130859375, 0.864593505859375, 0.30010986328125, 0.50341796875, 0.9293670654296875, 0.2604522705078125, 0.1584930419921875, 0.3710784912109375, 0.1500244140625, 0.7551116943359375, 0.630950927734375, 0.808685302734375, 0.71221923828125, 0.7141571044921875, 0.842681884765625, 0.87847900390625, 0.7786712646484375, 0.056121826171875, 0.13909912109375, 0.24371337890625, 0.0321502685546875, 0.253265380859375, 0.42596435546875, 0.5230865478515625, 0.0679779052734375, 0.347991943359375, 0.6637115478515625, 0.0399017333984375, 0.0487213134765625, 0.69671630859375, 0.277374267578125, 0.04132080078125, 0.4748382568359375, 0.1882781982421875, 0.060577392578125, 0.249786376953125, 0.5318603515625, 0.4246673583984375, 0.4597015380859375, 0.8621978759765625, 0.5106964111328125, 0.933685302734375, 0.4962310791015625, 0.598297119140625, 0.359619140625, 0.234771728515625, 0.286468505859375, 0.96624755859375, 0.224334716796875, 0.825042724609375, 0.814971923828125, 0.990264892578125, 0.00872802734375, 0.8735504150390625, 0.172607421875, 0.3926849365234375, 0.9081573486328125, 0.6171112060546875, 0.7534027099609375, 0.3771820068359375, 0.4749298095703125, 0.8914794921875, 0.09698486328125, 0.595428466796875, 0.436248779296875, 0.338897705078125, 0.562744140625, 0.8566131591796875, 0.310546875, 0.0384521484375, 0.2124786376953125, 0.9847259521484375, 0.48333740234375, 0.5691680908203125, 0.121673583984375, 0.656036376953125, 0.7710113525390625, 0.7523193359375, 0.552032470703125, 0.8479156494140625, 0.8904876708984375, 0.105560302734375, 0.8740234375, 0.13250732421875, 0.600860595703125, 0.948516845703125, 0.207611083984375, 0.6426544189453125, 0.2875823974609375, 0.592498779296875, 0.4216156005859375, 0.067901611328125, 0.1703338623046875, 0.2945709228515625, 0.0117340087890625, 0.5551910400390625, 0.93310546875, 0.776275634765625, 0.5489959716796875, 0.2446441650390625, 0.950042724609375, 0.8152313232421875, 0.0831298828125, 0.2038421630859375, 0.4950714111328125, 0.8159637451171875, 0.670928955078125, 0.8359527587890625, 0.3480987548828125, 0.445220947265625, 0.05828857421875, 0.196563720703125, 0.28961181640625, 0.1775970458984375, 0.77294921875, 0.14031982421875, 0.15618896484375, 0.387786865234375, 0.2168121337890625, 0.17041015625, 0.6571044921875, 0.9770660400390625, 0.5380706787109375, 0.1751708984375, 0.3216705322265625, 0.77435302734375, 0.6519317626953125, 0.9158477783203125, 0.1346282958984375, 0.2481231689453125, 0.946685791015625, 0.52435302734375, 0.3589324951171875, 0.324188232421875, 0.1661529541015625, 0.4844970703125, 0.7732391357421875, 0.8145904541015625, 0.6157073974609375, 0.753753662109375, 0.29718017578125, 0.1737518310546875, 0.7463531494140625, 0.4054718017578125, 0.337921142578125, 0.0414581298828125, 0.8010406494140625, 0.363494873046875, 0.024444580078125, 0.882232666015625, 0.756103515625, 0.0668182373046875, 0.7886505126953125, 0.5520477294921875, 0.755523681640625, 0.580413818359375, 0.322357177734375, 0.7377166748046875, 0.8549041748046875, 0.247833251953125, 0.726318359375, 0.102569580078125, 0.5049285888671875, 0.824676513671875, 0.05010986328125, 0.612762451171875, 0.2004852294921875, 0.5616912841796875, 0.9705657958984375, 0.1890869140625, 0.24530029296875, 0.3199462890625, 0.5085601806640625, 0.5078277587890625, 0.4495391845703125, 0.5000457763671875, 0.01568603515625, 0.595306396484375, 0.46728515625, 0.8584442138671875, 0.4425048828125, 0.9042510986328125, 0.4744720458984375, 0.093353271484375, 0.3482513427734375, 0.5315399169921875, 0.560211181640625, 0.0434112548828125, 0.853057861328125, 0.0821075439453125, 0.9492340087890625, 0.476806640625, 0.5771942138671875, 0.9964447021484375, 0.18218994140625, 0.9329071044921875, 0.5163421630859375, 0.9028472900390625, 0.675628662109375, 0.9244842529296875, 0.9778900146484375, 0.5243988037109375, 0.067474365234375, 0.1738739013671875, 0.8588714599609375, 0.2748870849609375, 0.6584014892578125, 0.58160400390625, 0.9548187255859375, 0.267303466796875, 0.1461639404296875, 0.9001617431640625, 0.874420166015625, 0.9530792236328125, 0.980499267578125, 0.17059326171875, 0.23687744140625, 0.4512176513671875, 0.599853515625, 0.685272216796875, 0.1467437744140625, 0.3067474365234375, 0.9557647705078125, 0.9337310791015625, 0.2642974853515625, 0.0330657958984375, 0.067413330078125, 0.7326812744140625, 0.225067138671875, 0.12353515625, 0.657806396484375, 0.663299560546875, 0.9823760986328125, 0.109222412109375, 0.4137115478515625, 0.856170654296875, 0.9226531982421875, 0.47125244140625, 0.05743408203125, 0.514129638671875, 0.4269256591796875, 0.2947235107421875, 0.78985595703125, 0.9668731689453125, 0.62744140625, 0.939453125, 0.06085205078125, 0.9860992431640625, 0.3457794189453125, 0.517669677734375, 0.5111846923828125, 0.2467803955078125, 0.763885498046875, 0.727996826171875, 0.03192138671875, 0.5267333984375, 0.6728057861328125, 0.044830322265625, 0.0094757080078125, 0.86199951171875, 0.7016754150390625, 0.3148040771484375, 0.0842742919921875, 0.9209747314453125, 0.4622802734375, 0.040374755859375, 0.2111053466796875, 0.0130615234375, 0.62249755859375, 0.4172821044921875, 0.3207244873046875, 0.9922027587890625, 0.991180419921875, 0.5709228515625, 0.206787109375, 0.810028076171875, 0.3806304931640625, 0.0993499755859375, 0.0413360595703125, 0.76904296875, 0.750579833984375, 0.6572723388671875, 0.5839080810546875, 0.490447998046875, 0.739349365234375, 0.289398193359375, 0.4004974365234375, 0.492279052734375, 0.28912353515625, 0.399688720703125, 0.82708740234375, 0.18536376953125, 0.1923675537109375, 0.7108154296875, 0.9374542236328125, 0.5924835205078125, 0.380462646484375, 0.12054443359375, 0.7177886962890625, 0.94775390625, 0.7119903564453125, 0.4300079345703125, 0.2785186767578125, 0.4856414794921875, 0.683197021484375, 0.894622802734375, 0.1296844482421875, 0.6235198974609375, 0.6906890869140625, 0.3124237060546875, 0.286773681640625, 0.4756011962890625, 0.68609619140625, 0.531402587890625, 0.7292938232421875, 0.2895660400390625, 0.65716552734375, 0.56597900390625, 0.135650634765625, 0.618438720703125, 0.6890106201171875, 0.5405731201171875, 0.83160400390625, 0.431549072265625, 0.4840545654296875, 0.5870513916015625, 0.8323211669921875, 0.6469573974609375, 0.367950439453125, 0.680877685546875, 0.204010009765625, 0.7317352294921875, 0.7445220947265625, 0.277618408203125, 0.89453125, 0.8513031005859375, 0.7279052734375, 0.7809906005859375, 0.972137451171875, 0.272552490234375, 0.0350494384765625, 0.4210968017578125, 0.21295166015625, 0.5434112548828125, 0.2023773193359375, 0.265777587890625, 0.828155517578125, 0.96087646484375, 0.0098876953125, 0.4061126708984375, 0.603057861328125, 0.642364501953125, 0.1567230224609375, 0.2310638427734375, 0.7308807373046875, 0.448516845703125, 0.6776275634765625, 0.7509765625, 0.92083740234375, 0.4001312255859375, 0.834136962890625, 0.2498779296875, 0.41131591796875, 0.5377655029296875, 0.293060302734375, 0.6789093017578125, 0.61505126953125, 0.341796875, 0.8233795166015625, 0.949249267578125, 0.566558837890625, 0.4180450439453125, 0.088134765625, 0.0105133056640625, 0.5035400390625, 0.3762664794921875, 0.400115966796875, 0.7303314208984375, 0.3313751220703125, 0.3497772216796875, 0.237457275390625, 0.863372802734375, 0.2620086669921875, 0.3103179931640625, 0.280059814453125, 0.9891204833984375, 0.4170074462890625, 0.205169677734375, 0.3557281494140625, 0.8212432861328125, 0.1204986572265625, 0.8949737548828125, 0.3591156005859375, 0.07720947265625, 0.7221221923828125, 0.0226287841796875, 0.915740966796875, 0.5658721923828125, 0.672149658203125, 0.522247314453125, 0.2758636474609375, 0.7854461669921875, 0.70977783203125, 0.6330718994140625, 0.4385528564453125, 0.45953369140625, 0.285858154296875, 0.2572174072265625, 0.802337646484375, 0.75531005859375, 0.219268798828125, 0.978240966796875, 0.156646728515625, 0.917266845703125, 0.544952392578125, 0.2744598388671875, 0.6132659912109375, 0.8475494384765625, 0.6019134521484375, 0.635223388671875, 0.3507080078125, 0.5166778564453125, 0.6086273193359375, 0.6141815185546875, 0.1359405517578125, 0.100250244140625, 0.5565032958984375, 0.7818450927734375, 0.7517852783203125, 0.449249267578125, 0.9651336669921875, 0.607513427734375, 0.8857879638671875, 0.6901397705078125, 0.306060791015625, 0.63385009765625, 0.514556884765625, 0.1216583251953125, 0.550689697265625, 0.98211669921875, 0.3136444091796875, 0.025848388671875, 0.835784912109375, 0.378082275390625, 0.412384033203125, 0.4237213134765625, 0.12261962890625, 0.194580078125, 0.9866790771484375, 0.4397735595703125, 0.025360107421875, 0.00799560546875, 0.3650665283203125, 0.5245361328125, 0.8746795654296875, 0.701904296875, 0.708099365234375, 0.071746826171875, 0.088165283203125, 0.2391357421875, 0.68170166015625, 0.6195831298828125, 0.2633056640625, 0.60748291015625, 0.8797149658203125, 0.7305450439453125, 0.104278564453125, 0.9076995849609375, 0.12646484375, 0.9049072265625, 0.433380126953125, 0.56292724609375, 0.654296875, 0.3643646240234375, 0.9786376953125, 0.090606689453125, 0.6299896240234375, 0.78912353515625, 0.324676513671875, 0.5092926025390625, 0.2152862548828125, 0.1797637939453125, 0.2042083740234375, 0.650848388671875, 0.7688140869140625, 0.55596923828125, 0.5236053466796875, 0.4953155517578125, 0.9217376708984375, 0.725555419921875, 0.9937896728515625, 0.949951171875, 0.5104522705078125, 0.0208892822265625, 0.3415374755859375, 0.81634521484375, 0.0700225830078125, 0.8418426513671875, 0.6908111572265625, 0.990142822265625, 0.3377838134765625, 0.864105224609375, 0.2916259765625, 0.4156494140625, 0.9939727783203125, 0.512786865234375, 0.4871826171875, 0.124786376953125, 0.9839630126953125, 0.49871826171875, 0.923797607421875, 0.4366607666015625, 0.397705078125, 0.4163360595703125, 0.84014892578125, 0.8936614990234375, 0.1268463134765625, 0.28619384765625, 0.41937255859375, 0.8697357177734375, 0.6486968994140625, 0.01263427734375, 0.2594451904296875, 0.1880340576171875, 0.229034423828125, 0.8853759765625, 0.612548828125, 0.09539794921875, 0.601409912109375, 0.0268096923828125, 0.21148681640625, 0.0917816162109375, 0.742706298828125, 0.73199462890625, 0.1431427001953125, 0.9984588623046875, 0.16375732421875, 0.87969970703125, 0.7392120361328125, 0.3901214599609375, 0.829132080078125, 0.893524169921875, 0.7152099609375, 0.3681182861328125, 0.874359130859375, 0.1531219482421875, 0.0684661865234375, 0.009918212890625, 0.01495361328125, 0.783843994140625, 0.2423248291015625, 0.9246368408203125, 0.4835357666015625, 0.611663818359375, 0.2614898681640625, 0.072723388671875, 0.3974609375, 0.0969696044921875, 0.8943023681640625, 0.0651092529296875, 0.7462615966796875, 0.548736572265625, 0.1090545654296875, 0.5443878173828125, 0.0900726318359375, 0.8562469482421875, 0.99737548828125, 0.16046142578125, 0.5558624267578125, 0.656463623046875, 0.5003509521484375, 0.13519287109375, 0.1699981689453125, 0.107940673828125, 0.5334014892578125, 0.136444091796875, 0.5239715576171875, 0.4335174560546875, 0.15863037109375, 0.8258056640625, 0.0388336181640625, 0.4889068603515625, 0.5184173583984375, 0.274658203125, 0.1853790283203125, 0.443267822265625, 0.7625885009765625, 0.373260498046875, 0.48046875, 0.541748046875, 0.9677581787109375, 0.7837677001953125, 0.5150146484375, 0.639862060546875, 0.2363433837890625, 0.572967529296875, 0.96356201171875, 0.843292236328125, 0.235443115234375, 0.785552978515625, 0.1654815673828125, 0.99365234375, 0.155426025390625, 0.6311798095703125, 0.7681884765625, 0.6285247802734375, 0.684600830078125, 0.1790771484375, 0.9285888671875, 0.930999755859375, 0.30084228515625, 0.3617401123046875, 0.3619384765625, 0.3631439208984375, 0.1262359619140625, 0.1085357666015625, 0.5179595947265625, 0.19012451171875, 0.2787628173828125, 0.5862274169921875, 0.4907684326171875, 0.2124176025390625, 0.72796630859375, 0.559967041015625, 0.1102142333984375, 0.9470062255859375, 0.0228424072265625, 0.1497039794921875, 0.3836212158203125, 0.6233367919921875, 0.5140380859375, 0.8842315673828125, 0.7606353759765625, 0.5584564208984375, 0.3488311767578125, 0.5633087158203125, 0.8065185546875, 0.203094482421875, 0.0453338623046875, 0.597381591796875, 0.7327880859375, 0.04412841796875, 0.2243499755859375, 0.66015625, 0.8023529052734375, 0.3238677978515625, 0.3876495361328125, 0.1632232666015625, 0.321807861328125, 0.2041015625, 0.12530517578125, 0.3470306396484375, 0.307708740234375, 0.5234832763671875, 0.2965850830078125, 0.0628509521484375, 0.01861572265625, 0.6075286865234375, 0.347930908203125, 0.8300628662109375, 0.930633544921875, 0.86431884765625, 0.3553466796875, 0.0890045166015625, 0.9352874755859375, 0.0706939697265625, 0.044036865234375, 0.01458740234375, 0.86895751953125, 0.34466552734375, 0.1804962158203125, 0.655120849609375, 0.2760162353515625, 0.681884765625, 0.6488494873046875, 0.7407379150390625, 0.7886505126953125, 0.7428131103515625, 0.6813201904296875, 0.774383544921875, 0.149017333984375, 0.212799072265625, 0.606719970703125, 0.8818511962890625, 0.7338714599609375, 0.1226348876953125, 0.5421142578125, 0.615142822265625, 0.8866729736328125, 0.8110809326171875, 0.5975189208984375, 0.983154296875, 0.84210205078125, 0.5843963623046875, 0.6741485595703125, 0.6319580078125, 0.4114532470703125, 0.7510833740234375, 0.555572509765625, 0.470367431640625, 0.3188629150390625, 0.008026123046875, 0.0893402099609375, 0.9345855712890625, 0.7288970947265625, 0.5636444091796875, 0.348114013671875, 0.7951202392578125, 0.9825286865234375, 0.6999053955078125, 0.855743408203125, 0.917083740234375, 0.54559326171875, 0.926605224609375, 0.0286865234375, 0.94354248046875, 0.149444580078125, 0.723175048828125, 0.47998046875, 0.467498779296875, 0.4929046630859375, 0.3836669921875, 0.42315673828125, 0.48126220703125, 0.1861419677734375, 0.8445587158203125, 0.325897216796875, 0.36322021484375, 0.7467803955078125, 0.6875457763671875, 0.960296630859375, 0.2547760009765625, 0.389434814453125, 0.676239013671875, 0.7720947265625, 0.225250244140625, 0.33843994140625, 0.363677978515625, 0.820648193359375, 0.76617431640625, 0.8120574951171875, 0.116851806640625, 0.1584930419921875, 0.036346435546875, 0.151824951171875, 0.44378662109375, 0.013580322265625, 0.3112030029296875, 0.7465667724609375, 0.4202880859375, 0.0783233642578125, 0.4515533447265625, 0.408905029296875, 0.869659423828125, 0.9642333984375, 0.341705322265625, 0.7070465087890625, 0.773712158203125, 0.6847076416015625, 0.4629669189453125, 0.9696807861328125, 0.4878082275390625, 0.2094573974609375, 0.3675079345703125, 0.2896270751953125, 0.1509552001953125, 0.297698974609375, 0.910064697265625, 0.2050933837890625, 0.9848480224609375, 0.44354248046875, 0.353515625, 0.446319580078125, 0.4526214599609375, 0.8806915283203125, 0.9841156005859375, 0.4125823974609375, 0.8028717041015625, 0.199981689453125, 0.383880615234375, 0.5833282470703125, 0.5435638427734375, 0.1749420166015625, 0.4067535400390625, 0.5948333740234375, 0.8538360595703125, 0.320587158203125, 0.743255615234375, 0.5462493896484375, 0.4605712890625, 0.5419464111328125, 0.4840087890625, 0.5917816162109375, 0.0382080078125, 0.738250732421875, 0.1805572509765625, 0.90576171875, 0.344146728515625, 0.180145263671875, 0.830535888671875, 0.60162353515625, 0.3437042236328125, 0.5958099365234375, 0.851318359375, 0.30755615234375, 0.4058074951171875, 0.4949798583984375, 0.074066162109375, 0.4386749267578125, 0.9236602783203125, 0.85491943359375, 0.569610595703125, 0.911865234375, 0.191558837890625, 0.2337493896484375, 0.9649505615234375, 0.340179443359375, 0.0456695556640625, 0.4307861328125, 0.3328704833984375, 0.5435638427734375, 0.3436126708984375, 0.1600189208984375, 0.2474212646484375, 0.1818695068359375, 0.085357666015625, 0.901458740234375, 0.3282012939453125, 0.0230865478515625, 0.3258514404296875, 0.206512451171875, 0.358428955078125, 0.0498809814453125, 0.4843902587890625, 0.4109039306640625, 0.047332763671875, 0.4486083984375, 0.9701690673828125, 0.042816162109375, 0.6854095458984375, 0.2260284423828125, 0.6417999267578125, 0.7643890380859375, 0.725921630859375, 0.4409637451171875, 0.7875518798828125, 0.8784332275390625, 0.102691650390625, 0.2730712890625, 0.6103363037109375, 0.824127197265625, 0.5490875244140625, 0.136871337890625, 0.100830078125, 0.3394622802734375, 0.0211334228515625, 0.2628631591796875, 0.002288818359375, 0.6084136962890625, 0.1619415283203125, 0.3328399658203125, 0.0223541259765625, 0.5897674560546875, 0.410797119140625, 0.3734130859375, 0.0651092529296875, 0.2396087646484375, 0.8657684326171875, 0.937896728515625, 0.3968353271484375, 0.1029052734375, 0.9886627197265625, 0.448150634765625, 0.2709808349609375, 0.35791015625, 0.871124267578125, 0.50128173828125, 0.3739471435546875, 0.53472900390625, 0.5412445068359375, 0.6775665283203125, 0.87506103515625, 0.4920501708984375, 0.84991455078125, 0.033599853515625, 0.97320556640625, 0.6050567626953125, 0.6331634521484375, 0.364593505859375, 0.1950531005859375, 0.085235595703125, 0.5425567626953125, 0.9928436279296875, 0.739410400390625, 0.442047119140625, 0.17864990234375, 0.0131683349609375, 0.5561981201171875, 0.39923095703125, 0.6020965576171875, 0.615142822265625, 0.069915771484375, 0.242401123046875, 0.80401611328125, 0.42803955078125, 0.7170867919921875, 0.7131195068359375, 0.1095428466796875, 0.17034912109375, 0.892242431640625, 0.350311279296875, 0.9138031005859375, 0.8553314208984375, 0.256439208984375, 0.080596923828125, 0.51513671875, 0.6865692138671875, 0.442230224609375, 0.6681671142578125, 0.80474853515625, 0.581573486328125, 0.47796630859375, 0.8551025390625, 0.916473388671875, 0.6908721923828125, 0.0607757568359375, 0.04168701171875, 0.32464599609375, 0.440673828125, 0.9322357177734375, 0.5308685302734375, 0.270416259765625, 0.400604248046875, 0.6688690185546875, 0.6008758544921875, 0.189697265625, 0.814971923828125, 0.107940673828125, 0.922882080078125, 0.6230316162109375, 0.93768310546875, 0.583404541015625, 0.3714447021484375, 0.91485595703125, 0.51849365234375, 0.0524749755859375, 0.384368896484375, 0.6867523193359375, 0.494171142578125, 0.8922119140625, 0.2463836669921875, 0.270660400390625, 0.3418121337890625, 0.507904052734375, 0.34991455078125, 0.910247802734375, 0.9353179931640625, 0.536590576171875, 0.1429290771484375, 0.7845306396484375, 0.3616943359375, 0.951629638671875, 0.5326385498046875, 0.8385772705078125, 0.809722900390625, 0.4954833984375, 0.23333740234375, 0.278564453125, 0.88177490234375, 0.5625457763671875, 0.6589813232421875, 0.487762451171875, 0.6182403564453125, 0.5008087158203125, 0.35595703125, 0.4140777587890625, 0.9161376953125, 0.8256988525390625, 0.707305908203125, 0.61968994140625, 0.03741455078125, 0.5465087890625, 0.193603515625, 0.3848419189453125, 0.3909454345703125, 0.8499755859375, 0.835052490234375, 0.9567413330078125, 0.28729248046875, 0.8040771484375, 0.9290313720703125, 0.8432464599609375, 0.9195404052734375, 0.1216583251953125, 0.9592132568359375, 0.2502288818359375, 0.7082061767578125, 0.4446258544921875, 0.0512542724609375, 0.58734130859375, 0.4499053955078125, 0.6198272705078125, 0.4837493896484375, 0.1857452392578125, 0.244110107421875, 0.688507080078125, 0.3718414306640625, 0.2863006591796875, 0.37530517578125, 0.71923828125, 0.8477783203125, 0.9557647705078125, 0.968231201171875, 0.2200164794921875, 0.5711517333984375, 0.449066162109375, 0.147674560546875, 0.7237701416015625, 0.45037841796875, 0.045196533203125, 0.9126434326171875, 0.8389129638671875, 0.68585205078125, 0.9699554443359375, 0.7935333251953125, 0.5596923828125, 0.0378570556640625, 0.9064178466796875, 0.143463134765625, 0.5969390869140625, 0.7608795166015625, 0.751800537109375, 0.1309356689453125, 0.47943115234375, 0.308837890625, 0.4102935791015625, 0.5428466796875, 0.2189483642578125, 0.96746826171875, 0.35968017578125, 0.42572021484375, 0.116424560546875, 0.9884490966796875, 0.82330322265625, 0.180572509765625, 0.7640533447265625, 0.1246490478515625, 0.4818572998046875, 0.831329345703125, 0.2747802734375, 0.358367919921875, 0.0963287353515625, 0.704559326171875, 0.2146453857421875, 0.1594390869140625, 0.7854156494140625, 0.2849578857421875, 0.074066162109375, 0.96624755859375, 0.8097381591796875, 0.7525634765625, 0.168060302734375, 0.4723663330078125, 0.169769287109375, 0.1639862060546875, 0.108428955078125, 0.8124847412109375, 0.1000213623046875, 0.1844482421875, 0.08734130859375, 0.64837646484375, 0.0268402099609375, 0.20367431640625, 0.7547607421875, 0.1445465087890625, 0.33013916015625, 0.13299560546875, 0.2826995849609375, 0.90814208984375, 0.6170806884765625, 0.9518280029296875, 0.04217529296875, 0.96728515625, 0.4225616455078125, 0.2529449462890625, 0.5821533203125, 0.7515869140625, 0.7624969482421875, 0.8192138671875, 0.95159912109375, 0.3732452392578125, 0.8342132568359375, 0.32464599609375, 0.0613861083984375, 0.52801513671875, 0.4163665771484375, 0.497314453125, 0.2266693115234375, 0.35150146484375, 0.9606781005859375, 0.022552490234375, 0.739990234375, 0.9544830322265625, 0.3059539794921875, 0.389190673828125, 0.8631591796875, 0.7669677734375, 0.6574554443359375, 0.3330535888671875, 0.479949951171875, 0.3535614013671875, 0.5630035400390625, 0.3564605712890625, 0.00689697265625, 0.6138763427734375, 0.49798583984375, 0.607757568359375, 0.587677001953125, 0.535186767578125, 0.669586181640625, 0.027313232421875, 0.68585205078125, 0.05865478515625, 0.33197021484375, 0.3319549560546875, 0.7874908447265625, 0.34417724609375, 0.0624237060546875, 0.1444091796875, 0.547607421875, 0.514007568359375, 0.3951873779296875, 0.943145751953125, 0.9305877685546875, 0.616729736328125, 0.490234375, 0.2678375244140625, 0.2459564208984375, 0.5044097900390625, 0.87554931640625, 0.4106292724609375, 0.569366455078125, 0.51434326171875, 0.902191162109375, 0.14837646484375, 0.64202880859375, 0.3377532958984375, 0.9695587158203125, 0.3694305419921875, 0.9653167724609375, 0.0259857177734375, 0.48321533203125, 0.73980712890625, 0.67962646484375, 0.8305206298828125, 0.9080352783203125, 0.652679443359375, 0.626708984375, 0.66796875, 0.700164794921875, 0.697113037109375, 0.66619873046875, 0.79296875, 0.1329498291015625, 0.19061279296875, 0.7230072021484375, 0.4231414794921875, 0.7145843505859375, 0.35748291015625, 0.8979034423828125, 0.597930908203125, 0.5127410888671875, 0.4943084716796875, 0.130889892578125, 0.018585205078125, 0.5839385986328125, 0.79339599609375, 0.096771240234375, 0.674591064453125, 0.6132049560546875, 0.8279571533203125, 0.3447723388671875, 0.6430206298828125, 0.515380859375, 0.4576263427734375, 0.9070587158203125, 0.4762725830078125, 0.027374267578125, 0.3914642333984375, 0.2761993408203125, 0.227752685546875, 0.70819091796875, 0.0763702392578125, 0.5684051513671875, 0.609466552734375, 0.65777587890625, 0.568267822265625, 0.2251434326171875, 0.825042724609375, 0.1205596923828125, 0.600921630859375, 0.9407501220703125, 0.8535614013671875, 0.523712158203125, 0.71923828125, 0.433380126953125, 0.2874908447265625, 0.029632568359375, 0.064666748046875, 0.34332275390625, 0.546234130859375, 0.714080810546875, 0.6831817626953125, 0.2438507080078125, 0.9767608642578125, 0.37139892578125, 0.947052001953125, 0.1902618408203125, 0.2327423095703125, 0.30352783203125, 0.504638671875, 0.2189178466796875, 0.974365234375, 0.5173492431640625, 0.989227294921875, 0.7176513671875, 0.9884490966796875, 0.5499267578125, 0.66400146484375, 0.9796600341796875, 0.8029937744140625, 0.136810302734375, 0.568359375, 0.74029541015625, 0.1834869384765625, 0.755828857421875, 0.0800933837890625, 0.5612640380859375, 0.667633056640625, 0.70538330078125, 0.5916900634765625, 0.1703033447265625, 0.3587646484375, 0.1517181396484375, 0.313568115234375, 0.6865997314453125, 0.7470703125, 0.56475830078125, 0.5050506591796875, 0.1212005615234375, 0.9232940673828125, 0.5467987060546875, 0.927825927734375, 0.3316802978515625, 0.2444610595703125, 0.9585418701171875, 0.3873443603515625, 0.4060821533203125, 0.4067535400390625, 0.7090301513671875, 0.8426361083984375, 0.12664794921875, 0.53729248046875, 0.6237030029296875, 0.458465576171875, 0.9170684814453125, 0.185638427734375, 0.27679443359375, 0.1817474365234375, 0.6016845703125, 0.7748260498046875, 0.33209228515625, 0.930633544921875, 0.44976806640625, 0.942169189453125, 0.6307220458984375, 0.780487060546875, 0.6793975830078125, 0.2469940185546875, 0.38897705078125, 0.91424560546875, 0.3986663818359375, 0.1226959228515625, 0.2099456787109375, 0.5053558349609375, 0.0782928466796875, 0.9635772705078125, 0.79486083984375, 0.191619873046875, 0.1784210205078125, 0.047515869140625, 0.021148681640625, 0.8968353271484375, 0.1436309814453125, 0.5054168701171875, 0.011688232421875, 0.1646881103515625, 0.6247406005859375, 0.6427001953125, 0.6102752685546875, 0.2333526611328125, 0.9757232666015625, 0.3704681396484375, 0.6492156982421875, 0.3899993896484375, 0.6226806640625, 0.6165313720703125, 0.5342254638671875, 0.7325592041015625, 0.72760009765625, 0.986541748046875, 0.7114715576171875, 0.5229949951171875, 0.034332275390625, 0.218170166015625, 0.4457855224609375, 0.49334716796875, 0.9768829345703125, 0.5655517578125, 0.9178009033203125, 0.5343017578125, 0.8005523681640625, 0.5299835205078125, 0.0732879638671875, 0.34344482421875, 0.0377960205078125, 0.37738037109375, 0.4403228759765625, 0.4791717529296875, 0.2754974365234375, 0.8808441162109375, 0.1365203857421875, 0.2970733642578125, 0.3078460693359375, 0.8040313720703125, 0.837158203125, 0.118072509765625, 0.9268341064453125, 0.1510467529296875, 0.8262786865234375, 0.5979766845703125, 0.20074462890625, 0.88128662109375, 0.548553466796875, 0.05877685546875, 0.6141204833984375, 0.490478515625, 0.6470794677734375, 0.116455078125, 0.8037872314453125, 0.026580810546875, 0.100555419921875, 0.3323516845703125, 0.101806640625, 0.5915985107421875, 0.16107177734375, 0.418060302734375, 0.74102783203125, 0.3171539306640625, 0.5472564697265625, 0.200653076171875, 0.8638458251953125, 0.17401123046875, 0.123138427734375, 0.22052001953125, 0.0488433837890625, 0.3358612060546875, 0.0584259033203125, 0.2578277587890625, 0.7448272705078125, 0.6482696533203125, 0.0178070068359375, 0.2281036376953125, 0.1242523193359375, 0.84893798828125, 0.372039794921875, 0.3532257080078125, 0.33856201171875, 0.461334228515625, 0.12982177734375, 0.8356170654296875, 0.52471923828125, 0.7474822998046875, 0.640045166015625, 0.7315673828125, 0.1303253173828125, 0.0719451904296875, 0.902069091796875, 0.0977630615234375, 0.5696258544921875, 0.1469879150390625, 0.3116912841796875, 0.7623291015625, 0.8175201416015625, 0.270263671875, 0.0502471923828125, 0.0959625244140625, 0.2539215087890625, 0.7825164794921875, 0.08905029296875, 0.6119384765625, 0.5776214599609375, 0.7130126953125, 0.11248779296875, 0.1756134033203125, 0.677398681640625, 0.3631439208984375, 0.517486572265625, 0.8103485107421875, 0.076416015625, 0.67578125, 0.7275543212890625, 0.8166961669921875, 0.7975006103515625, 0.5827178955078125, 0.175262451171875, 0.5982818603515625, 0.4951934814453125, 0.5053558349609375, 0.022613525390625, 0.1490020751953125, 0.23492431640625, 0.5930023193359375, 0.244354248046875, 0.79315185546875, 0.8595123291015625, 0.1251373291015625, 0.062835693359375, 0.8007354736328125, 0.379364013671875, 0.2208099365234375, 0.2244415283203125, 0.0640716552734375, 0.47796630859375, 0.629058837890625, 0.7603607177734375, 0.5188140869140625, 0.9818267822265625, 0.473175048828125, 0.556243896484375, 0.947784423828125, 0.701141357421875, 0.92999267578125, 0.9529876708984375, 0.8431243896484375, 0.3814697265625, 0.441436767578125, 0.76055908203125, 0.44482421875, 0.725616455078125, 0.658355712890625, 0.193695068359375, 0.9353790283203125, 0.1316680908203125, 0.2627410888671875, 0.8794708251953125, 0.6764068603515625, 0.0856781005859375, 0.1740875244140625, 0.380859375, 0.743194580078125, 0.3529052734375, 0.2397003173828125, 0.5901031494140625, 0.91558837890625, 0.8756866455078125, 0.1798248291015625, 0.0055389404296875, 0.717559814453125, 0.092498779296875, 0.3349456787109375, 0.7882537841796875, 0.1084442138671875, 0.4125213623046875, 0.5808258056640625, 0.391021728515625, 0.220947265625, 0.4590911865234375, 0.9536590576171875, 0.8408660888671875, 0.221527099609375, 0.5110321044921875, 0.458099365234375, 0.5107421875, 0.9366455078125, 0.9235382080078125, 0.9207763671875, 0.3498687744140625, 0.8964080810546875, 0.9664154052734375, 0.3246917724609375, 0.92071533203125, 0.283050537109375, 0.748443603515625, 0.12091064453125, 0.9296112060546875, 0.1065521240234375, 0.9147796630859375, 0.804229736328125, 0.1421661376953125, 0.9466094970703125, 0.132476806640625, 0.7213134765625, 0.40826416015625, 0.316741943359375, 0.4985504150390625, 0.24249267578125, 0.156036376953125, 0.47760009765625, 0.173736572265625, 0.018463134765625, 0.4043426513671875, 0.2662811279296875, 0.414306640625, 0.475341796875, 0.2243804931640625, 0.70361328125, 0.094451904296875, 0.583526611328125, 0.6356201171875, 0.368804931640625, 0.6683807373046875, 0.6478424072265625, 0.4908294677734375, 0.7872467041015625, 0.084503173828125, 0.6672821044921875, 0.699462890625, 0.890777587890625, 0.4261474609375, 0.227325439453125, 0.7933502197265625, 0.6554412841796875, 0.831390380859375, 0.081024169921875, 0.6754302978515625, 0.5843963623046875, 0.713958740234375, 0.9264068603515625, 0.2916259765625, 0.5689697265625, 0.2267913818359375, 0.512115478515625, 0.4542236328125, 0.7669525146484375, 0.823211669921875, 0.9812469482421875, 0.233245849609375, 0.9347686767578125, 0.5110321044921875, 0.5611724853515625, 0.9534912109375, 0.865447998046875, 0.9614715576171875, 0.35272216796875, 0.2665557861328125, 0.99322509765625, 0.8614044189453125, 0.9358367919921875, 0.5876312255859375, 0.7471923828125, 0.37554931640625, 0.52825927734375, 0.19927978515625, 0.4569091796875, 0.3839263916015625, 0.1477203369140625, 0.1946868896484375, 0.8987884521484375, 0.735382080078125, 0.4956817626953125, 0.1855926513671875, 0.3379669189453125, 0.2606201171875, 0.3714447021484375, 0.809326171875, 0.143707275390625, 0.10528564453125, 0.3147735595703125, 0.9676361083984375, 0.8977203369140625, 0.16986083984375, 0.8928680419921875, 0.7327117919921875, 0.7725677490234375, 0.5345611572265625, 0.984161376953125, 0.4654998779296875, 0.1376190185546875, 0.099700927734375, 0.1629638671875, 0.239105224609375, 0.438079833984375, 0.2993621826171875, 0.3992462158203125, 0.9992828369140625, 0.633941650390625, 0.0653839111328125, 0.548797607421875, 0.442230224609375, 0.1750335693359375, 0.453125, 0.1156158447265625, 0.5452117919921875, 0.9768829345703125, 0.6178436279296875, 0.9601593017578125, 0.893096923828125, 0.81005859375, 0.6302642822265625, 0.5382537841796875, 0.5254058837890625, 0.5677337646484375, 0.8357086181640625, 0.790283203125, 0.6982269287109375, 0.979461669921875, 0.73565673828125, 0.475189208984375, 0.884490966796875, 0.957244873046875, 0.9796600341796875, 0.76519775390625, 0.5482635498046875, 0.07733154296875, 0.5792694091796875, 0.509033203125, 0.2181549072265625, 0.945404052734375, 0.6978302001953125, 0.9101715087890625, 0.2238006591796875, 0.15631103515625, 0.772674560546875, 0.8441619873046875, 0.1625518798828125, 0.83935546875, 0.624908447265625, 0.19207763671875, 0.5220794677734375, 0.4601593017578125, 0.1371307373046875, 0.721588134765625, 0.05596923828125, 0.0927276611328125, 0.351806640625, 0.68475341796875, 0.122772216796875, 0.297210693359375, 0.8579864501953125, 0.6559295654296875, 0.5113372802734375, 0.7862091064453125, 0.6455841064453125, 0.1314239501953125, 0.1607818603515625, 0.700531005859375, 0.6941986083984375, 0.817047119140625, 0.2221832275390625, 0.501983642578125, 0.1421661376953125, 0.4997711181640625, 0.2631072998046875, 0.493804931640625, 0.6595611572265625, 0.116241455078125, 0.6181182861328125, 0.4532928466796875, 0.9401092529296875, 0.6285400390625, 0.5710601806640625, 0.2828826904296875, 0.9417266845703125, 0.397247314453125, 0.2587738037109375, 0.8179931640625, 0.9452972412109375, 0.575775146484375, 0.5727996826171875, 0.5171356201171875, 0.1470489501953125, 0.07354736328125, 0.39056396484375, 0.236602783203125, 0.810760498046875, 0.974456787109375, 0.6436309814453125, 0.0899505615234375, 0.0934295654296875, 0.596405029296875, 0.7286224365234375, 0.4717864990234375, 0.5552978515625, 0.134368896484375, 0.0323486328125, 0.0684967041015625, 0.87652587890625, 0.00897216796875, 0.68621826171875, 0.831695556640625, 0.2038726806640625, 0.97308349609375, 0.1539154052734375, 0.895355224609375, 0.0953369140625, 0.3749847412109375, 0.41790771484375, 0.5257415771484375, 0.57769775390625, 0.3000946044921875, 0.3933258056640625, 0.5516357421875, 0.69439697265625, 0.9304046630859375, 0.133209228515625, 0.411895751953125, 0.1275177001953125, 0.552215576171875, 0.03741455078125, 0.515380859375, 0.2552947998046875, 0.729156494140625, 0.5460357666015625, 0.9759063720703125, 0.536376953125, 0.98779296875, 0.6612548828125, 0.7594757080078125, 0.226898193359375, 0.9185638427734375, 0.56341552734375, 0.164306640625, 0.8964080810546875, 0.842437744140625, 0.152191162109375, 0.8473052978515625, 0.8690185546875, 0.14752197265625, 0.070159912109375, 0.7529754638671875, 0.0065155029296875, 0.4759979248046875, 0.6226654052734375, 0.3809814453125, 0.4883575439453125, 0.063385009765625, 0.7270355224609375, 0.07666015625, 0.2066192626953125, 0.145416259765625, 0.9883575439453125, 0.9562225341796875, 0.868804931640625, 0.934722900390625, 0.44384765625, 0.8964996337890625, 0.47222900390625, 0.7062225341796875, 0.7089691162109375, 0.27508544921875, 0.01336669921875, 0.74005126953125, 0.8156280517578125, 0.2717742919921875, 0.139068603515625, 0.9498748779296875, 0.2731781005859375, 0.6984710693359375, 0.376190185546875, 0.1520233154296875, 0.836761474609375, 0.3058624267578125, 0.0049591064453125, 0.09197998046875, 0.2930145263671875, 0.810394287109375, 0.5201416015625, 0.9669952392578125, 0.917877197265625, 0.335784912109375, 0.7975006103515625, 0.3473052978515625, 0.1090850830078125, 0.9433746337890625, 0.1004638671875, 0.8735198974609375, 0.4875946044921875, 0.086822509765625, 0.858489990234375, 0.2726898193359375, 0.9181365966796875, 0.2470703125, 0.6467132568359375, 0.9105377197265625, 0.764373779296875, 0.006134033203125, 0.2205810546875, 0.77142333984375, 0.140625, 0.8496856689453125, 0.1201019287109375, 0.1932525634765625, 0.519805908203125, 0.018463134765625, 0.50115966796875, 0.9979400634765625, 0.5125579833984375, 0.548919677734375, 0.64739990234375, 0.9151611328125, 0.9438323974609375, 0.8471527099609375, 0.90509033203125, 0.1901702880859375, 0.189666748046875, 0.3101806640625, 0.65673828125, 0.37762451171875, 0.4539337158203125, 0.9083709716796875, 0.375, 0.583648681640625, 0.2795257568359375, 0.21051025390625, 0.760955810546875, 0.952728271484375, 0.874114990234375, 0.144622802734375, 0.984466552734375, 0.618438720703125, 0.92987060546875, 0.3093109130859375, 0.036468505859375, 0.837615966796875, 0.072235107421875, 0.4747467041015625, 0.6843109130859375, 0.634033203125, 0.920562744140625, 0.5457763671875, 0.005950927734375, 0.1592559814453125, 0.417694091796875, 0.757965087890625, 0.4173736572265625, 0.4216461181640625, 0.9906158447265625, 0.6039581298828125, 0.0152587890625, 0.9674530029296875, 0.26361083984375, 0.2056427001953125, 0.0380401611328125, 0.527618408203125, 0.7929229736328125, 0.1527099609375, 0.5064697265625, 0.373016357421875, 0.66363525390625, 0.7527618408203125, 0.415130615234375, 0.6472930908203125, 0.380157470703125, 0.4161376953125, 0.833404541015625, 0.1060638427734375, 0.085601806640625, 0.6026763916015625, 0.0819091796875, 0.446624755859375, 0.9833831787109375, 0.610137939453125, 0.1333465576171875, 0.5406951904296875, 0.944244384765625, 0.1205291748046875, 0.6275482177734375, 0.061309814453125, 0.4381256103515625, 0.5804901123046875, 0.4104156494140625, 0.5336151123046875, 0.6259765625, 0.8804779052734375, 0.042755126953125, 0.7335052490234375, 0.587615966796875, 0.9463348388671875, 0.19256591796875, 0.1383209228515625, 0.7651824951171875, 0.39105224609375, 0.3892822265625, 0.4344024658203125, 0.87359619140625, 0.1786041259765625, 0.755157470703125, 0.687225341796875, 0.21307373046875, 0.9106597900390625, 0.0117645263671875, 0.4621429443359375, 0.0869140625, 0.6056671142578125, 0.9986724853515625, 0.498199462890625, 0.5403900146484375, 0.130859375, 0.3829498291015625, 0.3984222412109375, 0.7381439208984375, 0.224853515625, 0.8784027099609375, 0.2776336669921875, 0.5711212158203125, 0.6528167724609375, 0.9899139404296875, 0.464813232421875, 0.4994964599609375, 0.7993011474609375, 0.37896728515625, 0.1157379150390625, 0.4078216552734375, 0.6649322509765625, 0.202423095703125, 0.8956298828125, 0.3130340576171875, 0.472747802734375, 0.9095611572265625, 0.9579010009765625, 0.4907379150390625, 0.9985198974609375, 0.7462158203125, 0.33746337890625, 0.021820068359375, 0.7473602294921875, 0.0996856689453125, 0.9005126953125, 0.951629638671875, 0.206146240234375, 0.4217987060546875, 0.015838623046875, 0.4882965087890625, 0.200439453125, 0.4244232177734375, 0.54229736328125, 0.3848419189453125, 0.319610595703125, 0.9132080078125, 0.8250274658203125, 0.6110992431640625, 0.4583892822265625, 0.475189208984375, 0.9813385009765625, 0.58740234375, 0.535308837890625, 0.9326934814453125, 0.99835205078125, 0.4401397705078125, 0.6311492919921875, 0.199676513671875, 0.6437835693359375, 0.5323333740234375, 0.6661376953125, 0.885162353515625, 0.4832000732421875, 0.1912841796875, 0.1633453369140625, 0.6949615478515625, 0.37786865234375, 0.162322998046875, 0.4336700439453125, 0.8443450927734375, 0.44390869140625, 0.8279876708984375, 0.9832611083984375, 0.4434356689453125, 0.5058441162109375, 0.5940399169921875, 0.691192626953125, 0.751708984375, 0.357818603515625, 0.008026123046875, 0.80145263671875, 0.2595977783203125, 0.5566864013671875, 0.4055328369140625, 0.5647125244140625, 0.0713653564453125, 0.7584075927734375, 0.1732025146484375, 0.9598236083984375, 0.864288330078125, 0.959442138671875, 0.6658172607421875, 0.955535888671875, 0.111663818359375, 0.9017181396484375, 0.7169647216796875, 0.526824951171875, 0.0995635986328125, 0.314453125, 0.6892242431640625, 0.6631927490234375, 0.6521453857421875, 0.567169189453125, 0.116943359375, 0.6599273681640625, 0.7125091552734375, 0.231842041015625, 0.4205169677734375, 0.8933868408203125, 0.0005950927734375, 0.6356353759765625, 0.579681396484375, 0.406402587890625, 0.0105133056640625, 0.2469940185546875, 0.940582275390625, 0.1333770751953125, 0.581146240234375, 0.58331298828125, 0.7617950439453125, 0.0179595947265625, 0.1270599365234375, 0.7761383056640625, 0.8604736328125, 0.1685791015625, 0.049560546875, 0.3681488037109375, 0.034027099609375, 0.36370849609375, 0.41973876953125, 0.268524169921875, 0.694580078125, 0.4553375244140625, 0.47412109375, 0.3427276611328125, 0.1272125244140625, 0.5644989013671875, 0.170318603515625, 0.0780181884765625, 0.33795166015625, 0.668182373046875, 0.481536865234375, 0.023681640625, 0.359375, 0.0856170654296875, 0.75115966796875, 0.600982666015625, 0.9420166015625, 0.862701416015625, 0.8675079345703125, 0.0433807373046875, 0.784454345703125, 0.793212890625, 0.8118133544921875, 0.2602081298828125, 0.8721160888671875, 0.15582275390625, 0.5601348876953125, 0.2563323974609375, 0.2497100830078125, 0.4956817626953125, 0.0641326904296875, 0.7028045654296875, 0.4642181396484375, 0.8365631103515625, 0.7021026611328125, 0.6012420654296875, 0.4943695068359375, 0.62451171875, 0.2071685791015625, 0.1786651611328125, 0.946533203125, 0.1878814697265625, 0.5173492431640625, 0.36199951171875, 0.840240478515625, 0.046600341796875, 0.9131011962890625, 0.6909027099609375, 0.6121063232421875, 0.3774871826171875, 0.9122314453125, 0.9137725830078125, 0.36993408203125, 0.1774444580078125, 0.587371826171875, 0.4716796875, 0.3247833251953125, 0.6623077392578125, 0.31231689453125, 0.093414306640625, 0.679443359375, 0.6309051513671875, 0.7577667236328125, 0.1748046875, 0.5617828369140625, 0.14581298828125, 0.18304443359375, 0.3685455322265625, 0.017486572265625, 0.537017822265625, 0.08599853515625, 0.7635955810546875, 0.1844482421875, 0.6016082763671875, 0.3436126708984375, 0.9917449951171875, 0.901031494140625, 0.783721923828125, 0.7119903564453125, 0.471221923828125, 0.9537506103515625, 0.381439208984375, 0.0956878662109375, 0.4019775390625, 0.2772979736328125, 0.389801025390625, 0.8084716796875, 0.4816131591796875, 0.5254669189453125, 0.19879150390625, 0.8318023681640625, 0.164520263671875, 0.8180084228515625, 0.2570343017578125, 0.2547454833984375, 0.80865478515625, 0.20526123046875, 0.4053192138671875, 0.121063232421875, 0.0235595703125, 0.685455322265625, 0.66278076171875, 0.174346923828125, 0.667510986328125, 0.200286865234375, 0.133453369140625, 0.0018310546875, 0.6077423095703125, 0.46966552734375, 0.391357421875, 0.75177001953125, 0.5936126708984375, 0.593658447265625, 0.758087158203125, 0.817657470703125, 0.1268463134765625, 0.1081390380859375, 0.53863525390625, 0.38189697265625, 0.5149993896484375, 0.57708740234375, 0.073699951171875, 0.3750457763671875, 0.1228790283203125, 0.43707275390625, 0.0328216552734375, 0.7070159912109375, 0.6025238037109375, 0.13763427734375, 0.227874755859375, 0.419677734375, 0.8057098388671875, 0.310760498046875, 0.214019775390625, 0.5623321533203125, 0.3220367431640625, 0.488250732421875, 0.749237060546875, 0.4668426513671875, 0.222900390625, 0.5906219482421875, 0.21185302734375, 0.1320343017578125, 0.037200927734375, 0.9085845947265625, 0.8488616943359375, 0.8701324462890625, 0.84149169921875, 0.0367584228515625, 0.6023712158203125, 0.11968994140625, 0.483123779296875, 0.413848876953125, 0.9071197509765625, 0.6784210205078125, 0.9427337646484375, 0.9375457763671875, 0.7613067626953125, 0.6194915771484375, 0.7203826904296875, 0.1611175537109375, 0.0649261474609375, 0.1756134033203125, 0.14404296875, 0.2550811767578125, 0.5243377685546875, 0.7993316650390625, 0.79296875, 0.6970977783203125, 0.2320556640625, 0.0021209716796875, 0.3002777099609375, 0.8244476318359375, 0.7816162109375, 0.994964599609375, 0.078338623046875, 0.0693511962890625, 0.0092620849609375, 0.870849609375, 0.48193359375, 0.98583984375, 0.161224365234375, 0.34228515625, 0.5199737548828125, 0.748626708984375, 0.0030364990234375, 0.7981414794921875, 0.0377197265625, 0.878143310546875, 0.0095062255859375, 0.7806243896484375, 0.8475799560546875, 0.7667388916015625, 0.4779052734375, 0.151275634765625, 0.4296112060546875, 0.0465850830078125, 0.628082275390625, 0.2819976806640625, 0.272857666015625, 0.951873779296875, 0.058624267578125, 0.0042266845703125, 0.327178955078125, 0.028656005859375, 0.2399749755859375, 0.5692901611328125, 0.30487060546875, 0.31610107421875, 0.564697265625, 0.2789764404296875, 0.9123382568359375, 0.7843170166015625, 0.554931640625, 0.773956298828125, 0.1653594970703125, 0.173553466796875, 0.239013671875, 0.23797607421875, 0.5526885986328125, 0.7604827880859375, 0.24957275390625, 0.714080810546875, 0.7582550048828125, 0.86676025390625, 0.056549072265625, 0.5946807861328125, 0.8661346435546875, 0.58367919921875, 0.0758209228515625, 0.088165283203125, 0.29730224609375, 0.5785675048828125, 0.0030975341796875, 0.2085113525390625, 0.802520751953125, 0.8356475830078125, 0.1474151611328125, 0.3784942626953125, 0.519927978515625, 0.86859130859375, 0.446502685546875, 0.08038330078125, 0.0897369384765625, 0.3199005126953125, 0.1629791259765625, 0.97607421875, 0.4192962646484375, 0.31854248046875, 0.260009765625, 0.726776123046875, 0.8983612060546875, 0.818756103515625, 0.457366943359375, 0.3834686279296875, 0.563751220703125, 0.2071533203125, 0.463470458984375, 0.0906982421875, 0.495330810546875, 0.949920654296875, 0.44671630859375, 0.51806640625, 0.60662841796875, 0.14788818359375, 0.440216064453125, 0.4393157958984375, 0.41485595703125, 0.7460784912109375, 0.8103179931640625, 0.557769775390625, 0.5509185791015625, 0.8180084228515625, 0.584716796875, 0.1016387939453125, 0.3195343017578125, 0.78729248046875, 0.9189453125, 0.81829833984375, 0.4064483642578125, 0.21368408203125, 0.522552490234375, 0.9824371337890625, 0.75140380859375, 0.4149017333984375, 0.731231689453125, 0.200714111328125, 0.6003875732421875, 0.879974365234375, 0.6778411865234375, 0.0545196533203125, 0.711090087890625, 0.123809814453125, 0.0021514892578125, 0.27935791015625, 0.0919036865234375, 0.279205322265625, 0.3961181640625, 0.0185699462890625, 0.6345367431640625, 0.9962158203125, 0.10186767578125, 0.87115478515625, 0.4562835693359375, 0.8486785888671875, 0.6009674072265625, 0.44854736328125, 0.53045654296875, 0.5585784912109375, 0.348724365234375, 0.3293914794921875, 0.1419677734375, 0.6065521240234375, 0.9779052734375, 0.910858154296875, 0.6006927490234375, 0.2577667236328125, 0.288116455078125, 0.5604705810546875, 0.220062255859375, 0.0702972412109375, 0.1180419921875, 0.7374114990234375, 0.436614990234375, 0.923248291015625, 0.6711273193359375, 0.147979736328125, 0.8590545654296875, 0.60919189453125, 0.590057373046875, 0.0672607421875, 0.3205413818359375, 0.232879638671875, 0.390777587890625, 0.6980743408203125, 0.046600341796875, 0.13238525390625, 0.97125244140625, 0.3353424072265625, 0.48260498046875, 0.2389678955078125, 0.9199371337890625, 0.2291717529296875, 0.941741943359375, 0.985595703125, 0.3684844970703125, 0.3778228759765625, 0.18341064453125, 0.343902587890625, 0.1405181884765625, 0.965179443359375, 0.1115875244140625, 0.186492919921875, 0.307403564453125, 0.8821258544921875, 0.8753662109375, 0.197052001953125, 0.11419677734375, 0.8296051025390625, 0.141021728515625, 0.2879486083984375, 0.8206787109375, 0.6710052490234375, 0.466094970703125, 0.90826416015625, 0.8434295654296875, 0.1455230712890625, 0.4900970458984375, 0.1024627685546875, 0.105133056640625, 0.5305938720703125, 0.8912506103515625, 0.7515869140625, 0.1960601806640625, 0.0409088134765625, 0.36370849609375, 0.073028564453125, 0.2212982177734375, 0.515045166015625, 0.7543487548828125, 0.8929901123046875, 0.789093017578125, 0.218109130859375, 0.0597991943359375, 0.366058349609375, 0.972503662109375, 0.696990966796875, 0.984527587890625, 0.4707794189453125, 0.1499481201171875, 0.291046142578125, 0.270904541015625, 0.60675048828125, 0.4078216552734375, 0.3966522216796875, 0.46771240234375, 0.610626220703125, 0.70770263671875, 0.959320068359375, 0.8286590576171875, 0.748931884765625, 0.755584716796875, 0.3362579345703125, 0.10211181640625, 0.8064117431640625, 0.1855010986328125, 0.1405487060546875, 0.2447662353515625, 0.290008544921875, 0.1623687744140625, 0.8180694580078125, 0.997222900390625, 0.4561309814453125, 0.0108795166015625, 0.516754150390625, 0.4320526123046875, 0.4243316650390625, 0.4894256591796875, 0.236602783203125, 0.233673095703125, 0.15185546875, 0.4959564208984375, 0.1162872314453125, 0.4864501953125, 0.90301513671875, 0.228424072265625, 0.298858642578125, 0.58123779296875, 0.7222900390625, 0.4904327392578125, 0.2934417724609375, 0.4416656494140625, 0.705047607421875, 0.492462158203125, 0.5845489501953125, 0.591156005859375, 0.64703369140625, 0.960418701171875, 0.5743560791015625, 0.4096527099609375, 0.1677398681640625, 0.005340576171875, 0.20880126953125, 0.6751556396484375, 0.4770050048828125, 0.1688995361328125, 0.2444305419921875, 0.0007171630859375, 0.828826904296875, 0.4169158935546875, 0.9983062744140625, 0.26531982421875, 0.8915863037109375, 0.354461669921875, 0.2150421142578125, 0.37420654296875, 0.7609710693359375, 0.7656402587890625, 0.0775909423828125, 0.559844970703125, 0.2082977294921875, 0.6945648193359375, 0.326324462890625, 0.8290863037109375, 0.6180572509765625, 0.03619384765625, 0.168914794921875, 0.78961181640625, 0.33758544921875, 0.083526611328125, 0.1107635498046875, 0.605499267578125, 0.5954132080078125, 0.3085784912109375, 0.559234619140625, 0.4242401123046875, 0.8241119384765625, 0.353546142578125, 0.534454345703125, 0.885711669921875, 0.9288330078125, 0.4080047607421875, 0.7983551025390625, 0.535858154296875, 0.01983642578125, 0.1922454833984375, 0.7675018310546875, 0.6635894775390625, 0.25225830078125, 0.745880126953125, 0.5996551513671875, 0.5080108642578125, 0.7470550537109375, 0.3216400146484375, 0.0110015869140625, 0.129791259765625, 0.04827880859375, 0.2752227783203125, 0.0380401611328125, 0.80828857421875, 0.956146240234375, 0.9972991943359375, 0.3592376708984375, 0.4195556640625, 0.0762939453125, 0.56988525390625, 0.9027099609375, 0.003662109375, 0.0135345458984375, 0.3023223876953125, 0.6916961669921875, 0.969818115234375, 0.99566650390625, 0.5333099365234375, 0.40960693359375, 0.96136474609375, 0.161773681640625, 0.0417327880859375, 0.412353515625, 0.798248291015625, 0.48406982421875, 0.481781005859375, 0.4359130859375, 0.61297607421875, 0.9992523193359375, 0.7730560302734375, 0.2053680419921875, 0.2842254638671875, 0.3723602294921875, 0.672119140625, 0.75830078125, 0.0933380126953125, 0.2228240966796875, 0.5930633544921875, 0.034454345703125, 0.1688232421875, 0.51605224609375, 0.1049346923828125, 0.0550079345703125, 0.085052490234375, 0.8679046630859375, 0.69390869140625, 0.7960968017578125, 0.6664581298828125, 0.694244384765625, 0.6357574462890625, 0.09918212890625, 0.9173431396484375, 0.917022705078125, 0.1421356201171875, 0.886932373046875, 0.1985931396484375, 0.984588623046875, 0.293060302734375, 0.8303680419921875, 0.1859283447265625, 0.116119384765625, 0.9155120849609375, 0.303436279296875, 0.2193145751953125, 0.83831787109375, 0.8707733154296875, 0.722503662109375, 0.87872314453125, 0.8530426025390625, 0.4622802734375, 0.156951904296875, 0.628875732421875, 0.2054443359375, 0.0644378662109375, 0.69866943359375, 0.72503662109375, 0.849884033203125, 0.15570068359375, 0.407196044921875, 0.91485595703125, 0.31585693359375, 0.587646484375, 0.6452178955078125, 0.8104705810546875, 0.1703338623046875, 0.774505615234375, 0.1798095703125, 0.0696868896484375, 0.054412841796875, 0.796051025390625, 0.7196197509765625, 0.54949951171875, 0.3653106689453125, 0.15997314453125, 0.3358001708984375, 0.353240966796875, 0.06683349609375, 0.080841064453125, 0.5403289794921875, 0.2545013427734375, 0.3789520263671875, 0.3597564697265625, 0.8350067138671875, 0.9980316162109375, 0.5391082763671875, 0.7941131591796875, 0.7048492431640625, 0.5238037109375, 0.8692169189453125, 0.77496337890625, 0.9243621826171875, 0.7237396240234375, 0.889923095703125, 0.7833099365234375, 0.66888427734375, 0.537261962890625, 0.1114349365234375, 0.0005645751953125, 0.76409912109375, 0.1500244140625, 0.9287872314453125, 0.88458251953125, 0.3909759521484375, 0.6812591552734375, 0.15032958984375, 0.185333251953125, 0.93914794921875, 0.823272705078125, 0.640960693359375, 0.2144012451171875, 0.574554443359375, 0.9482879638671875, 0.21051025390625, 0.6521759033203125, 0.1651458740234375, 0.9559326171875, 0.9272003173828125, 0.4610748291015625, 0.2242431640625, 0.8033294677734375, 0.9137420654296875, 0.56573486328125, 0.986358642578125, 0.928131103515625, 0.2686614990234375, 0.6913299560546875, 0.1721343994140625, 0.2501220703125, 0.581268310546875, 0.2211761474609375, 0.7170867919921875, 0.9671478271484375, 0.7923736572265625, 0.760833740234375, 0.07952880859375, 0.64227294921875, 0.1911773681640625, 0.9315032958984375, 0.2016448974609375, 0.621002197265625, 0.899383544921875, 0.395965576171875, 0.9510955810546875, 0.8477020263671875, 0.922332763671875, 0.9864349365234375, 0.2518310546875, 0.241912841796875, 0.2657318115234375, 0.244293212890625, 0.3548583984375, 0.760986328125, 0.9866180419921875, 0.1780242919921875, 0.4024810791015625, 0.161712646484375, 0.4263458251953125, 0.647918701171875, 0.1746063232421875, 0.0919036865234375, 0.372772216796875, 0.8352508544921875, 0.4086151123046875, 0.2209320068359375, 0.82684326171875, 0.4541778564453125, 0.3018798828125, 0.3441925048828125, 0.773345947265625, 0.2080078125, 0.857330322265625, 0.17779541015625, 0.08319091796875, 0.224273681640625, 0.115570068359375, 0.4574737548828125, 0.36370849609375, 0.3785858154296875, 0.23162841796875, 0.561004638671875, 0.40472412109375, 0.2894134521484375, 0.4659271240234375, 0.5985260009765625, 0.0518035888671875, 0.82000732421875, 0.4067840576171875, 0.0615081787109375, 0.912811279296875, 0.1828765869140625, 0.9951934814453125, 0.323394775390625, 0.76580810546875, 0.308624267578125, 0.3576812744140625, 0.3382568359375, 0.97332763671875, 0.915557861328125, 0.8076629638671875, 0.6751251220703125, 0.9744110107421875, 0.4832000732421875, 0.5841217041015625, 0.980987548828125, 0.5639495849609375, 0.820648193359375, 0.34228515625, 0.5556640625, 0.03125, 0.173553466796875, 0.5396270751953125, 0.547698974609375, 0.8837890625, 0.3424835205078125, 0.6852874755859375, 0.96380615234375, 0.7750701904296875, 0.3552398681640625, 0.165374755859375, 0.8845672607421875, 0.5242156982421875, 0.32489013671875, 0.7630615234375, 0.2787933349609375, 0.7692413330078125, 0.467742919921875, 0.2901458740234375, 0.72857666015625, 0.1606903076171875, 0.050079345703125, 0.75189208984375, 0.314483642578125, 0.379547119140625, 0.7520599365234375, 0.1939849853515625, 0.29425048828125, 0.1683197021484375, 0.48175048828125, 0.7129364013671875, 0.6336822509765625, 0.480682373046875, 0.202667236328125, 0.0171356201171875, 0.461395263671875, 0.072601318359375, 0.342620849609375, 0.7463836669921875, 0.19189453125, 0.0872650146484375, 0.6569061279296875], "dims": [1, 10, 20, 30], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.mlir b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.mlir new file mode 100644 index 0000000..8c53dbe --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.mlir @@ -0,0 +1,50 @@ +module attributes {llvm.data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", llvm.target_triple = "x86_64-pc-linux-gnu", "onnx-mlir.symbol-postfix" = "hardmaxsimple.mlir"} { + func.func @main_graph(%arg0: memref<1x10x20x30xf32>) -> memref<1x10x20x30xf32> attributes {input_names = ["in_a"], llvm.emit_c_interface, output_names = ["out_a"]} { + %cst = arith.constant 0.000000e+00 : f32 + %cst_0 = arith.constant 1.000000e+00 : f32 + %c0 = arith.constant 0 : index + %alloc = memref.alloc() {alignment = 16 : i64} : memref<1x10x20x30xf32> + %alloc_1 = memref.alloc() {alignment = 16 : i64} : memref<1x10x20x1xindex> + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 1 { + affine.store %c0, %alloc_1[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x1xindex> + } + } + } + } + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 30 { + %0 = affine.load %alloc_1[%arg1, %arg2, %arg3, %c0] : memref<1x10x20x1xindex> + %1 = memref.load %arg0[%arg1, %arg2, %arg3, %0] : memref<1x10x20x30xf32> + %2 = affine.load %arg0[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + %3 = arith.cmpf ogt, %2, %1 : f32 + scf.if %3 { + affine.store %arg4, %alloc_1[%arg1, %arg2, %arg3, %c0] : memref<1x10x20x1xindex> + } + } + } + } + } + affine.for %arg1 = 0 to 1 { + affine.for %arg2 = 0 to 10 { + affine.for %arg3 = 0 to 20 { + affine.for %arg4 = 0 to 30 { + %0 = affine.load %alloc_1[%arg1, %arg2, %arg3, %c0] : memref<1x10x20x1xindex> + %1 = arith.cmpi eq, %0, %arg4 : index + scf.if %1 { + affine.store %cst_0, %alloc[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + } else { + affine.store %cst, %alloc[%arg1, %arg2, %arg3, %arg4] : memref<1x10x20x30xf32> + } + } + } + } + } + return %alloc : memref<1x10x20x30xf32> + } + "krnl.entry_point"() {func = @main_graph, numInputs = 1 : i32, numOutputs = 1 : i32, signature = "[ { \22type\22 : \22f32\22 , \22dims\22 : [1 , 10 , 20 , 30] , \22name\22 : \22in_a\22 }\0A\0A]\00@[ { \22type\22 : \22f32\22 , \22dims\22 : [1 , 10 , 20 , 30] , \22name\22 : \22out_a\22 }\0A\0A]\00"} : () -> () +} diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.onnx b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.onnx new file mode 100644 index 0000000..a91fb81 --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.onnx @@ -0,0 +1,17 @@ + :h + +in_aout_a"Hardmax HardMaxSimpleZ +in_a + + + + + +b +out_a + + + + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.res b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.res new file mode 100644 index 0000000..a8ba45e --- /dev/null +++ b/mlir-assigner/tests/Ops/NeedsCompilerWork/Hardmax/HardMaxSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10x20x30xf32>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +ADD THE ROWS HERE \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/.gitignore b/mlir-assigner/tests/Ops/Onnx/.gitignore new file mode 100644 index 0000000..c2f7a73 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/.gitignore @@ -0,0 +1 @@ +**.mlir diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.json b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.json new file mode 100644 index 0000000..9c80eea --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.0930633544921875, 0.1421966552734375, 0.0830841064453125, 0.876251220703125, 0.2035980224609375, 0.38433837890625, 0.6446533203125, 0.8219451904296875, 0.4010162353515625, 0.7171173095703125], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.onnx b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.onnx new file mode 100644 index 0000000..cd146e4 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.onnx @@ -0,0 +1,13 @@ + :c +" +in_aout_a"ArgMax* +axis� ArgMaxSimpleZ +in_a +  + + +b +out_a +  + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.res b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.res new file mode 100644 index 0000000..0beb6c4 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMax/ArgMaxSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x1xi64>[3] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.json b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.json new file mode 100644 index 0000000..8fb4bd4 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.2682342529296875, 0.8263092041015625, 0.6944732666015625, 0.6793212890625, 0.09832763671875, 0.728607177734375, 0.28619384765625, 0.761749267578125, 0.6746368408203125, 0.40509033203125], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.onnx b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.onnx new file mode 100644 index 0000000..5c31a18 Binary files /dev/null and b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.onnx differ diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.res b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.res new file mode 100644 index 0000000..2205f40 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndex.res @@ -0,0 +1,3 @@ +Result: +memref<1x1xi64>[4] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.json b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.json new file mode 100644 index 0000000..ca9f447 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.5597076416015625, 0.1842193603515625, 0.96063232421875, 0.074371337890625, 0.0972900390625, 0.102935791015625, 0.4470672607421875, 0.29486083984375, 0.0818328857421875, 0.6913909912109375], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.onnx b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.onnx new file mode 100644 index 0000000..4b837b2 Binary files /dev/null and b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.onnx differ diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.res b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.res new file mode 100644 index 0000000..c6e15ef --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinLastIndexNoKeepDims.res @@ -0,0 +1,3 @@ +Result: +memref<1xi64>[3] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.json b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.json new file mode 100644 index 0000000..1b74b48 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.156341552734375, 0.80206298828125, 0.0162200927734375, 0.5167388916015625, 0.4104156494140625, 0.071624755859375, 0.5138397216796875, 0.558868408203125, 0.449920654296875, 0.6326751708984375], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.onnx b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.onnx new file mode 100644 index 0000000..d3f76c7 Binary files /dev/null and b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.onnx differ diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.res b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.res new file mode 100644 index 0000000..00f40d7 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinNoKeepDims.res @@ -0,0 +1,3 @@ +Result: +memref<1xi64>[2] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.json b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.json new file mode 100644 index 0000000..d63f5dc --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.074249267578125, 0.4254913330078125, 0.171661376953125, 0.3442230224609375, 0.14166259765625, 0.99017333984375, 0.03375244140625, 0.511077880859375, 0.1835479736328125, 0.1928863525390625], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.onnx b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.onnx new file mode 100644 index 0000000..7b9fd07 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.onnx @@ -0,0 +1,13 @@ + :c +" +in_aout_a"ArgMin* +axis� ArgMinSimpleZ +in_a +  + + +b +out_a +  + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.res b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.res new file mode 100644 index 0000000..5af2875 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/ArgMin/ArgMinSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x1xi64>[6] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.json b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.json new file mode 100644 index 0000000..73536fb --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.0242156982421875, 0.25, 0.4337310791015625, 0.9387054443359375, 0.0192413330078125, 0.6714630126953125, 0.64892578125, 0.61236572265625, 0.3445587158203125, 0.6754608154296875], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.5484161376953125, 0.25, 0.6426849365234375, 0.8434906005859375, 0.9908294677734375, 0.87005615234375, 0.231109619140625, 0.83172607421875, 0.2225189208984375, 0.04949951171875], "dims": [1, 10], "type": "f32"}}] diff --git a/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.onnx b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.onnx new file mode 100644 index 0000000..f70eb77 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.onnx @@ -0,0 +1,19 @@ + :r + +in_a +in_bout_a"Equal EqualSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +   + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.res b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.res new file mode 100644 index 0000000..8d9fa02 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Equal/EqualSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xi1>[0, 1, 0, 0, 0, 0, 0, 0, 0, 0] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.json b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.json new file mode 100644 index 0000000..00bff34 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.827667236328125, 0.7689971923828125, 0.2626495361328125, 0.376922607421875, 0.405609130859375, 0.211456298828125, 0.90740966796875, 0.00811767578125, 0.2892303466796875, 0.2693634033203125], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.0218963623046875, 0.8544464111328125, 0.68560791015625, 0.8680267333984375, 0.5910186767578125, 0.44708251953125, 0.0115966796875, 0.89337158203125, 0.877685546875, 0.2297515869140625], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.onnx b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.onnx new file mode 100644 index 0000000..0d2107d --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.onnx @@ -0,0 +1,19 @@ + :v + +in_a +in_bout_a"Greater GreaterSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +   + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.res b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.res new file mode 100644 index 0000000..750ce62 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Greater/GreaterSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xi1>[1, 0, 0, 0, 0, 0, 1, 0, 0, 1] +23 rows diff --git a/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.json b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.json new file mode 100644 index 0000000..a926d5c --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.9068756103515625, 0.8516693115234375, 0.937225341796875, 0.5250091552734375, 0.289642333984375, 0.9944610595703125, 0.0269012451171875, 0.4375, 0.3177337646484375, 0.0361480712890625], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.0899658203125, 0.499725341796875, 0.5485687255859375, 0.3469390869140625, 0.0318450927734375, 0.935302734375, 0.035125732421875, 0.55328369140625, 0.61260986328125, 0.177520751953125], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.onnx b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.onnx new file mode 100644 index 0000000..af1160a --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.onnx @@ -0,0 +1,19 @@ + :� +# +in_a +in_bout_a"GreaterOrEqualGreaterEqualSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +   + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.res b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.res new file mode 100644 index 0000000..670e4ab --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/GreaterOrEqual/GreaterEqualSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xi1>[1, 1, 1, 1, 1, 1, 0, 0, 0, 0] +23 diff --git a/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.json b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.json new file mode 100644 index 0000000..373f6ff --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.6990966796875, 0.9362335205078125, 0.18975830078125, 0.1470184326171875, 0.0263214111328125, 0.3754730224609375, 0.390716552734375, 0.1606292724609375, 0.581939697265625, 0.3651885986328125], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.058380126953125, 0.4775238037109375, 0.4960479736328125, 0.4398651123046875, 0.68280029296875, 0.46044921875, 0.709747314453125, 0.3433685302734375, 0.641998291015625, 0.24725341796875], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.onnx b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.onnx new file mode 100644 index 0000000..f4579e2 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.onnx @@ -0,0 +1,20 @@ + :p + +in_a +in_bout_a"Less +LessSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +   + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.res b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.res new file mode 100644 index 0000000..ff02a3e --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Less/LessSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xi1>[0, 0, 1, 1, 1, 1, 1, 1, 1, 0] +23 rows diff --git a/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.json b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.json new file mode 100644 index 0000000..d40061a --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.4392852783203125, 0.8698883056640625, 0.962554931640625, 0.3956756591796875, 0.833770751953125, 0.6168060302734375, 0.650634765625, 0.952911376953125, 0.413726806640625, 0.1304168701171875], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.7014923095703125, 0.3493804931640625, 0.674468994140625, 0.3849334716796875, 0.885406494140625, 0.545257568359375, 0.0057830810546875, 0.2271575927734375, 0.3287811279296875, 0.4057159423828125], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.onnx b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.onnx new file mode 100644 index 0000000..5a4d10f --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.onnx @@ -0,0 +1,19 @@ + :| + +in_a +in_bout_a" LessOrEqualLessEqualSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +   + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.res b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.res new file mode 100644 index 0000000..1f96ded --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/LessOrEqual/LessEqualSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xi1>[1, 0, 0, 0, 1, 0, 0, 0, 0, 1] +23 rows diff --git a/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.json b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.json new file mode 100644 index 0000000..6a676e0 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.7663726806640625, 0.42840576171875, 0.6714630126953125, 0.166015625, 0.5845184326171875, 0.5460357666015625, 0.529632568359375, 0.424041748046875, 0.28179931640625, 0.6610107421875], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.3178253173828125, 0.100738525390625, 0.376708984375, 0.09210205078125, 0.4581146240234375, 0.52362060546875, 0.2771453857421875, 0.3883514404296875, 0.3756866455078125, 0.1933746337890625], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.onnx b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.onnx new file mode 100644 index 0000000..df29007 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.onnx @@ -0,0 +1,19 @@ + :n + +in_a +in_bout_a"Max MaxSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +  + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.res b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.res new file mode 100644 index 0000000..fd1a8d1 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Max/MaxSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xf32>[0.7663726806640625, 0.42840576171875, 0.6714630126953125, 0.166015625, 0.5845184326171875, 0.5460357666015625, 0.529632568359375, 0.424041748046875, 0.3756866455078125, 0.6610107421875] +23 rows diff --git a/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.json b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.json new file mode 100644 index 0000000..312f531 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.json @@ -0,0 +1 @@ +[{"memref": {"data": [0.5672149658203125, 0.5111083984375, 0.340667724609375, 0.9871826171875, 0.371368408203125, 0.1048126220703125, 0.0920562744140625, 0.1878814697265625, 0.9613189697265625, 0.5554962158203125], "dims": [1, 10], "type": "f32"}}, {"memref": {"data": [0.1954498291015625, 0.15118408203125, 0.3994140625, 0.4537353515625, 0.938262939453125, 0.0334014892578125, 0.1594085693359375, 0.2627410888671875, 0.000152587890625, 0.729248046875], "dims": [1, 10], "type": "f32"}}] \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.onnx b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.onnx new file mode 100644 index 0000000..026768f --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.onnx @@ -0,0 +1,19 @@ + :n + +in_a +in_bout_a"Min MinSimpleZ +in_a +  + + +Z +in_b +  + + +b +out_a +  + + +B \ No newline at end of file diff --git a/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.res b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.res new file mode 100644 index 0000000..6380080 --- /dev/null +++ b/mlir-assigner/tests/Ops/Onnx/Min/MinSimple.res @@ -0,0 +1,3 @@ +Result: +memref<1x10xf32>[0.1954498291015625, 0.15118408203125, 0.340667724609375, 0.4537353515625, 0.371368408203125, 0.0334014892578125, 0.0920562744140625, 0.1878814697265625, 0.000152587890625, 0.5554962158203125] +23 rows diff --git a/mlir-assigner/tests/README.md b/mlir-assigner/tests/README.md index 7349be6..61ca772 100644 --- a/mlir-assigner/tests/README.md +++ b/mlir-assigner/tests/README.md @@ -80,8 +80,8 @@ long as it is applicable for ZK). | **Adam** | :x: | :x: | | | **Add** | :white_check_mark: | :white_check_mark: | No support for integers at the moment. | | **And** | :x: | :white_check_mark: | | -| **ArgMax** | :x: | :white_check_mark: | | -| **ArgMin** | :x: | :white_check_mark: | | +| **ArgMax** | :x: | :white_check_mark: | Apparently select_last_index always 1 | +| **ArgMin** | :x: | :white_check_mark: | Apparently select_last_index always 1 | | **ArrayFeatureExtractor** | :x: | :x: | | | **Asin** | :x: | :white_check_mark: | | | **Asinh** | :x: | :white_check_mark: | |