Remove unused / unimplemented parameter "crops" for BATCH_TO_SPACE
Bug: 73661175
Test: mm
Test: NeuralNetworksTests
Change-Id: If4b50c50e0847ce36016f6c257aac3b9d418c7b2
diff --git a/nn/common/CpuExecutor.cpp b/nn/common/CpuExecutor.cpp
index 19a4eda..7c5b811 100644
--- a/nn/common/CpuExecutor.cpp
+++ b/nn/common/CpuExecutor.cpp
@@ -1298,12 +1298,11 @@
svdf.Eval();
} break;
case OperationType::BATCH_TO_SPACE_ND: {
- if (!allParametersPresent(3, 1)) {
+ if (!allParametersPresent(2, 1)) {
return ANEURALNETWORKS_BAD_DATA;
}
const RunTimeOperandInfo& input = mOperands[ins[0]];
const RunTimeOperandInfo& blockSize = mOperands[ins[1]];
- const RunTimeOperandInfo& crops = mOperands[ins[2]];
RunTimeOperandInfo& output = mOperands[outs[0]];
Shape outShape = output.shape();
diff --git a/nn/common/Utils.cpp b/nn/common/Utils.cpp
index 64fbbd3..5dc9fa0 100644
--- a/nn/common/Utils.cpp
+++ b/nn/common/Utils.cpp
@@ -1089,8 +1089,8 @@
return ANEURALNETWORKS_NO_ERROR;
}
case ANEURALNETWORKS_BATCH_TO_SPACE_ND: {
- if (inputCount != 3 || outputCount != 1) {
- logInvalidInOutNumber(3, 1);
+ if (inputCount != 2 || outputCount != 1) {
+ logInvalidInOutNumber(2, 1);
return ANEURALNETWORKS_BAD_DATA;
}
auto inputType = operands[inputIndexes[0]].type;
@@ -1098,12 +1098,10 @@
std::vector<OperandType> outExpectedTypes;
if (inputType == OperandType::TENSOR_FLOAT32) {
inExpectedTypes = {OperandType::TENSOR_FLOAT32,
- OperandType::TENSOR_INT32,
OperandType::TENSOR_INT32};
outExpectedTypes = {OperandType::TENSOR_FLOAT32};
} else if (inputType == OperandType::TENSOR_QUANT8_ASYMM) {
inExpectedTypes = {OperandType::TENSOR_QUANT8_ASYMM,
- OperandType::TENSOR_INT32,
OperandType::TENSOR_INT32};
outExpectedTypes = {OperandType::TENSOR_QUANT8_ASYMM};
} else {
diff --git a/nn/runtime/include/NeuralNetworks.h b/nn/runtime/include/NeuralNetworks.h
index af21f3b..a961a46 100644
--- a/nn/runtime/include/NeuralNetworks.h
+++ b/nn/runtime/include/NeuralNetworks.h
@@ -1232,8 +1232,6 @@
* This operation reshapes the batch dimension (dimension 0) into M + 1 dimensions of shape
* block_shape + [batch], interleaves these blocks back into the grid defined by the
* spatial dimensions [1, ..., M], to obtain a result with the same rank as the input.
- * The spatial dimensions of this intermediate result are then optionally cropped
- * according to the amount to crop (input2) to produce the output.
*
* This is the reverse of SpaceToBatch.
*
@@ -1247,8 +1245,6 @@
* 0: An n-D tensor, specifying the tensor to be reshaped
* 1: A 1-D Tensor of type TENSOR_INT32, the block sizes for each spatial dimension of the
* input tensor. All values must be >= 1.
- * 2: A 1-D Tensor of type TENSOR_INT32, the amount to crop for each spatial diemension of the
- * input tensor. All values must be >= 0.
*
* Outputs:
* 0: A tensor of the same type as input0.
diff --git a/nn/runtime/test/TestValidateOperations.cpp b/nn/runtime/test/TestValidateOperations.cpp
index 8dc3013..6bb3a91 100644
--- a/nn/runtime/test/TestValidateOperations.cpp
+++ b/nn/runtime/test/TestValidateOperations.cpp
@@ -443,14 +443,23 @@
.scale = 0.0f,
.zeroPoint = 0};
- ANeuralNetworksOperandType cropOrPadding = blockShape;
+ ANeuralNetworksOperandType padding = blockShape;
ANeuralNetworksOperandType output = input;
- OperationTestBase spaceBatchTest(operationCode, {input, blockShape, cropOrPadding}, {output});
+ if (operationCode == ANEURALNETWORKS_SPACE_TO_BATCH_ND) {
+ OperationTestBase spaceBatchTest(operationCode, {input, blockShape, padding}, {output});
- EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCode());
- EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCounts());
- EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCode());
- EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCounts());
+ EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCode());
+ EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCounts());
+ EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCode());
+ EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCounts());
+ } else {
+ OperationTestBase spaceBatchTest(operationCode, {input, blockShape}, {output});
+
+ EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCode());
+ EXPECT_TRUE(spaceBatchTest.testMutatingInputOperandCounts());
+ EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCode());
+ EXPECT_TRUE(spaceBatchTest.testMutatingOutputOperandCounts());
+ }
}
TEST(OperationValidationTest, SPACE_TO_BATCH_ND_float32) {
diff --git a/nn/runtime/test/generated/models/batch_to_space.model.cpp b/nn/runtime/test/generated/models/batch_to_space.model.cpp
index f14adff..6c6d590 100644
--- a/nn/runtime/test/generated/models/batch_to_space.model.cpp
+++ b/nn/runtime/test/generated/models/batch_to_space.model.cpp
@@ -1,20 +1,16 @@
// Generated file (from: batch_to_space.mod.py). Do not edit
void CreateModel(Model *model) {
- OperandType type3(Type::TENSOR_FLOAT32, {1, 2, 2, 2});
+ OperandType type2(Type::TENSOR_FLOAT32, {1, 2, 2, 2});
OperandType type0(Type::TENSOR_FLOAT32, {4, 1, 1, 2});
- OperandType type2(Type::TENSOR_INT32, {2, 2});
OperandType type1(Type::TENSOR_INT32, {2});
// Phase 1, operands
auto input = model->addOperand(&type0);
auto block_size = model->addOperand(&type1);
- auto crops = model->addOperand(&type2);
- auto output = model->addOperand(&type3);
+ auto output = model->addOperand(&type2);
// Phase 2, operations
static int32_t block_size_init[] = {2, 2};
model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
- static int32_t crops_init[] = {0, 0, 0, 0};
- model->setOperandValue(crops, crops_init, sizeof(int32_t) * 4);
- model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size, crops}, {output});
+ model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size}, {output});
// Phase 3, inputs and outputs
model->identifyInputsAndOutputs(
{input},
diff --git a/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp b/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp
index 7fb6243..e074783 100644
--- a/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp
+++ b/nn/runtime/test/generated/models/batch_to_space_float_1.model.cpp
@@ -1,20 +1,16 @@
// Generated file (from: batch_to_space_float_1.mod.py). Do not edit
void CreateModel(Model *model) {
- OperandType type3(Type::TENSOR_FLOAT32, {1, 4, 4, 1});
+ OperandType type2(Type::TENSOR_FLOAT32, {1, 4, 4, 1});
OperandType type0(Type::TENSOR_FLOAT32, {4, 2, 2, 1});
- OperandType type2(Type::TENSOR_INT32, {2, 2});
OperandType type1(Type::TENSOR_INT32, {2});
// Phase 1, operands
auto input = model->addOperand(&type0);
auto block_size = model->addOperand(&type1);
- auto crops = model->addOperand(&type2);
- auto output = model->addOperand(&type3);
+ auto output = model->addOperand(&type2);
// Phase 2, operations
static int32_t block_size_init[] = {2, 2};
model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
- static int32_t crops_init[] = {0, 0, 0, 0};
- model->setOperandValue(crops, crops_init, sizeof(int32_t) * 4);
- model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size, crops}, {output});
+ model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size}, {output});
// Phase 3, inputs and outputs
model->identifyInputsAndOutputs(
{input},
diff --git a/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp b/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp
index 5a66696..8922740 100644
--- a/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp
+++ b/nn/runtime/test/generated/models/batch_to_space_quant8_1.model.cpp
@@ -1,20 +1,16 @@
// Generated file (from: batch_to_space_quant8_1.mod.py). Do not edit
void CreateModel(Model *model) {
- OperandType type2(Type::TENSOR_INT32, {2, 2});
OperandType type1(Type::TENSOR_INT32, {2});
- OperandType type3(Type::TENSOR_QUANT8_ASYMM, {1, 4, 4, 1}, 1.0, 0);
+ OperandType type2(Type::TENSOR_QUANT8_ASYMM, {1, 4, 4, 1}, 1.0, 0);
OperandType type0(Type::TENSOR_QUANT8_ASYMM, {4, 2, 2, 1}, 1.0, 0);
// Phase 1, operands
auto input = model->addOperand(&type0);
auto block_size = model->addOperand(&type1);
- auto crops = model->addOperand(&type2);
- auto output = model->addOperand(&type3);
+ auto output = model->addOperand(&type2);
// Phase 2, operations
static int32_t block_size_init[] = {2, 2};
model->setOperandValue(block_size, block_size_init, sizeof(int32_t) * 2);
- static int32_t crops_init[] = {0, 0, 0, 0};
- model->setOperandValue(crops, crops_init, sizeof(int32_t) * 4);
- model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size, crops}, {output});
+ model->addOperation(ANEURALNETWORKS_BATCH_TO_SPACE_ND, {input, block_size}, {output});
// Phase 3, inputs and outputs
model->identifyInputsAndOutputs(
{input},
diff --git a/nn/runtime/test/generated/models/mobilenet_quantized.model.cpp b/nn/runtime/test/generated/models/mobilenet_quantized.model.cpp
index 33d4ddf..0f76923 100644
--- a/nn/runtime/test/generated/models/mobilenet_quantized.model.cpp
+++ b/nn/runtime/test/generated/models/mobilenet_quantized.model.cpp
@@ -617,7 +617,6 @@
model->setOperandValue(op40, op40_init, sizeof(int32_t) * 128);
static uint8_t op41_init[] = {130, 106, 119, 96, 123, 111, 103, 111, 123, 112, 130, 112, 136, 143, 130, 132, 125, 107, 116, 123, 123, 115, 111, 139, 135, 143, 115, 95, 134, 119, 108, 111, 108, 128, 128, 95, 107, 182, 115, 96, 125, 113, 106, 96, 128, 81, 121, 113, 101, 118, 134, 119, 111, 111, 139, 99, 129, 112, 117, 92, 123, 128, 120, 109, 115, 108, 108, 111, 118, 91, 120, 136, 121, 91, 111, 138, 113, 146, 136, 87, 117, 115, 111, 94, 117, 112, 70, 118, 109, 92, 82, 107, 133, 93, 113, 109, 113, 158, 104, 115, 111, 120, 114, 128, 121, 115, 114, 108, 104, 103, 123, 86, 112, 117, 103, 117, 143, 123, 104, 105, 80, 118, 96, 110, 115, 152, 106, 114, 101, 109, 126, 86, 113, 99, 99, 118, 110, 111, 116, 105, 74, 83, 110, 143, 136, 124, 124, 106, 95, 61, 109, 104, 76, 116, 118, 116, 80, 111, 125, 112, 113, 142, 105, 110, 128, 58, 112, 129, 163, 108, 86, 65, 129, 47, 135, 80, 123, 101, 158, 133, 114, 115, 83, 103, 101, 130, 110, 141, 74, 108, 106, 113, 114, 112, 95, 122, 154, 15, 100, 128, 123, 154, 116, 106, 108, 113, 98, 104, 106, 127, 99, 117, 130, 134, 132, 134, 125, 140, 54, 106, 158, 93, 109, 107, 104, 64, 109, 101, 80, 104, 118, 79, 176, 110, 116, 116, 158, 125, 136, 149, 127, 117, 114, 119, 113, 143, 109, 138, 50, 127, 72, 103, 110, 118, 94, 120, 111, 108, 103, 110, 113, 111, 109, 110, 120, 120, 98, 117, 131, 117, 113, 99, 118, 117, 113, 115, 120, 109, 107, 107, 125, 88, 110, 134, 131, 107, 111, 111, 114, 119, 114, 126, 110, 106, 112, 113, 117, 117, 137, 106, 103, 104, 101, 114, 115, 124, 115, 106, 123, 113, 118, 127, 112, 113, 108, 114, 123, 115, 114, 113, 116, 113, 106, 113, 114, 103, 113, 115, 116, 116, 115, 99, 122, 107, 139, 150, 120, 115, 112, 131, 102, 102, 142, 123, 114, 114, 102, 103, 123, 118, 120, 113, 114, 120, 106, 124, 124, 114, 112, 126, 73, 119, 113, 114, 111, 113, 104, 114, 103, 114, 107, 116, 88, 115, 108, 112, 84, 114, 108, 112, 119, 76, 109, 112, 171, 111, 123, 109, 139, 119, 126, 121, 108, 111, 172, 112, 81, 76, 103, 143, 111, 116, 121, 137, 104, 126, 106, 252, 103, 172, 118, 70, 155, 113, 104, 109, 109, 98, 161, 129, 93, 54, 117, 110, 98, 113, 108, 120, 116, 124, 87, 117, 122, 158, 113, 123, 113, 103, 122, 101, 149, 140, 124, 139, 111, 177, 103, 110, 109, 113, 106, 116, 111, 118, 150, 116, 123, 138, 120, 107, 110, 117, 117, 153, 106, 126, 122, 78, 129, 90, 149, 99, 83, 149, 119, 110, 113, 87, 110, 112, 115, 87, 111, 121, 122, 109, 125, 142, 86, 109, 123, 120, 127, 99, 123, 149, 119, 118, 142, 121, 174, 106, 106, 90, 104, 123, 118, 122, 111, 208, 125, 121, 78, 120, 137, 108, 113, 163, 147, 140, 87, 95, 100, 108, 159, 155, 77, 144, 106, 149, 134, 91, 105, 183, 172, 72, 146, 111, 146, 118, 52, 145, 143, 103, 155, 85, 95, 108, 146, 161, 140, 105, 84, 110, 87, 121, 127, 120, 138, 151, 140, 70, 112, 160, 94, 98, 95, 94, 77, 101, 142, 75, 149, 65, 79, 112, 90, 105, 106, 147, 80, 120, 102, 111, 129, 82, 139, 117, 97, 64, 0, 100, 105, 123, 147, 118, 137, 121, 92, 89, 143, 83, 120, 119, 109, 115, 107, 179, 148, 147, 112, 85, 155, 97, 138, 74, 108, 106, 138, 150, 77, 137, 134, 84, 144, 139, 229, 88, 111, 96, 255, 129, 98, 72, 120, 133, 91, 109, 152, 141, 100, 111, 111, 119, 114, 110, 116, 114, 112, 119, 76, 120, 108, 117, 134, 101, 110, 97, 111, 120, 118, 112, 103, 18, 104, 59, 112, 156, 149, 111, 104, 115, 102, 109, 114, 130, 106, 121, 114, 116, 107, 116, 121, 119, 110, 117, 125, 117, 106, 108, 115, 110, 118, 114, 135, 115, 122, 96, 110, 127, 111, 101, 119, 114, 114, 114, 107, 113, 114, 124, 116, 114, 111, 115, 111, 129, 117, 127, 148, 95, 116, 115, 116, 150, 107, 144, 101, 110, 119, 113, 120, 112, 113, 117, 116, 91, 114, 115, 111, 133, 105, 116, 112, 146, 130, 115, 114, 113, 116, 110, 107, 112, 107, 113, 119, 125, 61, 109, 106, 97, 116, 132, 114, 117, 118, 24, 118, 112, 121, 106, 104, 137, 115, 111, 113, 110, 119, 121, 117, 118, 122, 117, 115, 96, 106, 117, 114, 121, 104, 110, 111, 135, 110, 125, 112, 107, 120, 106, 112, 113, 118, 119, 110, 128, 109, 109, 111, 141, 112, 117, 133, 130, 108, 140, 110, 114, 116, 116, 99, 106, 122, 108, 118, 131, 120, 111, 101, 116, 111, 122, 116, 116, 118, 114, 117, 114, 117, 139, 117, 112, 114, 119, 114, 104, 121, 110, 133, 114, 119, 113, 108, 108, 105, 120, 117, 128, 118, 116, 143, 109, 98, 118, 117, 112, 113, 106, 106, 116, 111, 114, 112, 115, 118, 119, 113, 117, 117, 112, 106, 113, 107, 114, 114, 116, 123, 111, 110, 115, 155, 112, 131, 113, 119, 143, 109, 112, 108, 112, 109, 148, 115, 103, 106, 110, 128, 119, 115, 114, 117, 114, 137, 112, 112, 110, 112, 108, 125, 100, 103, 108, 122, 115, 116, 115, 103, 114, 116, 115, 99, 121, 114, 113, 121, 126, 112, 107, 113, 115, 131, 158, 106, 178, 110, 115, 108, 116, 73, 96, 116, 110, 101, 117, 108, 102, 116, 125, 121, 109, 118, 112, 118, 115, 99, 113, 108, 204, 109, 113, 114, 110, 115, 119, 117, 126, 153, 110, 117, 115, 105, 116, 108, 99, 122, 129, 112, 114, 171, 113, 79, 118, 117, 93, 115, 135, 112, 112, 117, 115, 117, 103, 81, 115, 116, 104, 108, 117, 99, 112, 110, 104, 127, 118, 116, 116, 104, 140, 211, 133, 153, 110, 115, 113, 105, 108, 112, 107, 111, 121, 113, 114, 114, 111, 117, 116, 112, 119, 107, 113, 116, 103, 110, 114, 113, 114, 113, 119, 114, 103, 114, 104, 109, 123, 121, 114, 113, 114, 116, 113, 115, 93, 113, 110, 113, 115, 111, 117, 117, 121, 112, 124, 116, 112, 111, 115, 114, 108, 117, 114, 119, 123, 116, 129, 112, 107, 110, 116, 115, 114, 120, 114, 113, 108, 117, 125, 111, 114, 116, 114, 113, 118, 120, 122, 122, 115, 117, 113, 113, 120, 113, 115, 111, 115, 112, 115, 125, 108, 109, 114, 116, 119, 113, 104, 110, 117, 114, 119, 114, 121, 130, 117, 113, 111, 115, 114, 116, 117, 109, 111, 122, 116, 106, 112, 111, 105, 138, 113, 122, 115, 117, 91, 111, 112};
model->setOperandValue(op41, op41_init, sizeof(uint8_t) * 1152);
- model->addOperation(ANEURALNETWORKS_CONV_2D, {op88, op2, op1, b104, b105, b106, b107}, {op0});
static int32_t op43_init[] = {-9119, 406, 8026, -2442, 22035, 7830, 5239, -16418, 3066, 244, 17626, -11691, -4541, 14457, 8384, 3859, -8220, -7972, -3881, -3717, 2242, -11349, -13582, 486, 3455, -2435, -1912, 3185, -10701, 3372, -3150, 6759, 10970, 6665, 16016, 2817, 14058, -556, 7218, -8752, 11568, -9512, -11502, -4894, 4890, -1483, 7517, 9618, 3061, 12316, 19276, 10143, -23717, -5637, 13399, -2423, 4260, 799, 2376, 3188, 4820, 7535, -3916, 13854, 14245, -704, -770, 1514, 3930, 745, 1798, -5644, -3217, 19698, -265, -26449, 11816, -20746, -2139, 1080, -13117, -2232, 4019, -4479, -6283, 1058, 16636, 16248, 3525, -2806, -2207, 3284, 952, 6117, 15768, -10433, 14577, -8859, -11789, 7781, 16966, 18525, -3438, 7560, 211, 3327, -807, 17839, -2552, 9905, 2938, -3158, 5764, 7175, 4135, -10571, 16909, 17722, 16820, 1561, 9099, 7644, 21318, 1901, 22449, 60, -7215, -9300};
model->setOperandValue(op43, op43_init, sizeof(int32_t) * 128);
static uint8_t op44_init[] = {117, 122, 124, 128, 124, 104, 122, 132, 111, 133, 115, 130, 122, 119, 110, 126, 129, 110, 114, 115, 128, 111, 113, 124, 128, 126, 126, 125, 121, 115, 115, 132, 118, 105, 130, 136, 125, 113, 120, 122, 117, 118, 125, 123, 103, 117, 107, 122, 104, 116, 118, 125, 119, 132, 118, 125, 121, 125, 155, 120, 125, 127, 117, 120, 112, 121, 126, 121, 121, 120, 120, 121, 112, 108, 173, 136, 126, 117, 134, 114, 131, 120, 104, 124, 124, 128, 122, 116, 116, 114, 123, 125, 132, 129, 131, 156, 116, 119, 121, 133, 120, 125, 118, 126, 125, 123, 113, 121, 116, 119, 122, 119, 113, 117, 118, 124, 123, 143, 121, 137, 142, 133, 136, 105, 127, 121, 88, 100, 127, 125, 122, 116, 119, 131, 112, 127, 112, 114, 126, 124, 123, 135, 125, 122, 106, 117, 123, 136, 138, 119, 107, 123, 126, 125, 121, 129, 128, 133, 108, 137, 85, 106, 105, 97, 125, 132, 98, 122, 115, 122, 125, 122, 124, 126, 145, 143, 107, 123, 116, 123, 114, 123, 137, 118, 116, 138, 141, 119, 128, 122, 131, 133, 120, 117, 122, 135, 119, 123, 108, 122, 126, 139, 108, 115, 123, 118, 125, 133, 125, 131, 116, 126, 125, 103, 124, 102, 120, 119, 119, 115, 122, 128, 117, 128, 105, 94, 127, 135, 121, 131, 118, 99, 126, 120, 119, 146, 115, 128, 120, 127, 127, 149, 118, 135, 131, 132, 121, 112, 121, 109, 124, 117, 130, 120, 115, 123, 144, 129, 124, 122, 122, 125, 126, 120, 115, 122, 68, 121, 115, 115, 128, 125, 130, 127, 115, 122, 117, 116, 137, 114, 122, 128, 130, 126, 129, 120, 114, 119, 121, 127, 123, 118, 119, 122, 124, 119, 119, 120, 117, 117, 119, 112, 118, 121, 121, 121, 114, 124, 128, 120, 123, 123, 132, 137, 120, 117, 124, 87, 98, 134, 120, 124, 130, 114, 124, 120, 130, 120, 123, 118, 119, 119, 110, 127, 120, 123, 114, 121, 123, 160, 111, 128, 126, 120, 117, 117, 122, 120, 122, 120, 118, 131, 125, 124, 126, 123, 122, 126, 124, 125, 120, 134, 117, 122, 125, 130, 119, 125, 132, 121, 143, 124, 132, 117, 122, 109, 128, 138, 108, 120, 125, 58, 128, 120, 139, 128, 116, 118, 131, 130, 106, 131, 97, 129, 132, 132, 118, 116, 125, 123, 108, 115, 119, 132, 120, 113, 124, 122, 119, 133, 118, 135, 122, 117, 127, 133, 125, 110, 126, 114, 137, 122, 115, 125, 95, 125, 121, 117, 124, 114, 118, 127, 119, 121, 110, 119, 124, 120, 140, 127, 124, 121, 125, 117, 122, 123, 135, 98, 140, 120, 138, 131, 114, 121, 133, 119, 111, 115, 105, 109, 128, 116, 117, 126, 122, 105, 102, 126, 125, 119, 115, 143, 121, 107, 116, 124, 106, 147, 123, 140, 112, 124, 132, 135, 127, 133, 111, 135, 117, 124, 117, 123, 107, 128, 122, 111, 122, 124, 115, 125, 129, 99, 114, 119, 117, 125, 115, 109, 141, 124, 118, 117, 121, 110, 107, 114, 119, 128, 112, 123, 116, 109, 113, 121, 126, 124, 95, 117, 125, 118, 133, 122, 108, 126, 132, 127, 125, 101, 145, 99, 134, 121, 116, 129, 139, 118, 117, 97, 124, 113, 132, 128, 128, 129, 139, 110, 122, 121, 117, 131, 109, 131, 121, 115, 116, 121, 134, 123, 115, 118, 101, 127, 125, 107, 92, 129, 126, 126, 120, 120, 124, 121, 119, 118, 116, 131, 95, 99, 119, 126, 130, 131, 113, 121, 124, 106, 134, 115, 120, 140, 122, 128, 112, 125, 100, 120, 122, 107, 130, 117, 115, 131, 126, 112, 103, 108, 140, 107, 128, 120, 132, 110, 117, 109, 149, 131, 126, 121, 102, 115, 128, 109, 125, 79, 109, 124, 122, 114, 142, 132, 120, 125, 116, 116, 122, 116, 111, 123, 117, 131, 127, 119, 125, 130, 102, 121, 130, 122, 127, 135, 124, 132, 116, 123, 123, 111, 135, 107, 106, 125, 113, 128, 119, 135, 121, 157, 126, 114, 126, 114, 120, 128, 135, 110, 127, 116, 130, 129, 126, 126, 123, 119, 115, 122, 100, 122, 116, 112, 120, 125, 122, 101, 118, 133, 133, 124, 125, 121, 122, 119, 113, 117, 118, 126, 115, 148, 111, 122, 133, 110, 113, 118, 131, 115, 129, 117, 114, 93, 122, 124, 111, 135, 111, 127, 117, 106, 121, 115, 125, 135, 123, 117, 123, 123, 118, 124, 126, 123, 136, 120, 118, 112, 131, 126, 129, 112, 112, 117, 127, 148, 124, 92, 112, 122, 124, 118, 130, 119, 132, 123, 123, 119, 131, 122, 118, 124, 132, 115, 129, 121, 124, 126, 122, 122, 118, 123, 123, 132, 122, 125, 122, 124, 125, 131, 119, 133, 130, 126, 131, 118, 121, 122, 130, 115, 126, 128, 122, 126, 123, 118, 122, 122, 125, 125, 125, 127, 119, 120, 124, 120, 121, 119, 124, 118, 127, 122, 125, 122, 125, 119, 124, 111, 130, 125, 119, 130, 122, 122, 129, 120, 118, 131, 118, 116, 127, 125, 122, 125, 118, 118, 120, 129, 125, 124, 124, 124, 120, 123, 122, 119, 118, 116, 118, 115, 120, 128, 122, 123, 121, 123, 121, 124, 125, 130, 119, 125, 122, 131, 118, 123, 124, 124, 124, 124, 130, 119, 128, 128, 123, 122, 122, 121, 122, 126, 122, 120, 129, 124, 119, 123, 131, 160, 145, 160, 107, 136, 126, 124, 122, 107, 124, 123, 120, 119, 118, 134, 122, 125, 124, 121, 116, 126, 120, 125, 123, 119, 135, 131, 110, 111, 136, 121, 118, 123, 118, 108, 133, 120, 118, 119, 107, 125, 120, 85, 124, 113, 122, 113, 131, 120, 155, 121, 122, 117, 125, 121, 100, 119, 136, 122, 145, 119, 124, 130, 90, 120, 127, 108, 118, 101, 103, 130, 116, 126, 133, 133, 118, 110, 97, 127, 127, 126, 129, 96, 120, 104, 120, 110, 123, 133, 123, 145, 105, 108, 121, 135, 125, 120, 101, 103, 115, 114, 114, 120, 92, 139, 119, 104, 126, 109, 112, 142, 128, 83, 102, 129, 120, 130, 121, 119, 144, 118, 89, 116, 123, 125, 116, 129, 126, 123, 115, 116, 126, 116, 131, 114, 119, 121, 128, 128, 149, 125, 121, 123, 125, 126, 110, 123, 112, 119, 130, 115, 101, 118, 122, 122, 125, 118, 117, 120, 118, 134, 123, 115, 145, 118, 126, 113, 115, 121, 115, 117, 120, 117, 11, 123, 126, 118, 121, 117, 130, 118, 120, 119, 119, 138, 124, 115, 125, 125, 126, 129, 128, 115, 124, 112, 119, 125, 103, 131, 117, 125, 130, 123, 108, 123, 125, 115, 124, 128, 130, 141, 122, 123, 121, 122, 161, 137, 119, 131, 126, 131, 127, 121, 119, 123, 105, 115, 142, 120, 116, 122, 124, 129, 116, 122, 120, 117, 101, 119, 126, 113, 113, 121, 83, 122, 122, 123, 124, 121, 111, 123, 121, 121, 129, 128, 119, 121, 120, 114, 129, 139, 124, 124, 121, 123, 124, 125, 128, 116, 114, 118, 119, 130, 113, 125, 126, 130, 122, 131, 121, 116, 119, 126, 121, 131, 119, 108, 123, 126, 120, 126, 135, 124, 126, 138, 121, 130, 113, 123, 126, 129, 140, 116, 129, 128, 126, 117, 127, 121, 107, 129, 122, 124, 123, 119, 107, 111, 115, 123, 124, 124, 114, 121, 120, 120, 141, 119, 121, 123, 126, 131, 121, 123, 120, 131, 127, 121, 119, 124, 126, 134, 134, 114, 138, 121, 114, 121, 121, 123, 120, 116, 123, 107, 130, 126, 125, 124, 125, 124, 127, 122, 127, 131, 122, 123, 132, 121, 128, 128, 128, 121, 128, 125, 128, 128, 131, 125, 128, 126, 125, 124, 128, 123, 113, 116, 116, 103, 125, 120, 125, 122, 117, 114, 111, 120, 107, 125, 123, 124, 132, 119, 120, 121, 123, 127, 116, 131, 128, 122, 122, 116, 127, 103, 115, 129, 124, 118, 117, 119, 127, 126, 118, 121, 123, 118, 114, 127, 127, 127, 119, 126, 125, 120, 114, 123, 123, 121, 117, 118, 124, 117, 127, 129, 113, 117, 126, 114, 119, 121, 130, 130, 153, 113, 109, 123, 122, 120, 110, 116, 120, 129, 108, 126, 119, 122, 116, 122, 125, 114, 121, 104, 117, 117, 122, 118, 115, 119, 121, 121, 145, 124, 109, 122, 129, 133, 139, 118, 117, 121, 119, 115, 122, 121, 118, 124, 126, 98, 119, 126, 120, 120, 119, 117, 109, 124, 115, 170, 103, 121, 132, 135, 101, 122, 124, 106, 193, 125, 114, 119, 119, 114, 124, 124, 113, 109, 122, 98, 133, 127, 124, 123, 124, 104, 121, 111, 131, 112, 103, 129, 126, 123, 100, 96, 113, 123, 97, 137, 120, 116, 120, 130, 121, 128, 122, 111, 125, 113, 115, 125, 119, 122, 119, 115, 114, 122, 125, 120, 118, 132, 124, 120, 94, 133, 126, 102, 119, 122, 110, 125, 122, 116, 133, 107, 124, 120, 119, 124, 118, 113, 128, 116, 131, 125, 122, 168, 114, 109, 129, 126, 133, 139, 118, 157, 99, 128, 126, 109, 132, 117, 135, 107, 134, 94, 131, 110, 125, 111, 126, 120, 130, 97, 112, 139, 106, 123, 104, 135, 125, 134, 133, 124, 116, 117, 130, 108, 123, 135, 119, 115, 123, 136, 121, 115, 121, 133, 109, 130, 111, 127, 135, 107, 123, 124, 128, 113, 125, 91, 111, 126, 96, 75, 123, 89, 119, 118, 118, 117, 127, 117, 126, 133, 95, 121, 129, 127, 125, 129, 135, 92, 107, 72, 135, 126, 120, 119, 118, 117, 129, 121, 123, 110, 118, 124, 124, 95, 126, 125, 115, 120, 119, 116, 110, 125, 124, 123, 119, 123, 122, 119, 120, 142, 117, 116, 127, 120, 114, 122, 124, 115, 124, 127, 122, 114, 128, 125, 83, 123, 118, 146, 132, 137, 118, 123, 148, 116, 127, 141, 120, 118, 120, 127, 122, 123, 120, 117, 104, 123, 110, 122, 104, 119, 77, 126, 117, 140, 115, 112, 112, 109, 115, 120, 124, 129, 135, 121, 119, 123, 110, 133, 97, 147, 92, 93, 129, 118, 123, 133, 128, 124, 119, 108, 154, 117, 120, 122, 125, 125, 133, 132, 124, 130, 114, 122, 115, 116, 124, 94, 112, 138, 130, 136, 136, 120, 112, 124, 126, 125, 118, 122, 123, 138, 114, 108, 124, 130, 122, 126, 113, 120, 120, 128, 125, 130, 127, 119, 126, 145, 108, 116, 121, 115, 133, 122, 126, 56, 41, 141, 124, 131, 120, 125, 136, 119, 119, 148, 98, 129, 120, 117, 131, 116, 117, 142, 121, 138, 121, 132, 125, 120, 140, 128, 120, 117, 85, 125, 122, 117, 139, 131, 64, 138, 139, 112, 124, 143, 120, 143, 113, 116, 127, 101, 116, 122, 122, 118, 129, 94, 118, 119, 96, 85, 123, 125, 124, 124, 126, 108, 135, 107, 130, 113, 119, 120, 123, 141, 136, 124, 110, 133, 121, 120, 121, 125, 138, 122, 124, 120, 128, 121, 115, 133, 114, 119, 104, 103, 119, 115, 113, 135, 115, 125, 122, 119, 121, 120, 126, 124, 111, 123, 115, 119, 114, 120, 109, 122, 133, 118, 120, 105, 119, 121, 118, 118, 126, 112, 140, 122, 121, 110, 119, 118, 115, 120, 112, 114, 112, 105, 128, 118, 126, 113, 121, 119, 129, 121, 121, 142, 128, 138, 113, 116, 121, 135, 124, 126, 119, 126, 120, 118, 123, 114, 119, 122, 119, 130, 120, 125, 116, 109, 117, 119, 120, 118, 121, 117, 127, 129, 125, 135, 132, 110, 113, 99, 119, 124, 109, 125, 129, 131, 120, 120, 118, 130, 136, 122, 126, 140, 113, 138, 114, 125, 115, 111, 122, 119, 125, 126, 155, 102, 118, 126, 114, 122, 118, 125, 118, 125, 118, 121, 103, 130, 119, 126, 141, 115, 119, 104, 124, 120, 126, 124, 127, 127, 120, 128, 121, 132, 113, 126, 129, 125, 119, 120, 132, 116, 107, 126, 117, 113, 144, 129, 115, 90, 149, 132, 124, 132, 126, 120, 113, 134, 137, 107, 121, 124, 122, 118, 123, 128, 127, 113, 121, 121, 118, 120, 119, 124, 122, 103, 129, 124, 128, 123, 127, 116, 122, 109, 118, 108, 119, 119, 130, 129, 122, 146, 137, 125, 111, 115, 123, 106, 119, 128, 118, 125, 123, 125, 117, 126, 119, 120, 126, 126, 132, 123, 129, 102, 114, 124, 131, 120, 115, 132, 151, 140, 113, 141, 133, 120, 124, 131, 121, 128, 135, 126, 122, 123, 117, 116, 114, 120, 117, 126, 114, 123, 127, 117, 135, 105, 150, 124, 122, 120, 122, 95, 139, 114, 123, 122, 118, 115, 116, 115, 110, 106, 136, 113, 119, 127, 135, 125, 94, 132, 140, 128, 130, 120, 114, 126, 133, 119, 123, 117, 126, 114, 127, 119, 105, 121, 117, 117, 135, 181, 119, 128, 114, 163, 127, 118, 93, 117, 129, 112, 110, 94, 123, 126, 116, 121, 115, 126, 124, 139, 138, 110, 121, 118, 104, 123, 108, 110, 121, 128, 108, 102, 119, 132, 124, 119, 124, 102, 116, 114, 125, 92, 119, 126, 120, 146, 122, 110, 115, 120, 101, 118, 118, 116, 117, 119, 120, 121, 139, 124, 119, 115, 119, 125, 114, 128, 136, 116, 108, 118, 106, 107, 129, 122, 132, 132, 123, 125, 127, 121, 135, 124, 153, 132, 126, 111, 116, 133, 131, 111, 139, 147, 126, 127, 117, 119, 124, 117, 119, 109, 112, 136, 112, 121, 126, 112, 134, 123, 165, 188, 129, 124, 112, 127, 118, 119, 117, 130, 123, 130, 124, 114, 135, 126, 117, 119, 118, 127, 121, 118, 125, 135, 130, 106, 121, 124, 114, 110, 112, 116, 127, 172, 121, 127, 116, 125, 124, 115, 120, 117, 124, 130, 119, 127, 112, 116, 129, 114, 124, 112, 113, 136, 112, 189, 114, 113, 123, 110, 122, 131, 132, 138, 119, 96, 120, 126, 119, 120, 131, 125, 131, 117, 118, 122, 126, 134, 169, 114, 124, 113, 120, 131, 115, 145, 165, 118, 92, 119, 95, 127, 128, 134, 133, 123, 124, 123, 127, 123, 119, 128, 124, 138, 114, 190, 118, 135, 119, 122, 102, 97, 163, 131, 125, 117, 129, 125, 108, 102, 131, 129, 124, 118, 122, 120, 129, 124, 101, 127, 106, 127, 108, 127, 116, 137, 124, 118, 106, 128, 104, 118, 105, 131, 115, 105, 142, 113, 118, 116, 134, 132, 134, 124, 193, 123, 117, 134, 130, 131, 132, 164, 125, 121, 121, 103, 118, 108, 120, 100, 113, 104, 103, 117, 124, 124, 114, 113, 109, 112, 128, 112, 115, 147, 116, 107, 118, 108, 119, 200, 119, 127, 111, 112, 135, 171, 121, 128, 191, 104, 132, 123, 125, 122, 126, 116, 121, 116, 109, 127, 128, 127, 122, 128, 118, 126, 129, 123, 130, 134, 117, 132, 126, 122, 121, 126, 151, 129, 116, 120, 134, 117, 125, 132, 121, 116, 123, 119, 125, 128, 126, 121, 121, 126, 122, 125, 124, 125, 127, 122, 125, 130, 120, 123, 113, 121, 132, 120, 120, 118, 123, 125, 135, 114, 130, 116, 120, 130, 127, 122, 129, 133, 131, 130, 130, 118, 118, 123, 114, 116, 119, 120, 132, 125, 133, 128, 121, 131, 123, 130, 126, 120, 125, 140, 120, 106, 125, 128, 118, 136, 130, 117, 135, 114, 122, 128, 134, 126, 134, 123, 127, 132, 136, 128, 133, 120, 127, 135, 135, 115, 124, 131, 129, 127, 117, 125, 129, 137, 122, 113, 125, 116, 124, 132, 125, 115, 120, 122, 114, 132, 118, 121, 141, 112, 121, 120, 123, 121, 125, 119, 114, 158, 121, 117, 120, 115, 124, 122, 104, 119, 134, 119, 116, 121, 113, 111, 122, 124, 120, 136, 102, 108, 121, 115, 123, 123, 168, 119, 123, 140, 121, 112, 128, 129, 138, 123, 124, 122, 128, 110, 110, 124, 129, 127, 119, 121, 124, 157, 116, 116, 120, 116, 96, 125, 119, 54, 122, 132, 130, 123, 154, 117, 119, 132, 121, 115, 119, 133, 118, 123, 109, 118, 127, 105, 121, 126, 115, 136, 123, 110, 122, 118, 125, 138, 123, 120, 125, 131, 126, 112, 124, 123, 120, 117, 118, 132, 122, 132, 106, 114, 129, 106, 125, 100, 115, 118, 124, 116, 121, 139, 130, 133, 133, 110, 129, 120, 153, 121, 124, 119, 128, 125, 121, 115, 121, 116, 128, 111, 107, 120, 117, 132, 96, 125, 120, 118, 114, 129, 127, 121, 123, 134, 126, 122, 122, 110, 120, 129, 113, 111, 126, 127, 113, 108, 110, 117, 157, 125, 130, 110, 128, 150, 118, 112, 111, 117, 113, 86, 66, 133, 126, 112, 116, 130, 124, 122, 119, 119, 127, 115, 91, 143, 143, 120, 131, 132, 139, 110, 117, 140, 131, 119, 123, 107, 114, 109, 127, 113, 108, 113, 128, 144, 116, 118, 116, 117, 127, 117, 79, 134, 115, 146, 123, 110, 94, 122, 136, 104, 139, 116, 123, 132, 126, 108, 120, 111, 124, 142, 131, 129, 118, 125, 114, 132, 127, 117, 124, 126, 125, 122, 124, 132, 128, 119, 114, 119, 92, 88, 116, 119, 125, 100, 117, 122, 119, 130, 124, 124, 100, 127, 121, 120, 120, 122, 131, 154, 122, 134, 124, 120, 128, 116, 107, 117, 128, 117, 126, 127, 125, 125, 131, 78, 130, 82, 123, 119, 128, 127, 121, 121, 128, 124, 136, 94, 43, 119, 133, 109, 110, 160, 127, 120, 87, 118, 117, 127, 121, 94, 136, 121, 123, 123, 113, 120, 117, 107, 123, 123, 123, 133, 117, 134, 85, 94, 124, 123, 120, 130, 123, 111, 98, 115, 114, 134, 118, 124, 134, 131, 104, 135, 126, 118, 103, 120, 127, 111, 134, 93, 120, 169, 124, 135, 122, 121, 121, 109, 131, 124, 123, 121, 127, 135, 130, 127, 114, 138, 125, 105, 130, 120, 118, 127, 115, 129, 157, 147, 113, 128, 120, 123, 109, 130, 127, 124, 119, 158, 122, 110, 126, 111, 129, 64, 113, 124, 123, 129, 123, 116, 128, 123, 124, 118, 129, 125, 150, 133, 121, 126, 116, 127, 113, 125, 105, 119, 93, 145, 129, 123, 126, 118, 159, 124, 120, 110, 127, 121, 120, 120, 118, 127, 127, 78, 108, 123, 124, 124, 127, 122, 109, 136, 138, 121, 139, 125, 107, 112, 122, 138, 111, 116, 117, 118, 121, 124, 120, 128, 111, 133, 126, 83, 130, 134, 127, 118, 96, 124, 122, 126, 118, 127, 125, 132, 103, 125, 132, 117, 131, 126, 110, 125, 122, 131, 127, 122, 111, 125, 121, 108, 135, 115, 129, 123, 120, 119, 125, 124, 116, 125, 112, 128, 122, 116, 118, 118, 113, 120, 105, 114, 122, 135, 83, 116, 107, 123, 124, 127, 113, 126, 128, 110, 134, 122, 156, 108, 114, 130, 126, 132, 154, 114, 118, 122, 124, 120, 119, 124, 106, 129, 125, 114, 128, 122, 135, 119, 136, 117, 106, 97, 109, 122, 121, 119, 124, 131, 123, 138, 121, 107, 139, 121, 108, 131, 125, 111, 125, 110, 122, 126, 128, 125, 123, 108, 107, 126, 124, 132, 123, 110, 117, 122, 123, 115, 111, 123, 119, 119, 144, 136, 122, 122, 126, 115, 116, 114, 115, 122, 122, 105, 131, 117, 124, 123, 117, 113, 119, 132, 125, 128, 118, 123, 119, 128, 124, 114, 110, 124, 117, 123, 126, 120, 123, 121, 127, 104, 114, 87, 139, 148, 126, 126, 119, 118, 112, 118, 111, 128, 107, 128, 123, 124, 124, 119, 115, 119, 127, 123, 114, 126, 133, 130, 125, 107, 124, 125, 119, 123, 110, 129, 135, 122, 125, 124, 119, 124, 123, 122, 129, 123, 132, 117, 120, 121, 119, 115, 132, 120, 127, 118, 118, 112, 123, 124, 121, 127, 117, 120, 117, 119, 122, 109, 110, 121, 107, 119, 114, 118, 135, 129, 112, 114, 115, 123, 115, 119, 124, 131, 125, 114, 121, 110, 124, 132, 110, 112, 115, 123, 123, 124, 135, 116, 109, 136, 144, 75, 96, 119, 119, 124, 118, 126, 122, 114, 124, 130, 121, 110, 113, 130, 125, 118, 127, 119, 125, 123, 119, 222, 120, 137, 126, 118, 135, 123, 130, 121, 118, 121, 122, 128, 144, 156, 119, 123, 118, 143, 115, 130, 123, 129, 123, 125, 131, 120, 130, 115, 130, 140, 130, 90, 119, 123, 133, 134, 129, 110, 114, 115, 136, 119, 121, 119, 122, 119, 129, 135, 122, 121, 113, 129, 111, 125, 117, 127, 106, 127, 125, 110, 123, 130, 116, 109, 137, 128, 124, 137, 113, 119, 129, 126, 128, 157, 122, 128, 124, 119, 123, 128, 129, 112, 132, 119, 112, 125, 122, 129, 115, 88, 118, 122, 120, 113, 118, 129, 97, 135, 128, 126, 124, 127, 116, 124, 141, 124, 130, 147, 93, 140, 124, 94, 122, 133, 123, 134, 119, 129, 123, 135, 119, 132, 116, 130, 131, 121, 135, 123, 118, 122, 127, 126, 131, 107, 137, 100, 135, 137, 117, 121, 119, 119, 115, 123, 107, 114, 122, 118, 114, 125, 115, 124, 123, 121, 127, 122, 112, 111, 115, 123, 167, 108, 121, 101, 116, 133, 124, 123, 123, 122, 124, 126, 125, 125, 125, 120, 124, 136, 119, 121, 130, 121, 126, 120, 124, 147, 117, 125, 121, 115, 117, 119, 106, 131, 119, 126, 115, 122, 111, 117, 117, 118, 124, 101, 119, 124, 126, 151, 122, 126, 124, 122, 122, 111, 114, 137, 130, 123, 126, 132, 120, 133, 118, 112, 118, 127, 118, 112, 116, 113, 115, 125, 124, 117, 116, 120, 121, 124, 127, 138, 120, 124, 124, 105, 121, 136, 128, 117, 113, 110, 121, 127, 119, 123, 131, 123, 122, 120, 117, 124, 121, 150, 100, 112, 115, 122, 128, 122, 122, 117, 146, 123, 138, 122, 116, 122, 133, 118, 112, 121, 122, 125, 115, 126, 119, 119, 106, 112, 120, 126, 126, 124, 121, 126, 100, 118, 113, 115, 116, 124, 121, 120, 124, 126, 174, 109, 131, 127, 122, 114, 120, 122, 119, 132, 113, 123, 127, 125, 113, 119, 120, 124, 127, 126, 107, 124, 109, 115, 115, 120, 108, 133, 127, 120, 127, 114, 119, 110, 115, 119, 124, 124, 120, 116, 114, 125, 120, 127, 124, 123, 127, 126, 103, 125, 124, 129, 115, 124, 151, 129, 124, 130, 117, 122, 107, 124, 116, 112, 109, 125, 124, 135, 127, 111, 104, 130, 119, 134, 133, 119, 110, 119, 117, 119, 112, 124, 118, 125, 96, 116, 127, 119, 152, 129, 113, 120, 116, 121, 125, 124, 132, 136, 134, 88, 130, 136, 127, 123, 116, 112, 142, 108, 101, 120, 94, 104, 133, 136, 100, 129, 81, 112, 120, 120, 134, 123, 123, 131, 123, 131, 110, 136, 126, 127, 128, 121, 121, 121, 123, 124, 95, 129, 118, 115, 132, 131, 119, 164, 98, 105, 127, 104, 125, 124, 105, 136, 147, 123, 133, 124, 121, 118, 114, 113, 125, 135, 129, 107, 114, 126, 124, 110, 126, 121, 129, 121, 131, 127, 128, 134, 120, 122, 112, 95, 123, 119, 128, 95, 117, 126, 140, 117, 128, 100, 123, 122, 122, 127, 122, 123, 109, 135, 124, 107, 118, 146, 131, 132, 94, 124, 123, 127, 112, 86, 124, 138, 116, 119, 121, 114, 121, 130, 117, 155, 112, 120, 136, 119, 120, 120, 133, 126, 121, 126, 129, 129, 145, 148, 121, 116, 128, 123, 123, 118, 119, 127, 118, 120, 91, 126, 127, 123, 117, 94, 134, 86, 135, 145, 123, 132, 136, 113, 117, 118, 131, 37, 117, 65, 123, 114, 117, 88, 121, 129, 131, 126, 122, 124, 176, 125, 125, 139, 122, 125, 120, 132, 121, 115, 116, 125, 132, 119, 129, 120, 130, 128, 141, 119, 127, 121, 124, 125, 157, 127, 119, 127, 112, 108, 120, 127, 185, 122, 112, 114, 129, 115, 115, 126, 121, 120, 121, 122, 97, 124, 115, 121, 120, 122, 123, 124, 110, 116, 106, 120, 93, 112, 117, 123, 122, 123, 133, 124, 122, 119, 102, 128, 123, 121, 111, 127, 113, 121, 123, 108, 125, 131, 118, 121, 111, 143, 130, 121, 119, 128, 130, 123, 137, 124, 118, 124, 107, 121, 125, 120, 105, 131, 118, 116, 120, 116, 127, 117, 120, 118, 114, 123, 127, 123, 133, 117, 123, 120, 117, 121, 119, 117, 107, 101, 151, 124, 124, 119, 130, 139, 111, 107, 123, 111, 120, 119, 71, 120, 125, 103, 120, 126, 138, 123, 124, 114, 130, 121, 123, 123, 124, 91, 125, 114, 121, 111, 126, 125, 123, 112, 125, 128, 131, 112, 122, 159, 125, 123, 121, 111, 126, 123, 120, 124, 115, 107, 125, 116, 131, 118, 139, 123, 120, 132, 118, 119, 110, 114, 125, 129, 115, 132, 125, 112, 118, 128, 124, 125, 125, 106, 108, 105, 132, 108, 118, 120, 124, 125, 131, 121, 129, 145, 116, 114, 113, 134, 116, 122, 124, 121, 127, 126, 107, 133, 119, 120, 103, 131, 125, 108, 111, 138, 113, 121, 126, 118, 129, 128, 124, 127, 134, 119, 119, 118, 124, 116, 104, 121, 143, 113, 124, 136, 134, 119, 117, 115, 117, 114, 141, 120, 119, 111, 118, 123, 122, 129, 115, 135, 122, 85, 124, 116, 133, 103, 113, 122, 133, 121, 120, 110, 93, 137, 119, 119, 123, 134, 121, 128, 116, 120, 113, 125, 127, 112, 122, 126, 117, 130, 127, 117, 104, 113, 115, 114, 119, 123, 120, 111, 120, 135, 125, 105, 124, 122, 125, 97, 118, 123, 105, 124, 131, 135, 103, 127, 124, 117, 108, 114, 117, 121, 111, 121, 122, 121, 128, 112, 117, 125, 134, 130, 121, 122, 119, 129, 118, 119, 125, 121, 107, 126, 130, 125, 130, 129, 114, 130, 113, 115, 125, 129, 120, 117, 130, 111, 122, 121, 121, 123, 115, 128, 109, 123, 87, 121, 117, 124, 129, 119, 132, 131, 100, 125, 127, 86, 123, 136, 118, 123, 121, 120, 122, 125, 105, 128, 128, 128, 114, 122, 131, 120, 127, 127, 108, 124, 136, 132, 126, 97, 113, 118, 122, 123, 120, 120, 128, 123, 115, 133, 121, 136, 127, 127, 127, 127, 137, 114, 141, 123, 111, 143, 123, 94, 120, 124, 115, 129, 113, 121, 116, 120, 126, 118, 114, 113, 135, 119, 130, 141, 120, 119, 178, 121, 132, 109, 111, 131, 122, 126, 104, 117, 131, 107, 132, 131, 115, 121, 147, 124, 118, 117, 123, 126, 117, 131, 121, 122, 115, 106, 120, 124, 112, 116, 131, 119, 119, 125, 124, 136, 124, 112, 132, 109, 118, 114, 135, 124, 117, 132, 126, 129, 105, 126, 126, 119, 117, 120, 109, 119, 126, 125, 125, 141, 114, 122, 115, 114, 125, 126, 123, 123, 118, 123, 123, 128, 106, 115, 108, 114, 121, 119, 104, 124, 125, 98, 121, 128, 128, 115, 122, 93, 108, 123, 114, 140, 114, 108, 125, 119, 127, 115, 126, 122, 126, 112, 121, 120, 124, 127, 117, 116, 117, 112, 120, 129, 111, 123, 114, 118, 128, 110, 86, 119, 137, 124, 124, 41, 113, 119, 147, 122, 122, 119, 125, 113, 127, 117, 118, 127, 103, 120, 119, 128, 131, 122, 130, 122, 123, 97, 134, 120, 112, 120, 124, 117, 130, 112, 103, 121, 93, 128, 123, 111, 121, 131, 119, 116, 112, 115, 126, 126, 121, 126, 114, 121, 94, 116, 153, 117, 120, 123, 118, 117, 114, 125, 117, 132, 147, 124, 120, 117, 122, 123, 112, 126, 128, 118, 112, 118, 104, 125, 129, 112, 100, 126, 128, 123, 130, 119, 115, 123, 117, 122, 119, 141, 123, 117, 123, 124, 128, 118, 128, 128, 120, 128, 108, 113, 125, 120, 132, 124, 112, 124, 123, 116, 122, 108, 124, 115, 122, 115, 105, 108, 105, 122, 116, 117, 109, 111, 119, 129, 110, 120, 110, 62, 116, 116, 110, 119, 112, 102, 124, 118, 109, 112, 115, 125, 108, 126, 121, 127, 125, 128, 130, 122, 121, 112, 126, 124, 122, 124, 120, 125, 129, 129, 121, 120, 118, 115, 125, 123, 121, 123, 117, 114, 120, 115, 124, 123, 124, 100, 118, 103, 121, 122, 126, 121, 80, 115, 123, 124, 119, 119, 116, 123, 122, 122, 124, 102, 123, 123, 117, 116, 124, 124, 130, 118, 112, 125, 135, 125, 128, 117, 121, 125, 128, 127, 123, 125, 122, 129, 119, 118, 131, 129, 121, 129, 105, 118, 122, 127, 129, 128, 124, 121, 123, 118, 123, 118, 123, 129, 121, 114, 124, 119, 128, 119, 125, 130, 116, 120, 124, 124, 122, 129, 115, 126, 116, 137, 104, 120, 117, 128, 123, 134, 112, 129, 116, 124, 117, 119, 161, 108, 121, 115, 129, 118, 123, 178, 119, 122, 166, 138, 107, 107, 121, 128, 101, 123, 126, 136, 126, 122, 109, 134, 106, 126, 121, 189, 108, 132, 124, 124, 119, 124, 162, 124, 134, 125, 119, 120, 147, 104, 115, 124, 123, 123, 121, 121, 126, 113, 120, 124, 134, 113, 96, 135, 109, 118, 109, 145, 113, 100, 106, 128, 127, 145, 133, 178, 130, 113, 121, 120, 147, 121, 118, 98, 171, 122, 118, 88, 80, 113, 118, 106, 127, 124, 109, 106, 125, 114, 104, 145, 124, 113, 118, 119, 126, 120, 139, 114, 140, 120, 116, 124, 127, 118, 123, 108, 124, 130, 129, 108, 117, 133, 144, 128, 109, 156, 136, 119, 174, 105, 109, 118, 128, 140, 113, 116, 124, 126, 123, 122, 127, 130, 116, 121, 100, 133, 110, 123, 117, 125, 117, 110, 124, 73, 126, 121, 129, 124, 129, 121, 131, 118, 126, 117, 120, 121, 119, 112, 122, 124, 119, 128, 144, 139, 123, 128, 124, 129, 59, 123, 106, 126, 115, 132, 119, 125, 122, 117, 127, 123, 116, 146, 120, 126, 123, 118, 129, 121, 130, 67, 134, 117, 115, 122, 130, 125, 106, 180, 133, 115, 134, 120, 117, 132, 129, 113, 123, 123, 120, 110, 129, 126, 118, 123, 118, 140, 124, 128, 121, 117, 117, 123, 95, 115, 126, 130, 120, 115, 116, 113, 108, 127, 115, 125, 119, 122, 114, 141, 123, 122, 130, 96, 103, 113, 118, 143, 128, 114, 126, 131, 121, 131, 102, 130, 121, 123, 117, 128, 118, 123, 129, 97, 138, 126, 122, 101, 114, 135, 133, 119, 131, 124, 121, 126, 112, 124, 120, 122, 148, 132, 117, 115, 117, 140, 122, 112, 116, 148, 116, 125, 122, 121, 120, 119, 136, 127, 130, 115, 117, 124, 128, 117, 117, 129, 118, 124, 123, 117, 130, 117, 123, 135, 106, 126, 120, 138, 115, 121, 110, 120, 129, 165, 120, 115, 131, 119, 120, 118, 119, 114, 119, 118, 126, 126, 116, 121, 117, 118, 121, 110, 126, 125, 122, 117, 109, 169, 130, 100, 134, 126, 118, 123, 125, 119, 130, 108, 119, 88, 122, 113, 118, 149, 119, 124, 121, 116, 117, 116, 121, 116, 117, 115, 134, 117, 123, 124, 81, 127, 119, 123, 119, 122, 134, 115, 126, 120, 103, 133, 119, 126, 106, 123, 102, 126, 120, 128, 112, 117, 128, 116, 123, 120, 117, 120, 125, 122, 139, 117, 120, 127, 126, 126, 122, 115, 119, 117, 111, 123, 119, 118, 104, 120, 117, 124, 95, 120, 158, 131, 125, 127, 117, 123, 118, 113, 125, 120, 128, 71, 119, 129, 129, 124, 126, 118, 122, 116, 137, 119, 121, 121, 138, 113, 125, 128, 130, 143, 125, 122, 113, 127, 124, 124, 124, 110, 120, 124, 121, 128, 111, 110, 118, 118, 122, 129, 120, 117, 112, 121, 109, 122, 112, 126, 118, 130, 110, 115, 134, 130, 123, 130, 117, 120, 117, 137, 125, 115, 142, 110, 105, 118, 119, 155, 139, 124, 117, 129, 125, 128, 119, 122, 123, 123, 123, 126, 133, 123, 120, 140, 125, 115, 104, 116, 119, 109, 117, 111, 139, 119, 121, 122, 124, 123, 117, 133, 116, 121, 125, 93, 128, 128, 121, 108, 115, 122, 117, 116, 113, 117, 119, 121, 104, 121, 120, 117, 134, 124, 115, 115, 113, 120, 114, 113, 135, 120, 114, 131, 117, 114, 118, 117, 126, 115, 124, 124, 125, 121, 112, 116, 115, 119, 118, 119, 114, 140, 123, 120, 100, 120, 114, 167, 147, 125, 124, 117, 126, 122, 118, 120, 124, 136, 120, 121, 127, 129, 116, 127, 129, 120, 123, 131, 108, 110, 117, 115, 123, 123, 118, 113, 117, 128, 124, 143, 106, 131, 115, 137, 131, 111, 127, 125, 103, 120, 112, 119, 136, 144, 114, 156, 152, 142, 128, 107, 124, 117, 118, 114, 145, 126, 105, 116, 115, 120, 129, 121, 109, 125, 116, 111, 133, 109, 116, 126, 128, 127, 105, 115, 125, 111, 118, 127, 114, 121, 121, 115, 112, 125, 105, 123, 123, 110, 125, 116, 217, 142, 127, 115, 101, 131, 114, 130, 139, 121, 111, 119, 137, 116, 123, 114, 135, 122, 112, 125, 116, 105, 106, 113, 96, 148, 115, 124, 90, 113, 131, 124, 109, 115, 124, 128, 127, 137, 115, 119, 114, 118, 108, 122, 123, 158, 108, 120, 120, 117, 107, 122, 109, 125, 124, 110, 104, 118, 111, 121, 134, 118, 114, 119, 119, 133, 109, 112, 113, 126, 123, 158, 124, 123, 125, 116, 88, 96, 132, 128, 122, 132, 121, 134, 116, 121, 117, 121, 127, 123, 116, 125, 138, 128, 126, 120, 121, 119, 119, 108, 129, 79, 127, 126, 131, 123, 123, 130, 101, 117, 129, 124, 120, 125, 126, 107, 118, 119, 126, 120, 134, 124, 131, 135, 112, 124, 161, 124, 114, 105, 133, 121, 124, 120, 130, 129, 128, 115, 126, 116, 102, 132, 128, 117, 124, 121, 126, 96, 117, 114, 121, 118, 99, 117, 125, 173, 120, 129, 122, 120, 128, 120, 123, 126, 116, 121, 118, 126, 120, 120, 115, 112, 117, 114, 117, 120, 117, 128, 115, 137, 115, 124, 121, 128, 121, 127, 109, 125, 105, 124, 115, 128, 117, 115, 121, 108, 112, 119, 108, 101, 124, 146, 131, 102, 116, 120, 130, 125, 116, 122, 174, 124, 122, 124, 102, 114, 116, 124, 112, 111, 121, 112, 117, 96, 145, 190, 92, 112, 105, 128, 125, 113, 138, 127, 174, 116, 182, 142, 110, 120, 155, 131, 151, 115, 164, 146, 120, 122, 124, 121, 126, 119, 100, 149, 120, 97, 128, 125, 125, 115, 125, 121, 175, 119, 120, 121, 143, 123, 137, 84, 125, 132, 119, 161, 159, 122, 138, 136, 127, 121, 113, 142, 117, 122, 146, 116, 131, 127, 114, 117, 110, 128, 118, 103, 90, 126, 119, 142, 120, 116, 125, 95, 145, 122, 128, 157, 124, 127, 115, 129, 117, 125, 137, 143, 130, 183, 116, 125, 114, 150, 116, 127, 110, 113, 119, 138, 117, 120, 123, 114, 119, 120, 115, 96, 125, 124, 142, 113, 120, 122, 122, 126, 119, 117, 127, 130, 124, 124, 120, 146, 120, 123, 121, 117, 121, 125, 120, 124, 123, 124, 123, 123, 125, 122, 120, 124, 124, 119, 127, 120, 124, 122, 122, 124, 122, 136, 108, 122, 131, 124, 123, 123, 119, 126, 122, 115, 123, 118, 122, 136, 122, 118, 123, 122, 123, 120, 122, 122, 122, 126, 123, 124, 122, 118, 125, 123, 123, 122, 123, 121, 193, 126, 118, 126, 118, 121, 119, 116, 157, 118, 120, 124, 124, 122, 119, 121, 129, 135, 119, 122, 122, 120, 123, 111, 122, 122, 117, 123, 125, 124, 120, 122, 121, 125, 133, 121, 139, 121, 136, 122, 122, 122, 124, 122, 123, 119, 123, 119, 126, 119, 124, 128, 138, 114, 121, 126, 124, 124, 120, 131, 144, 118, 124, 123, 124, 167, 109, 127, 99, 121, 121, 191, 112, 126, 97, 122, 134, 126, 120, 127, 158, 122, 177, 135, 131, 109, 123, 129, 150, 126, 130, 136, 116, 119, 136, 128, 123, 129, 156, 106, 107, 114, 113, 122, 122, 126, 129, 124, 134, 96, 121, 119, 114, 109, 106, 106, 117, 139, 128, 117, 109, 124, 72, 124, 121, 167, 114, 126, 119, 132, 139, 116, 127, 110, 114, 122, 117, 70, 100, 118, 116, 128, 128, 134, 120, 107, 123, 121, 114, 117, 118, 158, 114, 124, 107, 145, 144, 115, 135, 131, 127, 156, 128, 141, 132, 102, 121, 126, 126, 117, 120, 129, 116, 108, 131, 128, 123, 129, 121, 113, 121, 130, 136, 108, 122, 125, 124, 126, 109, 120, 122, 126, 116, 122, 118, 126, 122, 115, 156, 119, 125, 111, 130, 124, 114, 115, 130, 113, 124, 116, 122, 124, 124, 125, 123, 114, 107, 121, 121, 122, 117, 123, 113, 113, 126, 114, 116, 122, 125, 116, 116, 124, 123, 124, 124, 134, 115, 124, 128, 117, 130, 122, 118, 121, 115, 115, 127, 118, 124, 124, 121, 117, 119, 121, 121, 120, 106, 121, 123, 126, 108, 122, 126, 111, 119, 122, 122, 126, 118, 119, 120, 124, 115, 122, 117, 121, 121, 124, 135, 116, 123, 136, 121, 121, 134, 157, 118, 117, 119, 118, 129, 125, 118, 122, 124, 129, 118, 126, 124, 120, 121, 129, 123, 122, 116, 123, 126, 138, 81, 123, 120, 112, 120, 131, 120, 117, 126, 118, 105, 121, 123, 118, 123, 122, 164, 121, 126, 121, 127, 117, 117, 137, 120, 113, 107, 122, 126, 120, 123, 114, 123, 130, 123, 122, 124, 127, 121, 113, 134, 120, 122, 123, 117, 134, 130, 123, 116, 122, 91, 122, 121, 122, 122, 122, 124, 123, 98, 119, 130, 106, 126, 136, 123, 115, 124, 120, 125, 123, 138, 117, 120, 115, 102, 115, 133, 118, 126, 121, 122, 118, 128, 138, 122, 111, 113, 130, 120, 115, 118, 123, 121, 128, 123, 134, 123, 116, 124, 124, 122, 127, 127, 120, 128, 132, 115, 125, 118, 123, 118, 120, 118, 119, 125, 116, 121, 113, 111, 128, 64, 119, 148, 130, 118, 174, 111, 126, 130, 120, 120, 66, 125, 117, 146, 114, 124, 118, 129, 126, 132, 125, 127, 115, 100, 126, 129, 131, 122, 136, 133, 123, 126, 132, 141, 129, 115, 132, 128, 120, 132, 133, 119, 112, 128, 121, 119, 120, 107, 128, 125, 49, 113, 58, 127, 121, 125, 127, 82, 119, 114, 124, 110, 121, 121, 119, 115, 134, 120, 124, 125, 117, 126, 121, 132, 121, 127, 109, 121, 134, 132, 124, 112, 114, 130, 129, 112, 125, 117, 126, 144, 134, 124, 125, 129, 145, 126, 128, 54, 132, 54, 133, 121, 111, 123, 121, 118, 123, 119, 101, 94, 123, 112, 126, 131, 118, 132, 126, 124, 130, 123, 121, 107, 120, 131, 137, 114, 126, 110, 137, 56, 134, 119, 119, 136, 115, 122, 102, 120, 122, 125, 123, 122, 128, 121, 124, 124, 88, 128, 122, 116, 129, 122, 121, 124, 123, 124, 130, 124, 125, 114, 129, 128, 138, 121, 125, 122, 119, 125, 123, 121, 119, 119, 121, 121, 123, 122, 155, 95, 140, 124, 138, 119, 122, 123, 121, 126, 123, 117, 93, 125, 103, 125, 124, 126, 127, 123, 120, 121, 122, 123, 120, 122, 120, 125, 120, 121, 124, 122, 126, 125, 123, 110, 124, 121, 119, 119, 120, 121, 123, 125, 124, 120, 124, 123, 122, 81, 123, 127, 121, 129, 128, 124, 127, 155, 122, 120, 122, 128, 120, 122, 124, 124, 124, 125, 123, 77, 124, 117, 124, 124, 121, 107, 124, 121, 121, 123, 114, 115, 122, 118, 124, 118, 121, 140, 124, 113, 116, 129, 107, 93, 75, 85, 127, 125, 133, 122, 114, 120, 117, 117, 126, 101, 136, 125, 92, 117, 123, 115, 136, 127, 136, 138, 110, 129, 107, 117, 94, 128, 121, 131, 111, 113, 105, 94, 130, 127, 109, 117, 110, 118, 99, 118, 127, 119, 126, 135, 125, 110, 124, 132, 119, 111, 116, 105, 122, 138, 118, 140, 111, 120, 133, 110, 118, 129, 123, 132, 104, 114, 131, 110, 121, 127, 109, 126, 127, 99, 128, 120, 126, 118, 129, 125, 110, 119, 112, 109, 120, 126, 120, 116, 108, 136, 140, 138, 139, 120, 105, 100, 111, 122, 114, 111, 131, 123, 102, 112, 110, 118, 119, 131, 111, 121, 132, 119, 140, 117, 98, 130, 126, 92, 164, 110, 120, 121, 126, 101, 129, 124, 121, 146, 125, 138, 124, 124, 120, 132, 122, 122, 125, 118, 90, 160, 113, 129, 123, 129, 124, 126, 124, 121, 113, 103, 117, 112, 126, 112, 152, 130, 122, 116, 107, 109, 123, 119, 115, 117, 120, 114, 107, 128, 120, 113, 123, 121, 119, 119, 126, 116, 142, 117, 126, 118, 127, 117, 132, 127, 118, 126, 105, 109, 121, 134, 133, 127, 115, 124, 164, 123, 122, 120, 111, 127, 117, 124, 127, 125, 131, 130, 108, 117, 123, 123, 123, 119, 121, 123, 146, 107, 123, 121, 117, 128, 119, 119, 153, 129, 115, 138, 109, 116, 104, 124, 119, 120, 112, 120, 134, 121, 116, 111, 128, 120, 143, 117, 123, 121, 118, 132, 116, 129, 125, 132, 128, 116, 143, 115, 115, 118, 136, 120, 122, 124, 105, 120, 124, 130, 115, 123, 115, 120, 115, 122, 122, 121, 122, 113, 124, 107, 114, 121, 124, 128, 124, 112, 131, 115, 103, 125, 121, 123, 117, 114, 118, 121, 121, 152, 113, 115, 119, 130, 127, 128, 121, 110, 128, 121, 122, 85, 120, 118, 123, 143, 120, 117, 113, 125, 107, 119, 124, 141, 113, 114, 114, 120, 136, 120, 120, 122, 127, 123, 126, 121, 125, 122, 109, 131, 123, 127, 120, 122, 125, 128, 120, 122, 134, 126, 130, 130, 102, 113, 127, 152, 127, 122, 126, 119, 103, 120, 114, 126, 118, 118, 116, 118, 119, 118, 115, 120, 127, 129, 135, 129, 123, 133, 133, 119, 124, 99, 130, 124, 113, 126, 122, 119, 113, 121, 129, 113, 114, 109, 121, 114, 117, 122, 119, 124, 130, 123, 113, 120, 193, 115, 169, 119, 119, 118, 104, 119, 116, 127, 120, 112, 110, 122, 123, 116, 120, 123, 112, 124, 109, 128, 117, 123, 120, 129, 121, 116, 116, 93, 125, 118, 112, 118, 120, 120, 102, 116, 120, 82, 129, 124, 118, 109, 111, 123, 124, 116, 116, 113, 117, 111, 119, 107, 84, 128, 126, 126, 122, 123, 119, 132, 122, 119, 122, 124, 130, 113, 121, 122, 107, 129, 113, 124, 127, 132, 122, 122, 99, 114, 102, 120, 118, 125, 117, 123, 122, 113, 121, 116, 127, 118, 118, 151, 118, 128, 119, 118, 114, 112, 116, 123, 104, 117, 129, 144, 125, 120, 113, 127, 123, 119, 126, 118, 116, 142, 125, 126, 129, 116, 118, 120, 125, 118, 133, 113, 128, 126, 121, 123, 145, 123, 148, 143, 124, 132, 121, 128, 122, 129, 123, 137, 121, 129, 125, 124, 118, 126, 117, 126, 115, 128, 124, 126, 121, 116, 119, 125, 118, 131, 111, 136, 122, 123, 127, 120, 111, 130, 113, 125, 127, 125, 132, 123, 119, 130, 123, 118, 129, 118, 118, 122, 124, 129, 127, 117, 123, 120, 140, 124, 126, 121, 129, 123, 128, 115, 124, 118, 129, 121, 122, 127, 126, 125, 126, 120, 127, 119, 129, 122, 120, 122, 128, 126, 136, 116, 127, 119, 124, 128, 124, 146, 119, 133, 115, 118, 114, 117, 121, 129, 130, 125, 114, 115, 128, 115, 113, 124, 104, 131, 90, 100, 149, 127, 123, 123, 128, 100, 121, 117, 128, 129, 129, 125, 125, 128, 122, 124, 121, 127, 125, 124, 127, 138, 127, 135, 119, 126, 145, 125, 126, 137, 122, 124, 127, 129, 125, 127, 121, 115, 131, 116, 127, 124, 116, 123, 125, 107, 120, 122, 126, 116, 121, 130, 104, 107, 130, 135, 124, 121, 133, 127, 122, 124, 128, 133, 133, 110, 130, 129, 125, 145, 124, 119, 109, 136, 113, 125, 118, 117, 91, 128, 126, 124, 134, 116, 127, 127, 95, 137, 114, 124, 120, 129, 122, 116, 114, 120, 142, 128, 133, 132, 135, 118, 122, 115, 134, 122, 101, 123, 129, 125, 123, 117, 66, 113, 130, 112, 115, 137, 139, 123, 121, 126, 130, 122, 122, 127, 120, 136, 116, 128, 123, 119, 126, 124, 121, 127, 128, 114, 124, 125, 132, 128, 120, 126, 123, 126, 124, 125, 129, 123, 119, 122, 131, 122, 120, 122, 119, 117, 118, 139, 122, 124, 129, 124, 130, 128, 120, 118, 119, 122, 122, 116, 122, 120, 124, 121, 125, 129, 120, 118, 122, 120, 127, 138, 126, 121, 122, 115, 122, 124, 141, 142, 122, 125, 127, 123, 119, 123, 122, 124, 110, 132, 125, 121, 120, 124, 121, 115, 110, 127, 119, 128, 123, 122, 121, 116, 124, 119, 124, 130, 123, 124, 125, 126, 113, 134, 120, 115, 125, 122, 113, 125, 119, 123, 128, 123, 132, 125, 131, 123, 120, 132, 128, 115, 118, 132, 126, 114, 121, 122, 131, 106, 135, 135, 114, 128, 123, 107, 129, 118, 123, 118, 116, 113, 117, 121, 114, 123, 117, 133, 123, 112, 120, 138, 119, 120, 109, 104, 123, 135, 120, 117, 122, 118, 139, 134, 126, 102, 125, 116, 112, 114, 118, 126, 122, 145, 127, 146, 122, 126, 118, 132, 122, 137, 152, 122, 125, 126, 79, 119, 117, 123, 122, 126, 113, 120, 128, 112, 116, 117, 126, 103, 119, 120, 125, 119, 122, 124, 117, 116, 131, 116, 112, 107, 111, 119, 126, 122, 125, 96, 116, 119, 115, 117, 119, 131, 138, 124, 107, 127, 121, 109, 130, 116, 122, 109, 115, 126, 117, 130, 127, 117, 115, 128, 121, 125, 109, 124, 122, 125, 115, 129, 119, 103, 133, 126, 120, 131, 121, 114, 113, 128, 127, 116, 119, 123, 125, 122, 115, 107, 125, 119, 123, 116, 120, 136, 118, 129, 120, 119, 121, 115, 120, 106, 112, 128, 119, 111, 112, 116, 123, 112, 133, 106, 120, 124, 120, 123, 122, 110, 119, 126, 121, 60, 113, 125, 130, 127, 131, 121, 121, 124, 113, 109, 120, 129, 127, 145, 119, 111, 123, 126, 108, 110, 124, 131, 124, 125, 120, 135, 136, 113, 124, 128, 104, 120, 115, 115, 122, 125, 112, 120, 113, 110, 103, 124, 120, 120, 131, 122, 157, 99, 121, 125, 89, 129, 128, 100, 127, 131, 126, 114, 125, 125, 107, 126, 119, 120, 122, 121, 147, 124, 135, 113, 124, 116, 139, 117, 116, 103, 131, 112, 111, 153, 124, 126, 133, 123, 122, 129, 114, 117, 128, 119, 133, 121, 110, 123, 124, 99, 121, 123, 127, 125, 115, 127, 125, 119, 122, 119, 113, 116, 125, 121, 131, 112, 123, 120, 123, 123, 130, 129, 129, 109, 119, 117, 117, 110, 109, 121, 116, 120, 124, 142, 125, 113, 125, 124, 121, 134, 127, 143, 128, 122, 129, 108, 124, 114, 122, 127, 124, 132, 115, 111, 112, 125, 117, 139, 121, 114, 121, 118, 121, 123, 128, 106, 107, 122, 124, 118, 113, 125, 126, 121, 126, 128, 122, 118, 126, 131, 116, 127, 122, 119, 126, 100, 117, 116, 128, 129, 123, 124, 132, 130, 125, 115, 124, 119, 116, 118, 136, 124, 123, 157, 103, 114, 120, 122, 93, 135, 118, 122, 111, 119, 126, 162, 152, 146, 139, 99, 120, 119, 121, 113, 107, 120, 125, 121, 112, 99, 151, 116, 107, 117, 129, 112, 110, 107, 117, 162, 125, 152, 135, 121, 119, 152, 110, 141, 112, 120, 117, 142, 122, 122, 116, 110, 118, 110, 106, 107, 110, 120, 120, 125, 123, 139, 125, 135, 120, 124, 120, 118, 119, 119, 125, 137, 123, 127, 148, 110, 128, 138, 117, 121, 106, 96, 107, 113, 124, 117, 117, 128, 113, 103, 120, 123, 115, 121, 82, 117, 108, 116, 94, 120, 125, 126, 129, 112, 104, 115, 130, 124, 123, 102, 125, 105, 120, 100, 118, 115, 165, 122, 106, 119, 125, 116, 138, 114, 99, 116, 152, 126, 128, 123, 116, 132, 121, 98, 118, 117, 126, 132, 128, 126, 121, 125, 127, 130, 119, 129, 94, 119, 127, 120, 118, 116, 124, 116, 122, 119, 121, 158, 126, 120, 122, 129, 120, 127, 119, 120, 122, 125, 119, 127, 123, 124, 114, 122, 122, 128, 94, 141, 127, 157, 125, 112, 122, 125, 123, 120, 118, 125, 118, 120, 110, 124, 129, 120, 121, 121, 120, 118, 123, 132, 129, 125, 123, 123, 123, 124, 121, 120, 129, 120, 118, 88, 122, 117, 121, 89, 123, 128, 127, 128, 128, 123, 122, 122, 124, 122, 120, 123, 149, 95, 112, 127, 124, 126, 121, 126, 127, 112, 124, 121, 115, 122, 125, 125, 128, 95, 127, 138, 124, 123, 120, 119, 124, 138, 127, 117, 120, 130, 123, 129, 125, 125, 111, 145, 105, 124, 120, 118, 120, 122, 119, 121, 121, 107, 115, 120, 122, 123, 120, 127, 118, 126, 126, 118, 134, 129, 76, 133, 103, 129, 142, 132, 125, 129, 119, 125, 121, 117, 127, 126, 126, 121, 120, 123, 121, 116, 112, 124, 130, 116, 120, 133, 122, 121, 127, 123, 115, 124, 115, 116, 125, 122, 121, 120, 127, 115, 119, 121, 121, 132, 130, 122, 132, 117, 118, 120, 119, 123, 128, 119, 122, 119, 123, 122, 125, 121, 106, 127, 120, 122, 129, 117, 117, 127, 122, 127, 110, 123, 114, 121, 120, 118, 126, 119, 128, 118, 126, 125, 114, 117, 120, 121, 127, 126, 117, 128, 122, 124, 124, 99, 120, 120, 129, 127, 128, 117, 127, 124, 107, 128, 118, 123, 123, 123, 120, 120, 124, 124, 121, 114, 88, 123, 119, 132, 124, 118, 120, 128, 137, 117, 123, 140, 120, 126, 122, 131, 125, 122, 124, 119, 124, 128, 80, 101, 127, 120, 127, 120, 114, 88, 116, 123, 125, 121, 123, 123, 120, 117, 133, 127, 104, 120, 122, 121, 125, 122, 121, 121, 125, 113, 106, 138, 124, 126, 126, 139, 144, 125, 130, 96, 121, 125, 116, 111, 130, 127, 117, 117, 119, 122, 126, 125, 92, 121, 124, 125, 119, 121, 122, 103, 97, 121, 129, 120, 132, 123, 129, 88, 121, 124, 124, 110, 127, 124, 120, 136, 117, 109, 141, 97, 126, 121, 103, 120, 141, 119, 148, 123, 121, 116, 128, 126, 113, 125, 120, 68, 123, 120, 125, 88, 122, 115, 122, 118, 110, 95, 116, 145, 125, 116, 116, 119, 112, 106, 129, 161, 126, 121, 93, 125, 130, 101, 123, 122, 115, 127, 114, 117, 120, 121, 122, 126, 140, 114, 114, 115, 125, 122, 125, 127, 117, 125, 129, 124, 126, 119, 123, 131, 115, 116, 118, 114, 129, 105, 120, 129, 134, 132, 119, 129, 120, 114, 109, 113, 121, 121, 115, 126, 121, 140, 128, 114, 121, 124, 109, 120, 122, 122, 114, 114, 124, 147, 116, 123, 115, 110, 151, 115, 117, 123, 137, 117, 126, 125, 139, 116, 129, 120, 103, 120, 129, 129, 119, 117, 134, 118, 113, 126, 112, 119, 115, 121, 121, 123, 124, 115, 103, 121, 142, 126, 120, 124, 123, 116, 111, 127, 107, 108, 124, 125, 113, 122, 136, 113, 127, 128, 124, 129, 131, 94, 103, 108, 117, 123, 123, 120, 124, 128, 132, 117, 57, 124, 113, 127, 117, 123, 159, 133, 121, 123, 113, 120, 114, 117, 126, 128, 123, 126, 127, 120, 107, 122, 118, 135, 118, 112, 126, 129, 144, 160, 117, 121, 120, 118, 119, 75, 105, 123, 132, 121, 131, 125, 114, 124, 112, 119, 152, 142, 118, 117, 123, 107, 116, 122, 136, 119, 113, 136, 125, 146, 129, 117, 104, 125, 108, 127, 119, 115, 115, 110, 122, 124, 122, 122, 143, 119, 96, 116, 125, 126, 121, 120, 128, 113, 116, 128, 110, 119, 120, 123, 125, 117, 126, 120, 130, 122, 119, 103, 104, 116, 102, 125, 145, 124, 120, 111, 130, 130, 130, 117, 120, 127, 106, 160, 121, 114, 121, 118, 117, 122, 126, 129, 128, 122, 110, 122, 140, 123, 121, 122, 110, 129, 112, 116, 126, 110, 126, 128, 132, 109, 104, 113, 125, 112, 122, 135, 120, 120, 135, 125, 133, 127, 122, 122, 117, 137, 119, 115, 127, 130, 119, 114, 117, 128, 117, 120, 129, 116, 130, 123, 127, 124, 111, 111, 125, 114, 126, 128, 116, 125, 88, 125, 117, 116, 121, 115, 115, 136, 121, 120, 119, 125, 145, 118, 108, 133, 118, 134, 137, 122, 135, 112, 124, 118, 114, 129, 118, 132, 111, 126, 118, 124, 112, 114, 120, 122, 116, 121, 108, 119, 130, 108, 128, 122, 130, 125, 124, 139, 129, 108, 120, 137, 121, 118, 129, 128, 115, 118, 122, 125, 119, 125, 121, 109, 153, 107, 130, 118, 127, 123, 125, 124, 121, 125, 114, 121, 85, 97, 69, 123, 126, 126, 122, 121, 114, 127, 117, 121, 117, 136, 122, 125, 124, 120, 136, 134, 139, 115, 75, 126, 128, 121, 126, 122, 101, 124, 134, 122, 147, 128, 126, 130, 123, 123, 124, 112, 117, 117, 115, 100, 123, 129, 77, 125, 119, 120, 132, 108, 117, 125, 157, 126, 121, 132, 125, 126, 113, 117, 120, 126, 118, 118, 120, 147, 120, 114, 120, 129, 116, 125, 129, 109, 126, 119, 116, 116, 120, 120, 131, 123, 121, 123, 117, 109, 118, 113, 124, 111, 125, 149, 115, 126, 115, 116, 114, 127, 128, 110, 123, 119, 122, 99, 119, 118, 118, 132, 123, 131, 123, 104, 119, 141, 118, 142, 117, 108, 115, 139, 113, 111, 117, 115, 128, 145, 139, 141, 53, 142, 50, 136, 124, 130, 128, 136, 128, 134, 122, 125, 146, 131, 127, 128, 131, 121, 120, 110, 118, 112, 119, 119, 118, 127, 120, 122, 116, 114, 120, 125, 125, 104, 132, 134, 177, 111, 139, 129, 119, 138, 118, 122, 120, 130, 123, 117, 128, 114, 114, 116, 123, 129, 111, 106, 123, 136, 69, 132, 113, 116, 116, 122, 124, 108, 111, 113, 132, 118, 107, 119, 132, 128, 118, 126, 112, 112, 98, 122, 114, 126, 121, 119, 137, 118, 126, 125, 130, 133, 120, 57, 125, 112, 108, 129, 105, 108, 123, 140, 190, 128, 121, 146, 121, 112, 130, 131, 118, 134, 115, 133, 125, 175, 125, 115, 120, 117, 125, 113, 129, 119, 122, 115, 113, 99, 122, 123, 120, 115, 126, 123, 137, 126, 127, 101, 123, 128, 125, 122, 126, 119, 131, 90, 124, 125, 114, 108, 111, 131, 113, 119, 131, 163, 128, 116, 125, 138, 120, 117, 124, 114, 124, 114, 190, 109, 125, 124, 130, 122, 122, 119, 125, 119, 126, 121, 122, 122, 112, 125, 115, 125, 121, 115, 123, 115, 126, 119, 115, 118, 105, 130, 121, 123, 128, 101, 137, 120, 116, 115, 121, 118, 110, 111, 122, 116, 129, 112, 120, 120, 115, 118, 128, 119, 120, 116, 120, 108, 124, 116, 119, 110, 109, 126, 99, 115, 116, 114, 80, 116, 119, 125, 119, 124, 123, 115, 130, 109, 130, 107, 116, 134, 124, 121, 124, 143, 123, 108, 118, 115, 121, 119, 105, 110, 125, 127, 128, 114, 130, 116, 111, 116, 121, 128, 120, 112, 91, 132, 136, 122, 122, 106, 121, 123, 115, 119, 115, 119, 118, 118, 123, 109, 128, 129, 123, 177, 123, 120, 118, 121, 126, 120, 144, 129, 133, 116, 118, 122, 115, 115, 121, 120, 126, 127, 119, 127, 97, 119, 125, 110, 147, 115, 129, 114, 128, 125, 122, 122, 113, 123, 119, 119, 108, 119, 138, 121, 148, 121, 121, 123, 125, 122, 121, 131, 142, 133, 114, 118, 114, 116, 122, 122, 125, 117, 115, 114, 133, 129, 125, 103, 92, 120, 151, 116, 117, 124, 120, 107, 118, 136, 118, 126, 133, 122, 118, 124, 113, 122, 125, 138, 124, 125, 127, 125, 125, 128, 122, 122, 126, 125, 128, 128, 123, 125, 139, 126, 142, 128, 125, 125, 117, 123, 125, 121, 120, 128, 127, 124, 122, 131, 121, 125, 136, 123, 136, 123, 124, 125, 126, 132, 121, 123, 118, 124, 122, 126, 122, 127, 126, 124, 115, 129, 118, 115, 117, 117, 126, 124, 124, 124, 124, 127, 126, 123, 126, 125, 124, 125, 125, 121, 127, 127, 134, 131, 121, 122, 129, 126, 130, 133, 114, 134, 124, 118, 121, 124, 125, 115, 125, 126, 115, 122, 129, 125, 124, 129, 123, 128, 123, 121, 128, 127, 122, 127, 122, 136, 125, 133, 122, 127, 129, 137, 126, 125, 130, 126, 130, 118, 122, 122, 121, 124, 118, 109, 114, 109, 123, 121, 127, 133, 136, 112, 128, 108, 148, 106, 94, 114, 123, 123, 120, 135, 119, 143, 121, 111, 122, 98, 91, 129, 99, 124, 124, 119, 117, 144, 121, 126, 122, 118, 121, 117, 123, 111, 148, 120, 143, 129, 123, 115, 116, 116, 119, 101, 122, 108, 136, 121, 121, 109, 118, 140, 106, 124, 134, 149, 122, 113, 126, 132, 129, 102, 132, 123, 119, 132, 115, 120, 145, 100, 118, 125, 114, 115, 122, 144, 138, 119, 125, 119, 130, 119, 128, 154, 115, 121, 96, 119, 121, 108, 125, 118, 118, 131, 146, 134, 105, 123, 124, 110, 143, 123, 105, 119, 94, 115, 127, 122, 128, 120, 113, 117, 123, 107, 125, 108, 118, 129, 131, 119, 130, 121, 126, 124, 117, 123, 112, 122, 108, 103, 123, 201, 121, 123, 115, 126, 122, 101, 122, 115, 125, 107, 126, 128, 117, 122, 133, 101, 150, 124, 129, 127, 130, 108, 104, 131, 129, 129, 136, 120, 128, 125, 115, 125, 111, 136, 122, 125, 120, 126, 122, 114, 62, 137, 118, 125, 125, 110, 126, 130, 114, 117, 123, 112, 121, 133, 119, 116, 108, 109, 135, 114, 118, 122, 107, 121, 118, 131, 123, 127, 131, 122, 108, 126, 124, 123, 125, 115, 111, 122, 132, 119, 122, 124, 111, 117, 121, 117, 117, 118, 121, 112, 119, 142, 133, 121, 123, 120, 124, 114, 138, 124, 86, 112, 130, 145, 136, 116, 120, 119, 114, 119, 119, 121, 107, 112, 104, 114, 161, 113, 147, 140, 108, 121, 107, 126, 114, 136, 112, 115, 114, 116, 97, 115, 128, 124, 125, 128, 115, 126, 119, 119, 101, 92, 123, 126, 95, 115, 111, 125, 120, 99, 118, 121, 110, 136, 118, 124, 107, 120, 110, 115, 112, 112, 112, 140, 113, 139, 107, 102, 121, 129, 124, 109, 146, 105, 129, 111, 121, 123, 107, 120, 126, 111, 115, 114, 113, 92, 114, 122, 125, 100, 135, 119, 130, 94, 111, 121, 113, 127, 148, 114, 117, 120, 115, 119, 129, 121, 162, 102, 121, 105, 97, 120, 121, 96, 122, 128, 119, 118, 116, 114, 108, 113, 115, 137, 108, 137, 164, 114, 94, 148, 109, 122, 133, 116, 99, 128, 127, 112, 124, 105, 117, 122, 129, 109, 126, 124, 110, 122, 134, 104, 122, 117, 114, 125, 123, 129, 124, 124, 111, 126, 124, 120, 120, 122, 109, 122, 109, 109, 113, 117, 127, 130, 131, 110, 133, 114, 115, 124, 121, 122, 125, 121, 128, 120, 127, 113, 118, 125, 127, 128, 124, 126, 125, 116, 130, 119, 119, 115, 121, 120, 124, 123, 143, 98, 113, 128, 114, 126, 119, 111, 132, 134, 113, 133, 128, 119, 124, 116, 118, 127, 135, 126, 113, 121, 118, 122, 117, 122, 126, 125, 118, 124, 132, 127, 130, 128, 122, 120, 114, 124, 118, 129, 122, 110, 109, 128, 117, 130, 114, 128, 128, 121, 118, 120, 112, 107, 127, 113, 122, 124, 125, 130, 128, 118, 124, 127, 133, 128, 123, 134, 119, 127, 157, 120, 117, 118, 123, 133, 126, 125, 113, 139, 116, 129, 119, 115, 105, 123, 127, 131, 118, 124, 116, 96, 114, 118, 114, 92, 117, 139, 111, 121, 130, 120, 117, 105, 125, 124, 116, 112, 117, 109, 111, 117, 110, 105, 117, 116, 122, 127, 122, 128, 129, 102, 132, 120, 125, 118, 136, 108, 116, 112, 118, 124, 113, 119, 126, 121, 116, 123, 118, 106, 124, 112, 118, 114, 136, 126, 121, 102, 123, 125, 121, 132, 155, 119, 114, 115, 120, 126, 136, 133, 199, 97, 118, 118, 109, 124, 129, 106, 117, 121, 135, 123, 112, 118, 113, 127, 111, 116, 114, 78, 140, 114, 107, 80, 113, 121, 154, 121, 108, 114, 122, 103, 125, 120, 126, 109, 150, 122, 124, 131, 110, 129, 130, 111, 120, 127, 115, 130, 130, 114, 117, 123, 118, 127, 132, 147, 124, 123, 119, 129, 116, 112, 107, 123, 125, 131, 126, 119, 120, 116, 124, 120, 126, 126, 137, 144, 135, 129, 141, 137, 118, 147, 120, 124, 80, 113, 137, 111, 142, 122, 131, 93, 110, 119, 123, 122, 118, 122, 120, 119, 122, 124, 77, 122, 126, 124, 117, 90, 121, 125, 135, 123, 120, 110, 120, 124, 113, 118, 128, 126, 118, 115, 120, 132, 119, 83, 118, 124, 118, 120, 131, 118, 128, 121, 120, 134, 118, 129, 128, 119, 120, 120, 116, 105, 126, 110, 126, 123, 118, 113, 122, 119, 120, 91, 111, 144, 130, 125, 121, 107, 124, 129, 130, 116, 116, 119, 110, 122, 119, 118, 130, 120, 116, 102, 130, 123, 123, 118, 120, 116, 128, 130, 134, 120, 65, 118, 121, 134, 126, 122, 154, 108, 122, 126, 122, 122, 118, 136, 127, 119, 123, 119, 124, 120, 103, 102, 119, 104, 124, 136, 122, 121, 106, 168, 115, 122, 125, 121, 125, 157, 121, 124, 122, 108, 123, 121, 115, 120, 123, 124, 153, 114, 116, 123, 117, 132, 116, 116, 120, 129, 120, 118, 125, 112, 118, 127, 124, 107, 111, 119, 120, 113, 123, 125, 104, 123, 130, 124, 96, 117, 125, 125, 122, 105, 119, 118, 122, 120, 128, 122, 127, 117, 127, 118, 118, 115, 120, 129, 125, 125, 113, 126, 115, 105, 120, 111, 109, 137, 119, 137, 122, 126, 109, 125, 133, 80, 148, 101, 122, 120, 127, 124, 121, 151, 123, 109, 123, 127, 130, 116, 137, 133, 121, 125, 120, 101, 116, 121, 123, 129, 125, 124, 102, 134, 142, 124, 122, 117, 124, 167, 124, 119, 118, 124, 117, 121, 122, 117, 113, 120, 116, 129, 127, 104, 121, 118, 129, 114, 125, 126, 138, 128, 128, 121, 122, 122, 127, 121, 121, 129, 130, 127, 119, 100, 112, 134, 121, 115, 105, 123, 119, 112, 119, 112, 116, 124, 114, 118, 128, 120, 111, 114, 124, 120, 137, 122, 118, 125, 131, 126, 128, 109, 124, 131, 128, 111, 123, 124, 117, 123, 121, 121, 121, 115, 122, 121, 142, 109, 146, 119, 131, 116, 118, 129, 122, 162, 110, 117, 126, 126, 124, 119, 95, 137, 124, 121, 128, 118, 121, 122, 118, 113, 127, 119, 115, 113, 118, 123, 121, 128, 120, 118, 124, 128, 123, 124, 122, 111, 122, 126, 123, 119, 129, 121, 126, 115, 120, 121, 119, 123, 123, 122, 122, 125, 122, 119, 173, 119, 122, 121, 128, 118, 124, 108, 129, 112, 120, 123, 124, 114, 120, 102, 139, 126, 120, 118, 121, 130, 123, 126, 125, 130, 122, 112, 121, 125, 111, 124, 104, 104, 122, 124, 99, 147, 123, 118, 108, 122, 123, 122, 129, 126, 132, 115, 130, 127, 130, 111, 125, 120, 124, 128, 120, 95, 123, 136, 127, 126, 119, 121, 122, 122, 120, 125, 119, 118, 124, 119, 128, 123, 120, 139, 121, 130, 118, 119, 124, 125, 120, 132, 126, 131, 130, 109, 117, 113, 122, 126, 128, 125, 126, 114, 127, 130, 127, 120, 121, 125, 120, 120, 121, 126, 122, 122, 132, 127, 113, 119, 128, 132, 130, 126, 115, 125, 123, 127, 122, 116, 120, 116, 120, 129, 127, 117, 118, 141, 124, 114, 119, 126, 131, 121, 124, 129, 119, 126, 116, 116, 106, 139, 122, 118, 132, 123, 127, 123, 124, 126, 129, 120, 126, 116, 122, 125, 126, 122, 119, 122, 125, 118, 123, 124, 126, 116, 120, 117, 123, 121, 112, 121, 117, 119, 125, 127, 127, 120, 120, 124, 128, 125, 128, 126, 133, 115, 128, 128, 123, 124, 131, 125, 126, 118, 123, 130, 130, 130, 130, 123, 123, 125, 129, 125, 124, 116, 125, 127, 116, 125, 113, 129, 122, 109, 129, 123, 114, 123, 126, 109, 122, 119, 121, 124, 122, 128, 124, 141, 121, 122, 118, 122, 116, 116, 121, 130, 120, 121, 112, 128, 167, 123, 121, 126, 115, 124, 117, 122, 117, 123, 116, 112, 123, 121, 120, 124, 116, 124, 119, 97, 115, 115, 128, 120, 122, 131, 113, 115, 133, 131, 122, 124, 127, 123, 119, 121, 124, 121, 119, 122, 160, 127, 121, 126, 111, 119, 122, 119, 119, 123, 126, 127, 93, 118, 129, 115, 133, 116, 125, 112, 116, 125, 123, 122, 120, 126, 120, 114, 126, 119, 122, 123, 125, 124, 113, 114, 127, 119, 123, 130, 117, 124, 127, 132, 152, 119, 97, 118, 124, 121, 125, 131, 124, 117, 127, 124, 118, 121, 106, 129, 126, 133, 113, 120, 111, 119, 119, 116, 119, 108, 117, 120, 134, 122, 116, 125, 124, 118, 118, 129, 122, 110, 121, 122, 123, 123, 119, 113, 124, 120, 120, 124, 118, 108, 117, 128, 115, 118, 129, 121, 125, 103, 119, 103, 133, 127, 117, 130, 117, 114, 125, 119, 121, 120, 126, 112, 124, 122, 114, 115, 120, 120, 126, 121, 132, 127, 123, 141, 121, 111, 115, 127, 130, 136, 128, 109, 115, 124, 133, 126, 115, 121, 114, 129, 121, 177, 126, 122, 120, 121, 122, 118, 111, 120, 132, 94, 126, 123, 125, 118, 119, 120, 124, 125, 112, 131, 119, 129, 126, 122, 132, 125, 115, 230, 136, 96, 117, 124, 129, 136, 124, 128, 123, 115, 127, 115, 150, 129, 123, 128, 124, 124, 124, 119, 119, 114, 127, 136, 113, 119, 124, 131, 113, 107, 122, 114, 125, 110, 121, 109, 103, 111, 113, 137, 124, 121, 109, 118, 158, 102, 115, 124, 125, 122, 120, 106, 125, 102, 121, 121, 120, 131, 129, 133, 123, 132, 123, 102, 82, 119, 128, 123, 112, 122, 106, 119, 119, 125, 123, 115, 123, 106, 113, 115, 116, 117, 136, 122, 123, 109, 89, 129, 117, 112, 123, 126, 136, 125, 115, 123, 128, 126, 122, 123, 110, 129, 151, 113, 119, 124, 124, 113, 113, 119, 122, 116, 125, 118, 120, 122, 117, 131, 112, 128, 125, 102, 129, 126, 82, 124, 105, 129, 148, 123, 111, 115, 127, 95, 122, 106, 121, 114, 119, 116, 110, 123, 119, 121, 124, 119, 119, 117, 125, 99, 128, 115, 120, 121, 123, 117, 126, 138, 159, 118, 117, 114, 99, 127, 126, 137, 114, 116, 120, 125, 121, 134, 117, 122, 120, 124, 125, 119, 93, 110, 120, 126, 121, 81, 119, 119, 110, 128, 124, 126, 125, 130, 109, 116, 113, 126, 132, 136, 128, 114, 124, 113, 125, 120, 164, 125, 117, 121, 123, 137, 122, 119, 60, 118, 124, 113, 121, 112, 125, 129, 118, 118, 106, 124, 119, 109, 127, 138, 120, 118, 120, 121, 118, 112, 110, 114, 93, 102, 118, 122, 125, 118, 128, 110, 118, 128, 135, 106, 123, 116, 123, 116, 135, 132, 130, 129, 119, 107, 134, 113, 127, 134, 118, 124, 122, 124, 125, 111, 125, 124, 122, 112, 115, 126, 124, 126, 140, 127, 121, 123, 134, 113, 123, 127, 119, 115, 121, 127, 121, 112, 121, 121, 122, 123, 100, 122, 118, 110, 127, 118, 134, 126, 131, 119, 121, 122, 123, 123, 123, 131, 131, 124, 138, 126, 122, 128, 122, 120, 121, 125, 122, 124, 126, 126, 123, 125, 132, 112, 105, 125, 115, 132, 120, 125, 101, 92, 142, 127, 122, 123, 124, 121, 132, 123, 139, 119, 120, 121, 122, 126, 116, 137, 150, 123, 127, 126, 115, 120, 117, 132, 135, 124, 121, 92, 127, 126, 124, 126, 123, 94, 127, 137, 117, 122, 146, 113, 123, 120, 109, 123, 120, 122, 120, 122, 113, 123, 116, 114, 121, 117, 134, 85, 120, 127, 132, 138, 121, 121, 130, 97, 112, 49, 125, 127, 127, 121, 114, 135, 119, 118, 139, 117, 130, 121, 118, 132, 45, 134, 50, 119, 129, 143, 118, 129, 130, 126, 116, 134, 126, 123, 131, 119, 128, 127, 135, 121, 134, 107, 123, 112, 117, 133, 120, 122, 118, 132, 129, 132, 124, 110, 129, 119, 153, 91, 127, 138, 112, 128, 130, 121, 128, 131, 120, 124, 129, 120, 119, 121, 127, 111, 123, 120, 128, 129, 64, 117, 122, 120, 114, 125, 131, 130, 122, 142, 126, 124, 115, 125, 127, 120, 125, 122, 116, 128, 108, 120, 116, 126, 131, 130, 131, 127, 132, 119, 130, 109, 124, 45, 127, 117, 114, 121, 132, 135, 124, 127, 95, 123, 141, 114, 122, 131, 119, 117, 117, 110, 139, 128, 109, 135, 119, 125, 125, 136, 119, 127, 123, 123, 126, 130, 122, 131, 122, 116, 112, 124, 124, 117, 114, 125, 127, 138, 131, 127, 132, 127, 113, 121, 115, 104, 123, 114, 74, 128, 99, 115, 119, 135, 128, 142, 135, 124, 123, 132, 125, 110, 130, 116, 129, 124, 124, 113, 116, 132, 123, 104, 126, 117, 139, 130, 125, 126, 122, 106, 134, 117, 128, 123, 124, 137, 129, 118, 114, 118, 121, 123, 126, 122, 132, 100, 116, 69, 128, 131, 138, 128, 120, 127, 110, 120, 125, 125, 133, 121, 119, 123, 128, 126, 124, 131, 124, 141, 125, 147, 120, 122, 110, 120, 129, 0, 110, 154, 116, 124, 121, 123, 139, 127, 119, 130, 136, 121, 127, 127, 119, 128, 122, 130, 119, 124, 125, 127, 125, 128, 127, 117, 117, 124, 134, 128, 120, 124, 126, 126, 130, 121, 129, 124, 122, 119, 125, 122, 128, 122, 127, 122, 124, 134, 121, 123, 144, 122, 136, 133, 121, 122, 120, 130, 126, 117, 123, 120, 123, 123, 123, 130, 123, 122, 116, 123, 124, 124, 121, 122, 120, 123, 126, 122, 121, 119, 127, 126, 123, 125, 123, 120, 123, 121, 122, 125, 127, 127, 123, 124, 120, 120, 125, 135, 116, 137, 127, 118, 122, 122, 126, 115, 122, 121, 119, 130, 118, 129, 126, 120, 122, 123, 120, 122, 127, 126, 121, 130, 126, 126, 129, 129, 120, 128, 120, 136, 125, 119, 122, 127, 125, 118, 126, 118, 119, 113, 133, 119, 122, 119, 108, 118, 121, 126, 116, 133, 116, 127, 117, 122, 108, 132, 118, 132, 127, 125, 119, 125, 125, 123, 138, 126, 134, 97, 124, 122, 87, 129, 141, 99, 114, 121, 119, 121, 126, 124, 120, 123, 151, 113, 119, 121, 115, 112, 120, 127, 117, 110, 112, 131, 120, 137, 124, 120, 135, 110, 125, 119, 130, 116, 119, 150, 123, 126, 124, 108, 116, 118, 117, 128, 129, 118, 118, 115, 121, 123, 137, 115, 121, 119, 123, 123, 117, 121, 124, 117, 118, 103, 148, 128, 116, 124, 131, 118, 107, 127, 117, 123, 155, 122, 132, 113, 118, 118, 153, 124, 133, 124, 111, 124, 114, 123, 103, 117, 115, 134, 115, 105, 118, 121, 129, 117, 122, 124, 121, 115, 119, 121, 125, 114, 121, 123, 143, 102, 129, 125, 129, 120, 112, 112, 119, 103, 122, 127, 123, 122, 125, 117, 140, 102, 135, 112, 126, 124, 131, 113, 103, 114, 123, 117, 120, 119, 122, 110, 125, 152, 119, 114, 114, 125, 121, 103, 127, 118, 118, 119, 144, 145, 116, 120, 124, 120, 119, 115, 122, 124, 107, 119, 119, 105, 126, 121, 145, 124, 110, 117, 112, 117, 150, 120, 129, 118, 124, 115, 92, 93, 137, 120, 116, 127, 119, 127, 128, 126, 149, 104, 126, 125, 115, 122, 134, 111, 110, 119, 130, 111, 117, 120, 121, 129, 126, 120, 107, 112, 140, 123, 94, 114, 120, 122, 122, 127, 109, 130, 121, 107, 126, 134, 115, 123, 123, 118, 126, 120, 128, 114, 134, 133, 122, 117, 120, 125, 124, 121, 119, 132, 124, 103, 115, 123, 122, 125, 127, 119, 128, 119, 104, 122, 134, 136, 119, 115, 122, 119, 134, 141, 129, 114, 118, 116, 125, 125, 120, 108, 121, 132, 128, 128, 118, 133, 121, 130, 123, 138, 118, 115, 133, 119, 114, 125, 130, 103, 107, 128, 105, 136, 120, 113, 105, 104, 111, 130, 127, 119, 128, 126, 124, 121, 145, 114, 129, 124, 120, 125, 121, 129, 146, 125, 131, 124, 138, 120, 136, 146, 120, 121, 117, 113, 118, 117, 115, 114, 123, 110, 103, 143, 122, 125, 142, 123, 108, 126, 110, 127, 115, 119, 118, 124, 112, 127, 114, 126, 124, 117, 115, 118, 123, 120, 112, 124, 122, 122, 122, 124, 116, 113, 120, 122, 121, 125, 122, 122, 124, 123, 117, 129, 121, 124, 123, 120, 110, 123, 111, 116, 123, 117, 120, 121, 120, 122, 124, 118, 124, 119, 118, 118, 120, 120, 114, 123, 117, 123, 123, 118, 117, 117, 121, 118, 122, 121, 122, 116, 123, 125, 119, 123, 127, 118, 130, 124, 127, 124, 125, 119, 121, 119, 124, 124, 124, 119, 124, 122, 121, 117, 118, 117, 119, 125, 109, 119, 122, 121, 113, 119, 117, 115, 125, 118, 124, 122, 125, 114, 121, 127, 119, 122, 128, 124, 119, 122, 121, 124, 125, 117, 123, 117, 115, 120, 124, 121, 125, 109, 122, 118, 121, 120, 122, 119, 123, 121, 118, 122, 123, 78, 119, 112, 112, 133, 124, 111, 106, 132, 123, 159, 124, 122, 114, 122, 121, 120, 117, 115, 121, 127, 115, 123, 132, 125, 132, 101, 141, 114, 117, 142, 123, 115, 126, 112, 131, 118, 109, 119, 115, 114, 125, 118, 119, 128, 120, 120, 125, 89, 118, 118, 116, 124, 125, 133, 121, 150, 135, 92, 113, 115, 164, 129, 132, 112, 119, 125, 117, 119, 118, 160, 117, 116, 120, 132, 111, 115, 112, 114, 128, 118, 116, 115, 109, 124, 152, 122, 111, 117, 120, 124, 128, 135, 131, 119, 133, 111, 124, 120, 115, 124, 128, 126, 134, 123, 128, 117, 112, 115, 118, 118, 123, 104, 120, 109, 130, 134, 111, 117, 118, 122, 127, 118, 125, 120, 142, 131, 111, 105, 124, 120, 125, 142, 116, 125, 106, 78, 126, 116, 123, 121, 93, 111, 129, 118, 108, 152, 108, 108, 123, 111, 124, 128, 119, 119, 121, 111, 120, 117, 112, 113, 119, 141, 119, 122, 107, 139, 122, 122, 121, 114, 128, 115, 121, 113, 152, 116, 103, 128, 123, 126, 124, 117, 129, 99, 128, 116, 118, 207, 137, 117, 109, 135, 90, 125, 148, 155, 116, 107, 111, 113, 105, 128, 117, 123, 123, 125, 113, 115, 143, 118, 120, 118, 118, 119, 136, 104, 104, 125, 120, 128, 117, 122, 113, 145, 105, 123, 108, 119, 119, 124, 129, 142, 161, 114, 125, 101, 121, 123, 94, 107, 147, 114, 136, 117, 127, 119, 137, 120, 131, 128, 123, 116, 115, 127, 159, 122, 130, 113, 110, 111, 96, 154, 79, 178, 146, 122, 126, 113, 102, 109, 122, 117, 122, 104, 122, 127, 133, 113, 129, 114, 122, 116, 127, 132, 119, 117, 140, 116, 151, 129, 116, 124, 113, 101, 114, 147, 122, 125, 121, 122, 119, 102, 107, 128, 117, 116, 113, 113, 115, 127, 117, 120, 115, 114, 111, 111, 114, 112, 122, 131, 140, 123, 111, 108, 126, 125, 176, 185, 100, 113, 107, 120, 119, 144, 129, 125, 97, 145, 126, 126, 119, 115, 146, 111, 86, 115, 145, 106, 126, 118, 120, 96, 110, 126, 127, 178, 114, 126, 145, 122, 113, 189, 106, 111, 130, 115, 97, 113, 99, 116, 136, 127, 138, 117, 134, 121, 117, 115, 153, 131, 126, 169, 116, 126, 122, 129, 109, 132, 124, 102, 141, 126, 143, 126, 119, 121, 106, 123, 117, 107, 112, 112, 135, 119, 100, 127, 120, 122, 128, 131, 135, 122, 123, 136, 136, 120, 97, 127, 112, 136, 117, 123, 135, 93, 124, 117, 101, 120, 103, 122, 120, 126, 111, 124, 116, 123, 118, 157, 115, 129, 121, 131, 111, 122, 118, 126, 99, 143, 122, 118, 127, 122, 116, 135, 106, 100, 113, 109, 130, 119, 121, 114, 134, 123, 102, 99, 128, 130, 120, 121, 155, 119, 109, 111, 132, 124, 126, 116, 140, 109, 132, 123, 131, 116, 120, 123, 130, 117, 121, 103, 120, 102, 133, 119, 111, 125, 118, 118, 130, 127, 101, 122, 112, 117, 128, 102, 102, 142, 129, 104, 124, 120, 122, 120, 124, 120, 122, 130, 114, 133, 123, 117, 122, 121, 126, 117, 122, 122, 121, 120, 120, 128, 127, 125, 124, 120, 117, 124, 116, 126, 124, 121, 120, 120, 129, 120, 131, 121, 121, 118, 118, 133, 118, 124, 123, 120, 126, 124, 120, 121, 126, 122, 120, 121, 119, 121, 122, 116, 121, 119, 122, 121, 125, 121, 138, 117, 120, 120, 119, 121, 124, 120, 132, 139, 122, 123, 126, 120, 123, 125, 116, 120, 122, 128, 114, 116, 126, 122, 112, 125, 123, 122, 116, 123, 123, 116, 120, 118, 120, 124, 120, 128, 124, 117, 116, 120, 114, 136, 120, 123, 123, 122, 122, 122, 121, 122, 120, 115, 129, 119, 126, 124, 121, 124, 131, 121, 122, 132, 134, 119, 117, 118, 123, 124, 121, 127, 121, 120, 126, 109, 123, 120, 116, 119, 126, 123, 121, 129, 114, 123, 119, 121, 120, 122, 105, 126, 101, 106, 116, 118, 125, 126, 126, 118, 133, 120, 114, 123, 123, 122, 122, 118, 119, 123, 118, 116, 118, 123, 123, 121, 125, 121, 122, 115, 123, 117, 125, 119, 125, 119, 129, 119, 130, 115, 122, 128, 115, 124, 118, 113, 124, 127, 114, 129, 125, 119, 125, 113, 119, 121, 131, 124, 104, 120, 120, 121, 113, 121, 128, 118, 119, 125, 129, 124, 128, 126, 113, 119, 114, 124, 121, 123, 120, 112, 117, 124, 113, 124, 118, 123, 125, 122, 117, 121, 121, 103, 128, 113, 121, 124, 123, 126, 123, 113, 121, 127, 128, 124, 45, 135, 131, 122, 125, 121, 125, 115, 121, 119, 148, 127, 122, 116, 141, 123, 121, 119, 121, 122, 157, 134, 137, 119, 109, 121, 121, 120, 137, 122, 119, 127, 118, 120, 118, 109, 124, 126, 117, 124, 106, 127, 117, 109, 100, 121, 120, 124, 119, 125, 118, 125, 109, 119, 94, 120, 125, 122, 116, 118, 123, 121, 117, 116, 122, 99, 126, 124, 149, 122, 119, 121, 122, 118, 124, 114, 119, 119, 116, 113, 120, 121, 120, 116, 115, 121, 126, 121, 124, 121, 120, 124, 123, 154, 129, 122, 123, 164, 118, 121, 114, 134, 121, 119, 121, 126, 120, 119, 123, 127, 119, 123, 118, 126, 119, 124, 125, 121, 120, 115, 110, 111, 122, 120, 122, 122, 121, 123, 126, 121, 123, 120, 127, 122, 119, 128, 145, 126, 121, 114, 109, 115, 121, 120, 104, 133, 126, 108, 123, 123, 120, 117, 125, 128, 121, 121, 117, 126, 155, 165, 128, 119, 131, 118, 119, 149, 118, 128, 121, 126, 122, 119, 125, 120, 103, 107, 131, 119, 120, 126, 123, 125, 118, 125, 123, 140, 131, 103, 118, 119, 117, 74, 77, 123, 110, 137, 126, 125, 118, 116, 108, 116, 122, 120, 123, 133, 116, 120, 153, 129, 123, 120, 128, 119, 112, 133, 121, 126, 126, 126, 128, 125, 118, 152, 116, 120, 127, 110, 121, 121, 126, 124, 117, 115, 91, 122, 128, 124, 114, 114, 90, 116, 102, 125, 119, 114, 124, 121, 109, 120, 122, 181, 123, 121, 111, 138, 119, 127, 125, 127, 125, 122, 125, 120, 139, 145, 124, 123, 118, 120, 125, 118, 121, 117, 131, 105, 114, 122, 123, 121, 138, 116, 145, 133, 119, 134, 122, 129, 120, 126, 122, 129, 123, 134, 135, 124, 117, 123, 130, 126, 124, 113, 121, 130, 125, 123, 122, 132, 123, 129, 111, 139, 120, 113, 130, 119, 111, 134, 107, 108, 116, 115, 121, 131, 127, 123, 119, 114, 117, 133, 111, 123, 125, 133, 134, 123, 128, 116, 136, 125, 123, 122, 135, 126, 129, 133, 116, 124, 123, 115, 117, 134, 123, 118, 126, 121, 110, 117, 131, 121, 131, 112, 113, 128, 129, 123, 140, 121, 113, 133, 113, 142, 120, 134, 119, 120, 111, 124, 117, 115, 130, 128, 111, 149, 126, 116, 121, 129, 115, 126, 116, 148, 115, 127, 119, 121, 116, 125, 120, 116, 129, 121, 112, 137, 125, 108, 124, 128, 122, 113, 122, 110, 118, 93, 123, 107, 116, 114, 136, 130, 121, 103, 114, 130, 117, 117, 122, 112, 117, 120, 102, 130, 111, 120, 123, 118, 118, 113, 117, 96, 103, 120, 126, 107, 131, 123, 130, 121, 126, 120, 105, 119, 122, 97, 123, 127, 120, 125, 144, 120, 117, 111, 114, 117, 124, 131, 122, 121, 108, 122, 105, 115, 124, 124, 121, 124, 123, 123, 146, 98, 119, 127, 108, 133, 127, 130, 162, 128, 114, 122, 108, 130, 128, 121, 110, 124, 105, 110, 135, 128, 121, 114, 141, 120, 130, 128, 120, 115, 125, 117, 117, 109, 127, 125, 108, 129, 123, 123, 119, 127, 123, 128, 137, 115, 117, 119, 127, 122, 118, 125, 127, 128, 136, 118, 158, 133, 162, 116, 125, 120, 123, 126, 121, 130, 124, 122, 119, 116, 123, 123, 118, 118, 122, 144, 137, 121, 55, 124, 121, 124, 124, 123, 106, 86, 134, 123, 138, 121, 119, 110, 126, 121, 126, 127, 122, 123, 119, 86, 126, 123, 75, 127, 120, 120, 121, 109, 117, 116, 121, 126, 120, 131, 121, 120, 129, 111, 132, 119, 117, 123, 128, 165, 125, 98, 127, 119, 115, 122, 125, 131, 115, 121, 121, 112, 122, 123, 124, 121, 124, 122, 122, 112, 129, 114, 125, 109, 115, 71, 120, 126, 125, 116, 123, 124, 135, 120, 113, 123, 121, 116, 127, 125, 122, 124, 123, 179, 107, 141, 116, 119, 129, 120, 124, 116, 121, 103, 125, 125, 121, 126, 118, 135, 122, 123, 121, 125, 120, 119, 131, 130, 120, 121, 107, 127, 108, 120, 134, 123, 123, 92, 122, 119, 112, 121, 120, 124, 123, 132, 125, 127, 130, 113, 120, 128, 128, 118, 124, 105, 120, 122, 122, 121, 124, 128, 122, 110, 127, 122, 122, 121, 103, 117, 121, 114, 121, 129, 124, 122, 124, 118, 120, 156, 116, 121, 119, 124, 119, 124, 122, 118, 131, 108, 119, 120, 117, 123, 130, 123, 126, 114, 123, 130, 126, 104, 128, 127, 120, 114, 117, 121, 117, 135, 127, 125, 117, 122, 116, 127, 115, 110, 91, 132, 127, 131, 129, 92, 127, 126, 132, 127, 116, 124, 122, 122, 127, 135, 118, 125, 129, 107, 135, 120, 130, 124, 131, 98, 122, 116, 110, 123, 125, 107, 118, 127, 116, 121, 114, 123, 110, 122, 125, 119, 120, 111, 121, 129, 127, 124, 115, 115, 114, 120, 115, 121, 127, 127, 131, 121, 124, 125, 125, 126, 136, 121, 122, 126, 109, 119, 114, 127, 106, 131, 124, 126, 127, 132, 121, 122, 132, 133, 134, 125, 117, 122, 119, 123, 125, 119, 124, 121, 113, 106, 125, 122, 122, 127, 136, 122, 127, 122, 107, 128, 129, 130, 127, 139, 122, 117, 142, 128, 127, 118, 90, 135, 131, 132, 124, 130, 132, 121, 127, 124, 116, 120, 127, 127, 121, 122, 114, 128, 121, 124, 122, 123, 93, 140, 119, 127, 134, 122, 123, 127, 125, 122, 116, 139, 124, 123, 125, 123, 126, 126, 123, 119, 125, 119, 126, 125, 125, 124, 143, 123, 143, 131, 123, 124, 123, 125, 128, 123, 125, 126, 128, 126, 124, 133, 122, 121, 134, 126, 132, 126, 121, 128, 124, 133, 126, 125, 119, 125, 128, 131, 120, 121, 123, 121, 118, 125, 115, 122, 122, 114, 125, 122, 123, 127, 120, 119, 128, 127, 123, 134, 126, 122, 131, 130, 123, 125, 141, 133, 122, 121, 125, 125, 128, 130, 119, 139, 110, 124, 118, 124, 127, 111, 124, 119, 114, 121, 125, 128, 119, 123, 124, 125, 125, 132, 129, 132, 124, 130, 118, 143, 125, 131, 130, 123, 122, 128, 124, 124, 126, 123, 116, 123, 129, 119, 120, 113, 127, 113, 120, 119, 106, 118, 121, 127, 130, 126, 119, 115, 131, 121, 120, 129, 116, 123, 123, 127, 124, 119, 124, 118, 132, 120, 107, 120, 111, 115, 115, 122, 125, 122, 119, 103, 116, 118, 123, 119, 123, 137, 122, 115, 117, 119, 125, 122, 125, 122, 125, 121, 123, 131, 121, 118, 123, 130, 128, 129, 122, 125, 118, 119, 124, 125, 116, 108, 131, 118, 121, 123, 117, 118, 131, 119, 117, 117, 126, 114, 124, 127, 124, 120, 114, 125, 126, 119, 126, 129, 130, 116, 127, 132, 126, 117, 138, 123, 114, 123, 124, 110, 123, 115, 117, 124, 116, 119, 122, 117, 125, 123, 113, 118, 112, 125, 128, 122, 112, 107, 124, 107, 127, 133, 117, 158, 121, 123, 117, 126, 125, 122, 126, 128, 138, 120, 122, 120, 89, 124, 120, 122, 120, 121, 118, 119, 123, 124, 116, 133, 120, 122, 125, 123, 121, 125, 125, 124, 119, 115, 126, 124, 121, 123, 125, 86, 119, 106, 117, 124, 124, 120, 123, 121, 149, 120, 154, 124, 99, 125, 122, 123, 121, 122, 120, 125, 120, 123, 121, 121, 121, 123, 126, 126, 125, 122, 121, 119, 118, 126, 122, 125, 123, 92, 120, 123, 120, 148, 124, 119, 121, 121, 121, 119, 126, 128, 126, 215, 127, 124, 121, 128, 122, 125, 128, 126, 123, 125, 124, 123, 122, 123, 126, 124, 120, 117, 125, 117, 120, 115, 123, 119, 123, 124, 118, 128, 115, 120, 122, 125, 124, 116, 121, 122, 124, 118, 126, 124, 136, 111, 132, 116, 116, 125, 124, 119, 118, 130, 121, 130, 103, 95, 121, 127, 121, 125, 122, 121, 120, 129, 111, 128, 126, 150, 122, 122, 131, 132, 123, 155, 172, 123, 121, 124, 125, 124, 121, 116, 120, 120, 121, 123, 117, 128, 123, 138, 115, 147, 136, 119, 119, 121, 121, 119, 138, 125, 132, 123, 106, 140, 120, 127, 123, 129, 124, 116, 106, 124, 122, 127, 123, 123, 111, 116, 122, 123, 118, 126, 132, 112, 113, 122, 115, 123, 131, 122, 119, 147, 110, 123, 111, 130, 118, 119, 108, 122, 122, 124, 102, 110, 131, 117, 131, 120, 107, 124, 113, 121, 107, 125, 122, 126, 114, 117, 117, 113, 120, 112, 117, 108, 133, 110, 124, 122, 123, 119, 119, 128, 123, 117, 120, 114, 123, 122, 125, 124, 120, 126, 123, 123, 107, 116, 142, 110, 89, 119, 76, 119, 101, 127, 117, 118, 129, 120, 126, 133, 118, 121, 120, 123, 132, 108, 142, 122, 150, 126, 123, 125, 119, 119, 131, 111, 105, 124, 123, 122, 115, 109, 114, 123, 129, 120, 126, 116, 115, 127, 123, 120, 91, 126, 121, 115, 122, 118, 124, 124, 123, 118, 128, 119, 126, 118, 117, 122, 126, 118, 120, 122, 125, 54, 120, 113, 127, 133, 114, 126, 118, 121, 125, 120, 121, 120, 128, 120, 127, 118, 120, 127, 123, 118, 121, 122, 122, 115, 120, 171, 126, 124, 124, 117, 129, 109, 128, 116, 114, 127, 120, 122, 132, 112, 110, 123, 110, 110, 123, 131, 124, 120, 120, 255, 113, 117, 130, 117, 105, 104, 129, 115, 120, 123, 126, 226, 97, 117, 93, 110, 104, 129, 132, 128, 121, 132, 126, 121, 133, 111, 127, 114, 113, 116, 103, 116, 108, 123, 111, 127, 108, 121, 111, 123, 120, 105, 122, 119, 125, 125, 253, 134, 118, 114, 124, 127, 139, 110, 119, 106, 121, 117, 134, 122, 117, 122, 117, 119, 119, 108, 130, 125, 108, 124, 115, 128, 129, 120, 123, 109, 120, 108, 113, 121, 110, 119, 127, 109, 126, 125, 124, 146, 118, 123, 118, 144, 121, 123, 113, 116, 114, 107, 135, 113, 102, 113, 121, 114, 130, 127, 112, 123, 109, 110, 122, 127, 115, 114, 107, 109, 123, 125, 111, 112, 122, 97, 118, 112, 134, 90, 126, 123, 126, 130, 123, 111, 116, 124, 112, 123, 121, 137, 127, 125, 116, 136, 116, 130, 127, 100, 127, 129, 104, 116, 117, 114, 121, 119, 115, 145, 126, 127, 130, 134, 114, 98, 123, 116, 121, 69, 118, 114, 126, 126, 116, 124, 117, 138, 126, 127, 80, 119, 127, 120, 113, 120, 126, 125, 121, 122, 122, 124, 115, 129, 119, 118, 121, 133, 124, 129, 123, 103, 123, 126, 137, 125, 128, 123, 121, 121, 126, 142, 111, 118, 122, 130, 122, 125, 132, 121, 123, 111, 117, 129, 126, 120, 124, 130, 123, 118, 127, 130, 129, 115, 126, 116, 133, 116, 113, 120, 118, 120, 117, 118, 121, 142, 129, 122, 118, 118, 113, 122, 114, 120, 126, 133, 127, 117, 119, 119, 145, 130, 117, 118, 114, 123, 113, 143, 122, 160, 121, 120, 122, 132, 119, 138, 124, 134, 124, 125, 111, 123, 115, 123, 156, 117, 105, 124, 123, 116, 115, 143, 126, 104, 125, 122, 119, 115, 111, 121, 116, 120, 116, 122, 117, 107, 122, 123, 126, 115, 132, 123, 124, 125, 127, 112, 118, 165, 117, 115, 114, 128, 118, 115, 131, 125, 107, 122, 111, 128, 127, 123, 190, 147, 112, 111, 120, 125, 139, 110, 112, 111, 104, 119, 136, 118, 107, 122, 127, 126, 109, 128, 121, 122, 133, 116, 153, 110, 124, 119, 123, 127, 117, 134, 119, 150, 126, 123, 109, 116, 120, 119, 125, 127, 126, 123, 89, 122, 110, 122, 121, 119, 123, 120, 125, 125, 140, 117, 120, 114, 127, 121, 125, 123, 123, 119, 124, 127, 121, 120, 122, 122, 135, 122, 120, 122, 121, 122, 121, 120, 118, 113, 122, 126, 125, 118, 109, 128, 136, 124, 116, 121, 125, 126, 123, 121, 108, 119, 102, 120, 121, 122, 125, 127, 112, 122, 118, 126, 121, 120, 119, 104, 122, 122, 88, 123, 121, 121, 123, 121, 122, 122, 116, 122, 123, 124, 123, 123, 116, 121, 119, 120, 124, 122, 119, 134, 120, 122, 120, 107, 126, 122, 126, 135, 123, 123, 132, 123, 120, 120, 119, 121, 120, 121, 121, 130, 118, 121, 122, 120, 124, 123, 127, 129, 124, 125, 115, 127, 118, 120, 123, 123, 121, 99, 123, 121, 125, 95, 123, 121, 119, 119, 127, 109, 123, 117, 114, 123, 126, 122, 126, 112, 117, 128, 124, 122, 123, 122, 115, 123, 120, 122, 123, 114, 123, 116, 122, 102, 127, 116, 111, 120, 115, 124, 126, 121, 119, 122, 119, 117, 121, 121, 120, 113, 123, 122, 126, 120, 134, 114, 123, 121, 118, 121, 121, 123, 136, 113, 123, 122, 108, 118, 123, 118, 131, 129, 110, 124, 126, 122, 118, 125, 121, 127, 119, 124, 121, 130, 122, 121, 122, 121, 116, 120, 122, 128, 128, 128, 120, 121, 116, 125, 129, 123, 122, 125, 119, 126, 112, 125, 121, 117, 110, 128, 115, 124, 120, 122, 124, 112, 119, 120, 116, 118, 122, 122, 121, 122, 119, 122, 123, 124, 97, 127, 118, 120, 119, 125, 127, 124, 123, 125, 110, 121, 120, 118, 126, 120, 121, 122, 126, 122, 127, 128, 118, 128, 119, 126, 126, 124, 124, 125, 123, 129, 120, 124, 123, 126, 122, 119, 120, 131, 124, 114, 158, 125, 115, 122, 122, 124, 120, 129, 126, 118, 119, 124, 123, 115, 118, 121, 126, 121, 124, 119, 124, 126, 126, 126, 125, 119, 87, 121, 122, 124, 118, 116, 123, 127, 112, 120, 122, 122, 121, 123, 124, 133, 122, 122, 114, 120, 123, 97, 121, 123, 117, 112, 127, 124, 117, 120, 118, 122, 128, 130, 123, 122, 120, 121, 120, 118, 121, 135, 126, 121, 121, 124, 123, 125, 123, 116, 113, 120, 120, 137, 128, 122, 121, 123, 120, 131, 125, 123, 120, 113, 121, 114, 114, 121, 93, 127, 117, 130, 137, 119, 120, 122, 131, 126, 117, 131, 126, 134, 124, 132, 125, 131, 131, 116, 133, 119, 103, 121, 118, 117, 125, 118, 134, 110, 122, 125, 118, 121, 123, 124, 123, 143, 132, 119, 114, 125, 122, 114, 121, 124, 128, 109, 126, 139, 119, 126, 123, 121, 134, 127, 123, 122, 119, 120, 121, 125, 111, 110, 146, 117, 122, 122, 121, 127, 129, 121, 121, 124, 128, 122, 126, 126, 123, 121, 120, 121, 128, 124, 128, 124, 127, 116, 135, 126, 119, 117, 136, 128, 119, 135, 129, 106, 133, 118, 117, 118, 116, 121, 131, 125, 127, 125, 120, 126, 115, 124, 115, 128, 117, 105, 123, 116, 133, 120, 124, 119, 122, 121, 123, 122, 125, 125, 120, 120, 123, 124, 120, 114, 124, 123, 121, 122, 123, 122, 124, 121, 93, 115, 101, 122, 134, 124, 123, 122, 121, 126, 121, 122, 123, 117, 126, 123, 122, 118, 119, 132, 111, 121, 131, 121, 124, 121, 123, 129, 123, 119, 119, 126, 122, 120, 123, 125, 126, 124, 126, 119, 123, 121, 124, 120, 121, 122, 138, 128, 124, 123, 121, 121, 121, 121, 121, 120, 126, 122, 121, 120, 121, 122, 121, 120, 115, 120, 125, 112, 122, 129, 117, 125, 122, 122, 121, 123, 123, 125, 124, 123, 118, 121, 124, 123, 122, 126, 119, 125, 126, 120, 122, 118, 120, 136, 123, 126, 115, 117, 118, 116, 120, 120, 131, 123, 125, 137, 125, 123, 117, 128, 113, 111, 122, 111, 126, 124, 117, 123, 122, 126, 124, 112, 121, 117, 131, 112, 118, 108, 123, 122, 119, 106, 120, 133, 107, 106, 124, 142, 124, 118, 114, 118, 102, 116, 122, 115, 119, 125, 122, 123, 124, 123, 119, 154, 116, 108, 122, 129, 121, 115, 116, 112, 103, 122, 120, 126, 135, 122, 139, 120, 144, 124, 128, 124, 124, 114, 121, 126, 118, 119, 100, 127, 123, 120, 118, 113, 122, 125, 120, 114, 127, 119, 112, 123, 145, 121, 120, 127, 132, 116, 123, 129, 126, 122, 111, 131, 125, 120, 102, 126, 125, 120, 113, 151, 142, 118, 103, 124, 115, 120, 111, 122, 116, 123, 120, 118, 104, 126, 118, 106, 114, 115, 120, 118, 117, 174, 117, 120, 124, 121, 119, 130, 125, 116, 127, 128, 119, 125, 135, 119, 122, 113, 126, 122, 133, 124, 120, 133, 125, 114, 126, 120, 125, 121, 122, 121, 121, 118, 122, 128, 117, 120, 121, 120, 134, 98, 126, 119, 126, 118, 121, 122, 120, 122, 126, 121, 119, 122, 135, 123, 122, 117, 126, 120, 120, 115, 123, 124, 123, 125, 121, 118, 119, 120, 123, 123, 119, 110, 125, 110, 127, 121, 119, 97, 122, 122, 123, 137, 124, 119, 119, 122, 122, 126, 122, 118, 121, 107, 124, 121, 117, 114, 123, 120, 114, 117, 121, 119, 116, 121, 121, 119, 120, 133, 121, 104, 120, 110, 122, 127, 118, 118, 122, 117, 120, 116, 124, 124, 122, 118, 108, 117, 122, 123, 124, 128, 104, 96, 111, 134, 130, 117, 124, 120, 120, 106, 122, 130, 117, 120, 113, 125, 128, 105, 119, 117, 124, 115, 120, 117, 111, 121, 123, 154, 132, 132, 110, 116, 123, 113, 127, 126, 120, 124, 127, 127, 126, 113, 124, 140, 136, 121, 120, 133, 123, 115, 116, 117, 93, 111, 122, 122, 124, 114, 116, 109, 133, 118, 126, 117, 123, 127, 111, 110, 121, 132, 109, 114, 127, 127, 153, 119, 121, 132, 122, 126, 133, 139, 131, 137, 128, 121, 134, 120, 124, 119, 112, 125, 112, 125, 111, 125, 116, 125, 127, 126, 118, 122, 120, 132, 111, 119, 115, 116, 117, 130, 111, 123, 98, 119, 120, 125, 113, 121, 124, 122, 122, 137, 121, 117, 119, 122, 121, 104, 119, 113, 109, 134, 121, 126, 114, 125, 120, 122, 117, 113, 123, 119, 117, 130, 120, 123, 122, 124, 121, 127, 117, 110, 120, 117, 120, 122, 117, 107, 123, 113, 122, 115, 121, 118, 121, 118, 119, 119, 118, 122, 121, 125, 127, 129, 128, 120, 124, 110, 122, 118, 124, 116, 124, 120, 121, 126, 146, 101, 121, 123, 107, 121, 120, 122, 125, 126, 120, 120, 116, 122, 122, 118, 123, 122, 133, 114, 120, 119, 125, 121, 120, 128, 125, 115, 122, 116, 121, 125, 129, 120, 123, 120, 117, 128, 122, 116, 114, 121, 115, 121, 116, 120, 114, 120, 123, 123, 119, 119, 119, 120, 120, 119, 114, 123, 126, 113, 116, 112, 124, 114, 140, 126, 117, 121, 119, 128, 127, 117, 111, 122, 122, 129, 123, 123, 123, 116, 123, 120, 118, 110, 127, 132, 122, 124, 119, 121, 120, 128, 123, 124, 118, 115, 128, 126, 103, 123, 138, 118, 114, 105, 113, 117, 125, 121, 123, 120, 122, 121, 123, 115, 94, 121, 122, 129, 116, 123, 122, 106, 133, 124, 120, 121, 117, 126, 120, 102, 105, 125, 128, 120, 121, 116, 109, 99, 116, 120, 127, 119, 120, 127, 133, 123, 114, 125, 122, 124, 122, 97, 133, 179, 133, 120, 131, 118, 127, 126, 123, 114, 120, 124, 120, 116, 127, 126, 128, 125, 116, 158, 129, 96, 126, 120, 128, 123, 129, 125, 105, 123, 133, 119, 118, 124, 123, 116, 121, 135, 121, 117, 125, 119, 126, 121, 125, 123, 149, 95, 123, 128, 131, 115, 131, 126, 88, 100, 126, 109, 188, 122, 122, 126, 116, 121, 127, 120, 122, 114, 116, 127, 119, 120, 137, 127, 113, 124, 112, 121, 127, 121, 123, 128, 128, 118, 118, 124, 123, 114, 113, 114, 125, 121, 118, 128, 116, 125, 124, 124, 122, 113, 121, 119, 125, 130, 124, 126, 122, 122, 120, 117, 120, 129, 83, 114, 114, 114, 112, 122, 120, 115, 122, 120, 122, 132, 122, 127, 100, 184, 121, 105, 124, 120, 129, 120, 125, 122, 126, 123, 139, 118, 128, 113, 131, 130, 118, 117, 127, 136, 112, 116, 130, 116, 127, 125, 119, 122, 117, 117, 143, 117, 127, 128, 121, 115, 135, 107, 117, 98, 126, 105, 118, 117, 122, 128, 128, 111, 118, 127, 132, 141, 126, 116, 113, 143, 116, 109, 117, 120, 98, 129, 120, 129, 117, 122, 122, 113, 124, 115, 106, 115, 129, 134, 106, 134, 109, 114, 120, 112, 126, 118, 124, 126, 123, 131, 122, 117, 117, 113, 118, 105, 117, 138, 129, 123, 115, 137, 150, 115, 123, 121, 139, 118, 117, 112, 133, 122, 120, 117, 119, 118, 117, 113, 123, 130, 116, 112, 127, 117, 110, 123, 122, 101, 123, 126, 113, 118, 123, 121, 149, 121, 123, 135, 138, 125, 144, 114, 123, 121, 114, 113, 115, 106, 117, 123, 125, 113, 117, 128, 120, 117, 150, 123, 121, 120, 123, 122, 124, 105, 121, 120, 138, 123, 116, 108, 111, 124, 123};
@@ -676,6 +675,7 @@
model->setOperandValue(op84, op84_init, sizeof(uint8_t) * 1025024);
static int32_t op87_init[] = {1, 1001};
model->setOperandValue(op87, op87_init, sizeof(int32_t) * 2);
+ model->addOperation(ANEURALNETWORKS_CONV_2D, {op88, op2, op1, b104, b105, b106, b107}, {op0});
model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op0, op29, op28, b108, b109, b110, b111, b112}, {op27});
model->addOperation(ANEURALNETWORKS_CONV_2D, {op27, op32, op31, b113, b114, b115, b116}, {op30});
model->addOperation(ANEURALNETWORKS_DEPTHWISE_CONV_2D, {op30, op35, op34, b117, b118, b119, b120, b121}, {op33});
diff --git a/nn/runtime/test/generated/vts_models/batch_to_space.model.cpp b/nn/runtime/test/generated/vts_models/batch_to_space.model.cpp
index fbcb2fd..a6a6a68 100644
--- a/nn/runtime/test/generated/vts_models/batch_to_space.model.cpp
+++ b/nn/runtime/test/generated/vts_models/batch_to_space.model.cpp
@@ -21,15 +21,6 @@
.location = {.poolIndex = 0, .offset = 0, .length = 8},
},
{
- .type = OperandType::TENSOR_INT32,
- .dimensions = {2, 2},
- .numberOfConsumers = 1,
- .scale = 0.0f,
- .zeroPoint = 0,
- .lifetime = OperandLifeTime::CONSTANT_COPY,
- .location = {.poolIndex = 0, .offset = 8, .length = 16},
- },
- {
.type = OperandType::TENSOR_FLOAT32,
.dimensions = {1, 2, 2, 2},
.numberOfConsumers = 0,
@@ -43,15 +34,15 @@
const std::vector<Operation> operations = {
{
.type = OperationType::BATCH_TO_SPACE_ND,
- .inputs = {0, 1, 2},
- .outputs = {3},
+ .inputs = {0, 1},
+ .outputs = {2},
}
};
const std::vector<uint32_t> inputIndexes = {0};
- const std::vector<uint32_t> outputIndexes = {3};
+ const std::vector<uint32_t> outputIndexes = {2};
std::vector<uint8_t> operandValues = {
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 2, 0, 0, 0, 2, 0, 0, 0
};
const std::vector<hidl_memory> pools = {};
diff --git a/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp b/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp
index aa30f68..0871c75 100644
--- a/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp
+++ b/nn/runtime/test/generated/vts_models/batch_to_space_float_1.model.cpp
@@ -21,15 +21,6 @@
.location = {.poolIndex = 0, .offset = 0, .length = 8},
},
{
- .type = OperandType::TENSOR_INT32,
- .dimensions = {2, 2},
- .numberOfConsumers = 1,
- .scale = 0.0f,
- .zeroPoint = 0,
- .lifetime = OperandLifeTime::CONSTANT_COPY,
- .location = {.poolIndex = 0, .offset = 8, .length = 16},
- },
- {
.type = OperandType::TENSOR_FLOAT32,
.dimensions = {1, 4, 4, 1},
.numberOfConsumers = 0,
@@ -43,15 +34,15 @@
const std::vector<Operation> operations = {
{
.type = OperationType::BATCH_TO_SPACE_ND,
- .inputs = {0, 1, 2},
- .outputs = {3},
+ .inputs = {0, 1},
+ .outputs = {2},
}
};
const std::vector<uint32_t> inputIndexes = {0};
- const std::vector<uint32_t> outputIndexes = {3};
+ const std::vector<uint32_t> outputIndexes = {2};
std::vector<uint8_t> operandValues = {
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 2, 0, 0, 0, 2, 0, 0, 0
};
const std::vector<hidl_memory> pools = {};
diff --git a/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp b/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp
index 1655ce7..39034c8 100644
--- a/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp
+++ b/nn/runtime/test/generated/vts_models/batch_to_space_quant8_1.model.cpp
@@ -21,15 +21,6 @@
.location = {.poolIndex = 0, .offset = 0, .length = 8},
},
{
- .type = OperandType::TENSOR_INT32,
- .dimensions = {2, 2},
- .numberOfConsumers = 1,
- .scale = 0.0f,
- .zeroPoint = 0,
- .lifetime = OperandLifeTime::CONSTANT_COPY,
- .location = {.poolIndex = 0, .offset = 8, .length = 16},
- },
- {
.type = OperandType::TENSOR_QUANT8_ASYMM,
.dimensions = {1, 4, 4, 1},
.numberOfConsumers = 0,
@@ -43,15 +34,15 @@
const std::vector<Operation> operations = {
{
.type = OperationType::BATCH_TO_SPACE_ND,
- .inputs = {0, 1, 2},
- .outputs = {3},
+ .inputs = {0, 1},
+ .outputs = {2},
}
};
const std::vector<uint32_t> inputIndexes = {0};
- const std::vector<uint32_t> outputIndexes = {3};
+ const std::vector<uint32_t> outputIndexes = {2};
std::vector<uint8_t> operandValues = {
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 2, 0, 0, 0, 2, 0, 0, 0
};
const std::vector<hidl_memory> pools = {};
diff --git a/nn/runtime/test/specs/V1_1/batch_to_space.mod.py b/nn/runtime/test/specs/V1_1/batch_to_space.mod.py
index 0beb74c..bf8f56a 100644
--- a/nn/runtime/test/specs/V1_1/batch_to_space.mod.py
+++ b/nn/runtime/test/specs/V1_1/batch_to_space.mod.py
@@ -1,10 +1,9 @@
model = Model()
i1 = Input("input", "TENSOR_FLOAT32", "{4, 1, 1, 2}")
block = Parameter("block_size", "TENSOR_INT32", "{2}", [2, 2])
-crops = Parameter("crops", "TENSOR_INT32", "{2, 2}", [0, 0, 0, 0])
output = Output("output", "TENSOR_FLOAT32", "{1, 2, 2, 2}")
-model = model.Operation("BATCH_TO_SPACE_ND", i1, block, crops).To(output)
+model = model.Operation("BATCH_TO_SPACE_ND", i1, block).To(output)
# Example 1. Input in operand 0,
input0 = {i1: # input 0
diff --git a/nn/runtime/test/specs/V1_1/batch_to_space_float_1.mod.py b/nn/runtime/test/specs/V1_1/batch_to_space_float_1.mod.py
index 935a62a..019242a 100644
--- a/nn/runtime/test/specs/V1_1/batch_to_space_float_1.mod.py
+++ b/nn/runtime/test/specs/V1_1/batch_to_space_float_1.mod.py
@@ -1,10 +1,9 @@
model = Model()
i1 = Input("input", "TENSOR_FLOAT32", "{4, 2, 2, 1}")
block = Parameter("block_size", "TENSOR_INT32", "{2}", [2, 2])
-crops = Parameter("crops", "TENSOR_INT32", "{2, 2}", [0, 0, 0, 0])
output = Output("output", "TENSOR_FLOAT32", "{1, 4, 4, 1}")
-model = model.Operation("BATCH_TO_SPACE_ND", i1, block, crops).To(output)
+model = model.Operation("BATCH_TO_SPACE_ND", i1, block).To(output)
# Example 1. Input in operand 0,
input0 = {i1: # input 0
diff --git a/nn/runtime/test/specs/V1_1/batch_to_space_quant8_1.mod.py b/nn/runtime/test/specs/V1_1/batch_to_space_quant8_1.mod.py
index 9d7b5c4..8c6a727 100644
--- a/nn/runtime/test/specs/V1_1/batch_to_space_quant8_1.mod.py
+++ b/nn/runtime/test/specs/V1_1/batch_to_space_quant8_1.mod.py
@@ -1,10 +1,9 @@
model = Model()
i1 = Input("input", "TENSOR_QUANT8_ASYMM", "{4, 2, 2, 1}, 1.0, 0")
block = Parameter("block_size", "TENSOR_INT32", "{2}", [2, 2])
-crops = Parameter("crops", "TENSOR_INT32", "{2, 2}", [0, 0, 0, 0])
output = Output("output", "TENSOR_QUANT8_ASYMM", "{1, 4, 4, 1}, 1.0, 0")
-model = model.Operation("BATCH_TO_SPACE_ND", i1, block, crops).To(output)
+model = model.Operation("BATCH_TO_SPACE_ND", i1, block).To(output)
# Example 1. Input in operand 0,
input0 = {i1: # input 0