From 16fa8d7cc8c92f5ab879e4cf9c6c0bbb3567860f Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 24 May 2018 01:37:55 -0700 Subject: systemc: Import tests from the Accellera systemc distribution. Change-Id: Iad76b398949a55d768a34d027a2d8e3739953da6 Reviewed-on: https://gem5-review.googlesource.com/10845 Reviewed-by: Giacomo Travaglini Maintainer: Gabe Black --- .../unit/data/general/add_promote/add_promote.f | 3 + .../misc/unit/data/general/add_promote/common.h | 48 + .../unit/data/general/add_promote/datawidth.cpp | 67 + .../misc/unit/data/general/add_promote/datawidth.h | 77 + .../general/add_promote/golden/add_promote.log | 4099 ++++++++++++++++++++ .../misc/unit/data/general/add_promote/main.cpp | 79 + .../misc/unit/data/general/add_promote/stimgen.cpp | 68 + .../misc/unit/data/general/add_promote/stimgen.h | 77 + .../unit/data/general/array_range/array_range.cpp | 77 + .../unit/data/general/array_range/array_range.f | 3 + .../unit/data/general/array_range/array_range.h | 83 + .../misc/unit/data/general/array_range/common.h | 49 + .../general/array_range/golden/array_range.log | 8 + .../misc/unit/data/general/array_range/main.cpp | 67 + .../misc/unit/data/general/array_range/stimgen.cpp | 61 + .../misc/unit/data/general/array_range/stimgen.h | 83 + .../unit/data/general/bool_tilda/bool_tilda.cpp | 63 + .../data/general/bool_tilda/golden/bool_tilda.log | 6 + .../misc/unit/data/general/concat_port/common.h | 48 + .../unit/data/general/concat_port/concat_port.cpp | 85 + .../unit/data/general/concat_port/concat_port.f | 3 + .../unit/data/general/concat_port/concat_port.h | 86 + .../general/concat_port/golden/concat_port.log | 11 + .../misc/unit/data/general/concat_port/main.cpp | 68 + .../misc/unit/data/general/concat_port/stimgen.cpp | 66 + .../misc/unit/data/general/concat_port/stimgen.h | 86 + .../unit/data/general/datawidth_int/datawidth.cpp | 65 + .../unit/data/general/datawidth_int/datawidth.h | 77 + .../data/general/datawidth_int/datawidth_int.f | 3 + .../general/datawidth_int/golden/datawidth_int.log | 4099 ++++++++++++++++++++ .../misc/unit/data/general/datawidth_int/main.cpp | 71 + .../unit/data/general/datawidth_int/stimgen.cpp | 68 + .../misc/unit/data/general/datawidth_int/stimgen.h | 77 + .../misc/unit/data/general/int_to_bits/common.h | 46 + .../unit/data/general/int_to_bits/datawidth.cpp | 65 + .../misc/unit/data/general/int_to_bits/datawidth.h | 77 + .../general/int_to_bits/golden/int_to_bits.log | 4099 ++++++++++++++++++++ .../unit/data/general/int_to_bits/int_to_bits.f | 3 + .../misc/unit/data/general/int_to_bits/main.cpp | 72 + .../misc/unit/data/general/int_to_bits/stimgen.cpp | 68 + .../misc/unit/data/general/int_to_bits/stimgen.h | 77 + .../misc/unit/data/general/promote_add/common.h | 48 + .../unit/data/general/promote_add/datawidth.cpp | 67 + .../misc/unit/data/general/promote_add/datawidth.h | 77 + .../general/promote_add/golden/promote_add.log | 4099 ++++++++++++++++++++ .../misc/unit/data/general/promote_add/main.cpp | 78 + .../unit/data/general/promote_add/promote_add.f | 3 + .../misc/unit/data/general/promote_add/stimgen.cpp | 68 + .../misc/unit/data/general/promote_add/stimgen.h | 77 + .../unit/data/general/shift/test1/golden/test1.log | 45 + .../misc/unit/data/general/shift/test1/test1.cpp | 61 + .../general/std_to_bool/golden/std_to_bool.log | 5 + .../unit/data/general/std_to_bool/std_to_bool.cpp | 57 + .../std_ulogic_tilda/golden/std_ulogic_tilda.log | 7 + .../general/std_ulogic_tilda/std_ulogic_tilda.cpp | 65 + .../data/general/subvector/stab1/golden/stab1.log | 1407 +++++++ .../unit/data/general/subvector/stab1/stab1.cpp | 148 + .../data/general/subvector/stab2/golden/stab2.log | 1317 +++++++ .../unit/data/general/subvector/stab2/stab2.cpp | 172 + .../data/general/subvector/stab3/golden/stab3.log | 1717 ++++++++ .../unit/data/general/subvector/stab3/stab3.cpp | 223 ++ .../data/general/subvector/test1/golden/test1.log | 63 + .../unit/data/general/subvector/test1/test1.cpp | 147 + 63 files changed, 24389 insertions(+) create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/add_promote.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/golden/add_promote.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/golden/array_range.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/bool_tilda.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/golden/bool_tilda.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/golden/concat_port.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth_int.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/golden/datawidth_int.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/golden/int_to_bits.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/int_to_bits.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/common.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/golden/promote_add.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/main.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/promote_add.f create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.h create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/shift/test1/golden/test1.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/shift/test1/test1.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/golden/std_to_bool.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/std_to_bool.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/golden/std_ulogic_tilda.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/std_ulogic_tilda.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/golden/stab1.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/stab1.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/golden/stab2.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/stab2.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/golden/stab3.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/stab3.cpp create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/golden/test1.log create mode 100644 src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/test1.cpp (limited to 'src/systemc/tests/systemc/misc/unit/data/general') diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/add_promote.f b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/add_promote.f new file mode 100644 index 000000000..889c75e0f --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/add_promote.f @@ -0,0 +1,3 @@ +add_promote/datawidth.cpp +add_promote/stimgen.cpp +add_promote/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/common.h b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/common.h new file mode 100644 index 000000000..004591939 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/common.h @@ -0,0 +1,48 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<6> bool_vector6; +typedef sc_bv<7> bool_vector7; +typedef sc_signal sc_signal_bool_vector6; +typedef sc_signal sc_signal_bool_vector7; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.cpp new file mode 100644 index 000000000..c2a747ae0 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.cpp @@ -0,0 +1,67 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + bool_vector6 tmp_a; + bool_vector6 tmp_b; + bool_vector7 tmp_result; + bool_vector6 tmp_add; + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + tmp_a = in1.read(); + tmp_b = in2.read(); + tmp_add = tmp_a.to_uint() + tmp_b.to_uint(); + tmp_result = ("0", tmp_add); + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.h new file mode 100644 index 000000000..fd6be47a7 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/datawidth.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const sc_signal_bool_vector6& in1 ; + const sc_signal_bool_vector6& in2 ; + const sc_signal& ready; + // Outputs + sc_signal_bool_vector7& result; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const sc_signal_bool_vector6& IN1, + const sc_signal_bool_vector6& IN2, + const sc_signal& READY, + sc_signal_bool_vector7& RESULT ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/golden/add_promote.log b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/golden/add_promote.log new file mode 100644 index 000000000..f215d98f2 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/golden/add_promote.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 +0 + 1 = 1 +0 + 2 = 2 +0 + 3 = 3 +0 + 4 = 4 +0 + 5 = 5 +0 + 6 = 6 +0 + 7 = 7 +0 + 8 = 8 +0 + 9 = 9 +0 + 10 = 10 +0 + 11 = 11 +0 + 12 = 12 +0 + 13 = 13 +0 + 14 = 14 +0 + 15 = 15 +0 + 16 = 16 +0 + 17 = 17 +0 + 18 = 18 +0 + 19 = 19 +0 + 20 = 20 +0 + 21 = 21 +0 + 22 = 22 +0 + 23 = 23 +0 + 24 = 24 +0 + 25 = 25 +0 + 26 = 26 +0 + 27 = 27 +0 + 28 = 28 +0 + 29 = 29 +0 + 30 = 30 +0 + 31 = 31 +0 + 32 = 32 +0 + 33 = 33 +0 + 34 = 34 +0 + 35 = 35 +0 + 36 = 36 +0 + 37 = 37 +0 + 38 = 38 +0 + 39 = 39 +0 + 40 = 40 +0 + 41 = 41 +0 + 42 = 42 +0 + 43 = 43 +0 + 44 = 44 +0 + 45 = 45 +0 + 46 = 46 +0 + 47 = 47 +0 + 48 = 48 +0 + 49 = 49 +0 + 50 = 50 +0 + 51 = 51 +0 + 52 = 52 +0 + 53 = 53 +0 + 54 = 54 +0 + 55 = 55 +0 + 56 = 56 +0 + 57 = 57 +0 + 58 = 58 +0 + 59 = 59 +0 + 60 = 60 +0 + 61 = 61 +0 + 62 = 62 +0 + 63 = 63 +1 + 0 = 1 +1 + 1 = 2 +1 + 2 = 3 +1 + 3 = 4 +1 + 4 = 5 +1 + 5 = 6 +1 + 6 = 7 +1 + 7 = 8 +1 + 8 = 9 +1 + 9 = 10 +1 + 10 = 11 +1 + 11 = 12 +1 + 12 = 13 +1 + 13 = 14 +1 + 14 = 15 +1 + 15 = 16 +1 + 16 = 17 +1 + 17 = 18 +1 + 18 = 19 +1 + 19 = 20 +1 + 20 = 21 +1 + 21 = 22 +1 + 22 = 23 +1 + 23 = 24 +1 + 24 = 25 +1 + 25 = 26 +1 + 26 = 27 +1 + 27 = 28 +1 + 28 = 29 +1 + 29 = 30 +1 + 30 = 31 +1 + 31 = 32 +1 + 32 = 33 +1 + 33 = 34 +1 + 34 = 35 +1 + 35 = 36 +1 + 36 = 37 +1 + 37 = 38 +1 + 38 = 39 +1 + 39 = 40 +1 + 40 = 41 +1 + 41 = 42 +1 + 42 = 43 +1 + 43 = 44 +1 + 44 = 45 +1 + 45 = 46 +1 + 46 = 47 +1 + 47 = 48 +1 + 48 = 49 +1 + 49 = 50 +1 + 50 = 51 +1 + 51 = 52 +1 + 52 = 53 +1 + 53 = 54 +1 + 54 = 55 +1 + 55 = 56 +1 + 56 = 57 +1 + 57 = 58 +1 + 58 = 59 +1 + 59 = 60 +1 + 60 = 61 +1 + 61 = 62 +1 + 62 = 63 +1 + 63 = 0 +2 + 0 = 2 +2 + 1 = 3 +2 + 2 = 4 +2 + 3 = 5 +2 + 4 = 6 +2 + 5 = 7 +2 + 6 = 8 +2 + 7 = 9 +2 + 8 = 10 +2 + 9 = 11 +2 + 10 = 12 +2 + 11 = 13 +2 + 12 = 14 +2 + 13 = 15 +2 + 14 = 16 +2 + 15 = 17 +2 + 16 = 18 +2 + 17 = 19 +2 + 18 = 20 +2 + 19 = 21 +2 + 20 = 22 +2 + 21 = 23 +2 + 22 = 24 +2 + 23 = 25 +2 + 24 = 26 +2 + 25 = 27 +2 + 26 = 28 +2 + 27 = 29 +2 + 28 = 30 +2 + 29 = 31 +2 + 30 = 32 +2 + 31 = 33 +2 + 32 = 34 +2 + 33 = 35 +2 + 34 = 36 +2 + 35 = 37 +2 + 36 = 38 +2 + 37 = 39 +2 + 38 = 40 +2 + 39 = 41 +2 + 40 = 42 +2 + 41 = 43 +2 + 42 = 44 +2 + 43 = 45 +2 + 44 = 46 +2 + 45 = 47 +2 + 46 = 48 +2 + 47 = 49 +2 + 48 = 50 +2 + 49 = 51 +2 + 50 = 52 +2 + 51 = 53 +2 + 52 = 54 +2 + 53 = 55 +2 + 54 = 56 +2 + 55 = 57 +2 + 56 = 58 +2 + 57 = 59 +2 + 58 = 60 +2 + 59 = 61 +2 + 60 = 62 +2 + 61 = 63 +2 + 62 = 0 +2 + 63 = 1 +3 + 0 = 3 +3 + 1 = 4 +3 + 2 = 5 +3 + 3 = 6 +3 + 4 = 7 +3 + 5 = 8 +3 + 6 = 9 +3 + 7 = 10 +3 + 8 = 11 +3 + 9 = 12 +3 + 10 = 13 +3 + 11 = 14 +3 + 12 = 15 +3 + 13 = 16 +3 + 14 = 17 +3 + 15 = 18 +3 + 16 = 19 +3 + 17 = 20 +3 + 18 = 21 +3 + 19 = 22 +3 + 20 = 23 +3 + 21 = 24 +3 + 22 = 25 +3 + 23 = 26 +3 + 24 = 27 +3 + 25 = 28 +3 + 26 = 29 +3 + 27 = 30 +3 + 28 = 31 +3 + 29 = 32 +3 + 30 = 33 +3 + 31 = 34 +3 + 32 = 35 +3 + 33 = 36 +3 + 34 = 37 +3 + 35 = 38 +3 + 36 = 39 +3 + 37 = 40 +3 + 38 = 41 +3 + 39 = 42 +3 + 40 = 43 +3 + 41 = 44 +3 + 42 = 45 +3 + 43 = 46 +3 + 44 = 47 +3 + 45 = 48 +3 + 46 = 49 +3 + 47 = 50 +3 + 48 = 51 +3 + 49 = 52 +3 + 50 = 53 +3 + 51 = 54 +3 + 52 = 55 +3 + 53 = 56 +3 + 54 = 57 +3 + 55 = 58 +3 + 56 = 59 +3 + 57 = 60 +3 + 58 = 61 +3 + 59 = 62 +3 + 60 = 63 +3 + 61 = 0 +3 + 62 = 1 +3 + 63 = 2 +4 + 0 = 4 +4 + 1 = 5 +4 + 2 = 6 +4 + 3 = 7 +4 + 4 = 8 +4 + 5 = 9 +4 + 6 = 10 +4 + 7 = 11 +4 + 8 = 12 +4 + 9 = 13 +4 + 10 = 14 +4 + 11 = 15 +4 + 12 = 16 +4 + 13 = 17 +4 + 14 = 18 +4 + 15 = 19 +4 + 16 = 20 +4 + 17 = 21 +4 + 18 = 22 +4 + 19 = 23 +4 + 20 = 24 +4 + 21 = 25 +4 + 22 = 26 +4 + 23 = 27 +4 + 24 = 28 +4 + 25 = 29 +4 + 26 = 30 +4 + 27 = 31 +4 + 28 = 32 +4 + 29 = 33 +4 + 30 = 34 +4 + 31 = 35 +4 + 32 = 36 +4 + 33 = 37 +4 + 34 = 38 +4 + 35 = 39 +4 + 36 = 40 +4 + 37 = 41 +4 + 38 = 42 +4 + 39 = 43 +4 + 40 = 44 +4 + 41 = 45 +4 + 42 = 46 +4 + 43 = 47 +4 + 44 = 48 +4 + 45 = 49 +4 + 46 = 50 +4 + 47 = 51 +4 + 48 = 52 +4 + 49 = 53 +4 + 50 = 54 +4 + 51 = 55 +4 + 52 = 56 +4 + 53 = 57 +4 + 54 = 58 +4 + 55 = 59 +4 + 56 = 60 +4 + 57 = 61 +4 + 58 = 62 +4 + 59 = 63 +4 + 60 = 0 +4 + 61 = 1 +4 + 62 = 2 +4 + 63 = 3 +5 + 0 = 5 +5 + 1 = 6 +5 + 2 = 7 +5 + 3 = 8 +5 + 4 = 9 +5 + 5 = 10 +5 + 6 = 11 +5 + 7 = 12 +5 + 8 = 13 +5 + 9 = 14 +5 + 10 = 15 +5 + 11 = 16 +5 + 12 = 17 +5 + 13 = 18 +5 + 14 = 19 +5 + 15 = 20 +5 + 16 = 21 +5 + 17 = 22 +5 + 18 = 23 +5 + 19 = 24 +5 + 20 = 25 +5 + 21 = 26 +5 + 22 = 27 +5 + 23 = 28 +5 + 24 = 29 +5 + 25 = 30 +5 + 26 = 31 +5 + 27 = 32 +5 + 28 = 33 +5 + 29 = 34 +5 + 30 = 35 +5 + 31 = 36 +5 + 32 = 37 +5 + 33 = 38 +5 + 34 = 39 +5 + 35 = 40 +5 + 36 = 41 +5 + 37 = 42 +5 + 38 = 43 +5 + 39 = 44 +5 + 40 = 45 +5 + 41 = 46 +5 + 42 = 47 +5 + 43 = 48 +5 + 44 = 49 +5 + 45 = 50 +5 + 46 = 51 +5 + 47 = 52 +5 + 48 = 53 +5 + 49 = 54 +5 + 50 = 55 +5 + 51 = 56 +5 + 52 = 57 +5 + 53 = 58 +5 + 54 = 59 +5 + 55 = 60 +5 + 56 = 61 +5 + 57 = 62 +5 + 58 = 63 +5 + 59 = 0 +5 + 60 = 1 +5 + 61 = 2 +5 + 62 = 3 +5 + 63 = 4 +6 + 0 = 6 +6 + 1 = 7 +6 + 2 = 8 +6 + 3 = 9 +6 + 4 = 10 +6 + 5 = 11 +6 + 6 = 12 +6 + 7 = 13 +6 + 8 = 14 +6 + 9 = 15 +6 + 10 = 16 +6 + 11 = 17 +6 + 12 = 18 +6 + 13 = 19 +6 + 14 = 20 +6 + 15 = 21 +6 + 16 = 22 +6 + 17 = 23 +6 + 18 = 24 +6 + 19 = 25 +6 + 20 = 26 +6 + 21 = 27 +6 + 22 = 28 +6 + 23 = 29 +6 + 24 = 30 +6 + 25 = 31 +6 + 26 = 32 +6 + 27 = 33 +6 + 28 = 34 +6 + 29 = 35 +6 + 30 = 36 +6 + 31 = 37 +6 + 32 = 38 +6 + 33 = 39 +6 + 34 = 40 +6 + 35 = 41 +6 + 36 = 42 +6 + 37 = 43 +6 + 38 = 44 +6 + 39 = 45 +6 + 40 = 46 +6 + 41 = 47 +6 + 42 = 48 +6 + 43 = 49 +6 + 44 = 50 +6 + 45 = 51 +6 + 46 = 52 +6 + 47 = 53 +6 + 48 = 54 +6 + 49 = 55 +6 + 50 = 56 +6 + 51 = 57 +6 + 52 = 58 +6 + 53 = 59 +6 + 54 = 60 +6 + 55 = 61 +6 + 56 = 62 +6 + 57 = 63 +6 + 58 = 0 +6 + 59 = 1 +6 + 60 = 2 +6 + 61 = 3 +6 + 62 = 4 +6 + 63 = 5 +7 + 0 = 7 +7 + 1 = 8 +7 + 2 = 9 +7 + 3 = 10 +7 + 4 = 11 +7 + 5 = 12 +7 + 6 = 13 +7 + 7 = 14 +7 + 8 = 15 +7 + 9 = 16 +7 + 10 = 17 +7 + 11 = 18 +7 + 12 = 19 +7 + 13 = 20 +7 + 14 = 21 +7 + 15 = 22 +7 + 16 = 23 +7 + 17 = 24 +7 + 18 = 25 +7 + 19 = 26 +7 + 20 = 27 +7 + 21 = 28 +7 + 22 = 29 +7 + 23 = 30 +7 + 24 = 31 +7 + 25 = 32 +7 + 26 = 33 +7 + 27 = 34 +7 + 28 = 35 +7 + 29 = 36 +7 + 30 = 37 +7 + 31 = 38 +7 + 32 = 39 +7 + 33 = 40 +7 + 34 = 41 +7 + 35 = 42 +7 + 36 = 43 +7 + 37 = 44 +7 + 38 = 45 +7 + 39 = 46 +7 + 40 = 47 +7 + 41 = 48 +7 + 42 = 49 +7 + 43 = 50 +7 + 44 = 51 +7 + 45 = 52 +7 + 46 = 53 +7 + 47 = 54 +7 + 48 = 55 +7 + 49 = 56 +7 + 50 = 57 +7 + 51 = 58 +7 + 52 = 59 +7 + 53 = 60 +7 + 54 = 61 +7 + 55 = 62 +7 + 56 = 63 +7 + 57 = 0 +7 + 58 = 1 +7 + 59 = 2 +7 + 60 = 3 +7 + 61 = 4 +7 + 62 = 5 +7 + 63 = 6 +8 + 0 = 8 +8 + 1 = 9 +8 + 2 = 10 +8 + 3 = 11 +8 + 4 = 12 +8 + 5 = 13 +8 + 6 = 14 +8 + 7 = 15 +8 + 8 = 16 +8 + 9 = 17 +8 + 10 = 18 +8 + 11 = 19 +8 + 12 = 20 +8 + 13 = 21 +8 + 14 = 22 +8 + 15 = 23 +8 + 16 = 24 +8 + 17 = 25 +8 + 18 = 26 +8 + 19 = 27 +8 + 20 = 28 +8 + 21 = 29 +8 + 22 = 30 +8 + 23 = 31 +8 + 24 = 32 +8 + 25 = 33 +8 + 26 = 34 +8 + 27 = 35 +8 + 28 = 36 +8 + 29 = 37 +8 + 30 = 38 +8 + 31 = 39 +8 + 32 = 40 +8 + 33 = 41 +8 + 34 = 42 +8 + 35 = 43 +8 + 36 = 44 +8 + 37 = 45 +8 + 38 = 46 +8 + 39 = 47 +8 + 40 = 48 +8 + 41 = 49 +8 + 42 = 50 +8 + 43 = 51 +8 + 44 = 52 +8 + 45 = 53 +8 + 46 = 54 +8 + 47 = 55 +8 + 48 = 56 +8 + 49 = 57 +8 + 50 = 58 +8 + 51 = 59 +8 + 52 = 60 +8 + 53 = 61 +8 + 54 = 62 +8 + 55 = 63 +8 + 56 = 0 +8 + 57 = 1 +8 + 58 = 2 +8 + 59 = 3 +8 + 60 = 4 +8 + 61 = 5 +8 + 62 = 6 +8 + 63 = 7 +9 + 0 = 9 +9 + 1 = 10 +9 + 2 = 11 +9 + 3 = 12 +9 + 4 = 13 +9 + 5 = 14 +9 + 6 = 15 +9 + 7 = 16 +9 + 8 = 17 +9 + 9 = 18 +9 + 10 = 19 +9 + 11 = 20 +9 + 12 = 21 +9 + 13 = 22 +9 + 14 = 23 +9 + 15 = 24 +9 + 16 = 25 +9 + 17 = 26 +9 + 18 = 27 +9 + 19 = 28 +9 + 20 = 29 +9 + 21 = 30 +9 + 22 = 31 +9 + 23 = 32 +9 + 24 = 33 +9 + 25 = 34 +9 + 26 = 35 +9 + 27 = 36 +9 + 28 = 37 +9 + 29 = 38 +9 + 30 = 39 +9 + 31 = 40 +9 + 32 = 41 +9 + 33 = 42 +9 + 34 = 43 +9 + 35 = 44 +9 + 36 = 45 +9 + 37 = 46 +9 + 38 = 47 +9 + 39 = 48 +9 + 40 = 49 +9 + 41 = 50 +9 + 42 = 51 +9 + 43 = 52 +9 + 44 = 53 +9 + 45 = 54 +9 + 46 = 55 +9 + 47 = 56 +9 + 48 = 57 +9 + 49 = 58 +9 + 50 = 59 +9 + 51 = 60 +9 + 52 = 61 +9 + 53 = 62 +9 + 54 = 63 +9 + 55 = 0 +9 + 56 = 1 +9 + 57 = 2 +9 + 58 = 3 +9 + 59 = 4 +9 + 60 = 5 +9 + 61 = 6 +9 + 62 = 7 +9 + 63 = 8 +10 + 0 = 10 +10 + 1 = 11 +10 + 2 = 12 +10 + 3 = 13 +10 + 4 = 14 +10 + 5 = 15 +10 + 6 = 16 +10 + 7 = 17 +10 + 8 = 18 +10 + 9 = 19 +10 + 10 = 20 +10 + 11 = 21 +10 + 12 = 22 +10 + 13 = 23 +10 + 14 = 24 +10 + 15 = 25 +10 + 16 = 26 +10 + 17 = 27 +10 + 18 = 28 +10 + 19 = 29 +10 + 20 = 30 +10 + 21 = 31 +10 + 22 = 32 +10 + 23 = 33 +10 + 24 = 34 +10 + 25 = 35 +10 + 26 = 36 +10 + 27 = 37 +10 + 28 = 38 +10 + 29 = 39 +10 + 30 = 40 +10 + 31 = 41 +10 + 32 = 42 +10 + 33 = 43 +10 + 34 = 44 +10 + 35 = 45 +10 + 36 = 46 +10 + 37 = 47 +10 + 38 = 48 +10 + 39 = 49 +10 + 40 = 50 +10 + 41 = 51 +10 + 42 = 52 +10 + 43 = 53 +10 + 44 = 54 +10 + 45 = 55 +10 + 46 = 56 +10 + 47 = 57 +10 + 48 = 58 +10 + 49 = 59 +10 + 50 = 60 +10 + 51 = 61 +10 + 52 = 62 +10 + 53 = 63 +10 + 54 = 0 +10 + 55 = 1 +10 + 56 = 2 +10 + 57 = 3 +10 + 58 = 4 +10 + 59 = 5 +10 + 60 = 6 +10 + 61 = 7 +10 + 62 = 8 +10 + 63 = 9 +11 + 0 = 11 +11 + 1 = 12 +11 + 2 = 13 +11 + 3 = 14 +11 + 4 = 15 +11 + 5 = 16 +11 + 6 = 17 +11 + 7 = 18 +11 + 8 = 19 +11 + 9 = 20 +11 + 10 = 21 +11 + 11 = 22 +11 + 12 = 23 +11 + 13 = 24 +11 + 14 = 25 +11 + 15 = 26 +11 + 16 = 27 +11 + 17 = 28 +11 + 18 = 29 +11 + 19 = 30 +11 + 20 = 31 +11 + 21 = 32 +11 + 22 = 33 +11 + 23 = 34 +11 + 24 = 35 +11 + 25 = 36 +11 + 26 = 37 +11 + 27 = 38 +11 + 28 = 39 +11 + 29 = 40 +11 + 30 = 41 +11 + 31 = 42 +11 + 32 = 43 +11 + 33 = 44 +11 + 34 = 45 +11 + 35 = 46 +11 + 36 = 47 +11 + 37 = 48 +11 + 38 = 49 +11 + 39 = 50 +11 + 40 = 51 +11 + 41 = 52 +11 + 42 = 53 +11 + 43 = 54 +11 + 44 = 55 +11 + 45 = 56 +11 + 46 = 57 +11 + 47 = 58 +11 + 48 = 59 +11 + 49 = 60 +11 + 50 = 61 +11 + 51 = 62 +11 + 52 = 63 +11 + 53 = 0 +11 + 54 = 1 +11 + 55 = 2 +11 + 56 = 3 +11 + 57 = 4 +11 + 58 = 5 +11 + 59 = 6 +11 + 60 = 7 +11 + 61 = 8 +11 + 62 = 9 +11 + 63 = 10 +12 + 0 = 12 +12 + 1 = 13 +12 + 2 = 14 +12 + 3 = 15 +12 + 4 = 16 +12 + 5 = 17 +12 + 6 = 18 +12 + 7 = 19 +12 + 8 = 20 +12 + 9 = 21 +12 + 10 = 22 +12 + 11 = 23 +12 + 12 = 24 +12 + 13 = 25 +12 + 14 = 26 +12 + 15 = 27 +12 + 16 = 28 +12 + 17 = 29 +12 + 18 = 30 +12 + 19 = 31 +12 + 20 = 32 +12 + 21 = 33 +12 + 22 = 34 +12 + 23 = 35 +12 + 24 = 36 +12 + 25 = 37 +12 + 26 = 38 +12 + 27 = 39 +12 + 28 = 40 +12 + 29 = 41 +12 + 30 = 42 +12 + 31 = 43 +12 + 32 = 44 +12 + 33 = 45 +12 + 34 = 46 +12 + 35 = 47 +12 + 36 = 48 +12 + 37 = 49 +12 + 38 = 50 +12 + 39 = 51 +12 + 40 = 52 +12 + 41 = 53 +12 + 42 = 54 +12 + 43 = 55 +12 + 44 = 56 +12 + 45 = 57 +12 + 46 = 58 +12 + 47 = 59 +12 + 48 = 60 +12 + 49 = 61 +12 + 50 = 62 +12 + 51 = 63 +12 + 52 = 0 +12 + 53 = 1 +12 + 54 = 2 +12 + 55 = 3 +12 + 56 = 4 +12 + 57 = 5 +12 + 58 = 6 +12 + 59 = 7 +12 + 60 = 8 +12 + 61 = 9 +12 + 62 = 10 +12 + 63 = 11 +13 + 0 = 13 +13 + 1 = 14 +13 + 2 = 15 +13 + 3 = 16 +13 + 4 = 17 +13 + 5 = 18 +13 + 6 = 19 +13 + 7 = 20 +13 + 8 = 21 +13 + 9 = 22 +13 + 10 = 23 +13 + 11 = 24 +13 + 12 = 25 +13 + 13 = 26 +13 + 14 = 27 +13 + 15 = 28 +13 + 16 = 29 +13 + 17 = 30 +13 + 18 = 31 +13 + 19 = 32 +13 + 20 = 33 +13 + 21 = 34 +13 + 22 = 35 +13 + 23 = 36 +13 + 24 = 37 +13 + 25 = 38 +13 + 26 = 39 +13 + 27 = 40 +13 + 28 = 41 +13 + 29 = 42 +13 + 30 = 43 +13 + 31 = 44 +13 + 32 = 45 +13 + 33 = 46 +13 + 34 = 47 +13 + 35 = 48 +13 + 36 = 49 +13 + 37 = 50 +13 + 38 = 51 +13 + 39 = 52 +13 + 40 = 53 +13 + 41 = 54 +13 + 42 = 55 +13 + 43 = 56 +13 + 44 = 57 +13 + 45 = 58 +13 + 46 = 59 +13 + 47 = 60 +13 + 48 = 61 +13 + 49 = 62 +13 + 50 = 63 +13 + 51 = 0 +13 + 52 = 1 +13 + 53 = 2 +13 + 54 = 3 +13 + 55 = 4 +13 + 56 = 5 +13 + 57 = 6 +13 + 58 = 7 +13 + 59 = 8 +13 + 60 = 9 +13 + 61 = 10 +13 + 62 = 11 +13 + 63 = 12 +14 + 0 = 14 +14 + 1 = 15 +14 + 2 = 16 +14 + 3 = 17 +14 + 4 = 18 +14 + 5 = 19 +14 + 6 = 20 +14 + 7 = 21 +14 + 8 = 22 +14 + 9 = 23 +14 + 10 = 24 +14 + 11 = 25 +14 + 12 = 26 +14 + 13 = 27 +14 + 14 = 28 +14 + 15 = 29 +14 + 16 = 30 +14 + 17 = 31 +14 + 18 = 32 +14 + 19 = 33 +14 + 20 = 34 +14 + 21 = 35 +14 + 22 = 36 +14 + 23 = 37 +14 + 24 = 38 +14 + 25 = 39 +14 + 26 = 40 +14 + 27 = 41 +14 + 28 = 42 +14 + 29 = 43 +14 + 30 = 44 +14 + 31 = 45 +14 + 32 = 46 +14 + 33 = 47 +14 + 34 = 48 +14 + 35 = 49 +14 + 36 = 50 +14 + 37 = 51 +14 + 38 = 52 +14 + 39 = 53 +14 + 40 = 54 +14 + 41 = 55 +14 + 42 = 56 +14 + 43 = 57 +14 + 44 = 58 +14 + 45 = 59 +14 + 46 = 60 +14 + 47 = 61 +14 + 48 = 62 +14 + 49 = 63 +14 + 50 = 0 +14 + 51 = 1 +14 + 52 = 2 +14 + 53 = 3 +14 + 54 = 4 +14 + 55 = 5 +14 + 56 = 6 +14 + 57 = 7 +14 + 58 = 8 +14 + 59 = 9 +14 + 60 = 10 +14 + 61 = 11 +14 + 62 = 12 +14 + 63 = 13 +15 + 0 = 15 +15 + 1 = 16 +15 + 2 = 17 +15 + 3 = 18 +15 + 4 = 19 +15 + 5 = 20 +15 + 6 = 21 +15 + 7 = 22 +15 + 8 = 23 +15 + 9 = 24 +15 + 10 = 25 +15 + 11 = 26 +15 + 12 = 27 +15 + 13 = 28 +15 + 14 = 29 +15 + 15 = 30 +15 + 16 = 31 +15 + 17 = 32 +15 + 18 = 33 +15 + 19 = 34 +15 + 20 = 35 +15 + 21 = 36 +15 + 22 = 37 +15 + 23 = 38 +15 + 24 = 39 +15 + 25 = 40 +15 + 26 = 41 +15 + 27 = 42 +15 + 28 = 43 +15 + 29 = 44 +15 + 30 = 45 +15 + 31 = 46 +15 + 32 = 47 +15 + 33 = 48 +15 + 34 = 49 +15 + 35 = 50 +15 + 36 = 51 +15 + 37 = 52 +15 + 38 = 53 +15 + 39 = 54 +15 + 40 = 55 +15 + 41 = 56 +15 + 42 = 57 +15 + 43 = 58 +15 + 44 = 59 +15 + 45 = 60 +15 + 46 = 61 +15 + 47 = 62 +15 + 48 = 63 +15 + 49 = 0 +15 + 50 = 1 +15 + 51 = 2 +15 + 52 = 3 +15 + 53 = 4 +15 + 54 = 5 +15 + 55 = 6 +15 + 56 = 7 +15 + 57 = 8 +15 + 58 = 9 +15 + 59 = 10 +15 + 60 = 11 +15 + 61 = 12 +15 + 62 = 13 +15 + 63 = 14 +16 + 0 = 16 +16 + 1 = 17 +16 + 2 = 18 +16 + 3 = 19 +16 + 4 = 20 +16 + 5 = 21 +16 + 6 = 22 +16 + 7 = 23 +16 + 8 = 24 +16 + 9 = 25 +16 + 10 = 26 +16 + 11 = 27 +16 + 12 = 28 +16 + 13 = 29 +16 + 14 = 30 +16 + 15 = 31 +16 + 16 = 32 +16 + 17 = 33 +16 + 18 = 34 +16 + 19 = 35 +16 + 20 = 36 +16 + 21 = 37 +16 + 22 = 38 +16 + 23 = 39 +16 + 24 = 40 +16 + 25 = 41 +16 + 26 = 42 +16 + 27 = 43 +16 + 28 = 44 +16 + 29 = 45 +16 + 30 = 46 +16 + 31 = 47 +16 + 32 = 48 +16 + 33 = 49 +16 + 34 = 50 +16 + 35 = 51 +16 + 36 = 52 +16 + 37 = 53 +16 + 38 = 54 +16 + 39 = 55 +16 + 40 = 56 +16 + 41 = 57 +16 + 42 = 58 +16 + 43 = 59 +16 + 44 = 60 +16 + 45 = 61 +16 + 46 = 62 +16 + 47 = 63 +16 + 48 = 0 +16 + 49 = 1 +16 + 50 = 2 +16 + 51 = 3 +16 + 52 = 4 +16 + 53 = 5 +16 + 54 = 6 +16 + 55 = 7 +16 + 56 = 8 +16 + 57 = 9 +16 + 58 = 10 +16 + 59 = 11 +16 + 60 = 12 +16 + 61 = 13 +16 + 62 = 14 +16 + 63 = 15 +17 + 0 = 17 +17 + 1 = 18 +17 + 2 = 19 +17 + 3 = 20 +17 + 4 = 21 +17 + 5 = 22 +17 + 6 = 23 +17 + 7 = 24 +17 + 8 = 25 +17 + 9 = 26 +17 + 10 = 27 +17 + 11 = 28 +17 + 12 = 29 +17 + 13 = 30 +17 + 14 = 31 +17 + 15 = 32 +17 + 16 = 33 +17 + 17 = 34 +17 + 18 = 35 +17 + 19 = 36 +17 + 20 = 37 +17 + 21 = 38 +17 + 22 = 39 +17 + 23 = 40 +17 + 24 = 41 +17 + 25 = 42 +17 + 26 = 43 +17 + 27 = 44 +17 + 28 = 45 +17 + 29 = 46 +17 + 30 = 47 +17 + 31 = 48 +17 + 32 = 49 +17 + 33 = 50 +17 + 34 = 51 +17 + 35 = 52 +17 + 36 = 53 +17 + 37 = 54 +17 + 38 = 55 +17 + 39 = 56 +17 + 40 = 57 +17 + 41 = 58 +17 + 42 = 59 +17 + 43 = 60 +17 + 44 = 61 +17 + 45 = 62 +17 + 46 = 63 +17 + 47 = 0 +17 + 48 = 1 +17 + 49 = 2 +17 + 50 = 3 +17 + 51 = 4 +17 + 52 = 5 +17 + 53 = 6 +17 + 54 = 7 +17 + 55 = 8 +17 + 56 = 9 +17 + 57 = 10 +17 + 58 = 11 +17 + 59 = 12 +17 + 60 = 13 +17 + 61 = 14 +17 + 62 = 15 +17 + 63 = 16 +18 + 0 = 18 +18 + 1 = 19 +18 + 2 = 20 +18 + 3 = 21 +18 + 4 = 22 +18 + 5 = 23 +18 + 6 = 24 +18 + 7 = 25 +18 + 8 = 26 +18 + 9 = 27 +18 + 10 = 28 +18 + 11 = 29 +18 + 12 = 30 +18 + 13 = 31 +18 + 14 = 32 +18 + 15 = 33 +18 + 16 = 34 +18 + 17 = 35 +18 + 18 = 36 +18 + 19 = 37 +18 + 20 = 38 +18 + 21 = 39 +18 + 22 = 40 +18 + 23 = 41 +18 + 24 = 42 +18 + 25 = 43 +18 + 26 = 44 +18 + 27 = 45 +18 + 28 = 46 +18 + 29 = 47 +18 + 30 = 48 +18 + 31 = 49 +18 + 32 = 50 +18 + 33 = 51 +18 + 34 = 52 +18 + 35 = 53 +18 + 36 = 54 +18 + 37 = 55 +18 + 38 = 56 +18 + 39 = 57 +18 + 40 = 58 +18 + 41 = 59 +18 + 42 = 60 +18 + 43 = 61 +18 + 44 = 62 +18 + 45 = 63 +18 + 46 = 0 +18 + 47 = 1 +18 + 48 = 2 +18 + 49 = 3 +18 + 50 = 4 +18 + 51 = 5 +18 + 52 = 6 +18 + 53 = 7 +18 + 54 = 8 +18 + 55 = 9 +18 + 56 = 10 +18 + 57 = 11 +18 + 58 = 12 +18 + 59 = 13 +18 + 60 = 14 +18 + 61 = 15 +18 + 62 = 16 +18 + 63 = 17 +19 + 0 = 19 +19 + 1 = 20 +19 + 2 = 21 +19 + 3 = 22 +19 + 4 = 23 +19 + 5 = 24 +19 + 6 = 25 +19 + 7 = 26 +19 + 8 = 27 +19 + 9 = 28 +19 + 10 = 29 +19 + 11 = 30 +19 + 12 = 31 +19 + 13 = 32 +19 + 14 = 33 +19 + 15 = 34 +19 + 16 = 35 +19 + 17 = 36 +19 + 18 = 37 +19 + 19 = 38 +19 + 20 = 39 +19 + 21 = 40 +19 + 22 = 41 +19 + 23 = 42 +19 + 24 = 43 +19 + 25 = 44 +19 + 26 = 45 +19 + 27 = 46 +19 + 28 = 47 +19 + 29 = 48 +19 + 30 = 49 +19 + 31 = 50 +19 + 32 = 51 +19 + 33 = 52 +19 + 34 = 53 +19 + 35 = 54 +19 + 36 = 55 +19 + 37 = 56 +19 + 38 = 57 +19 + 39 = 58 +19 + 40 = 59 +19 + 41 = 60 +19 + 42 = 61 +19 + 43 = 62 +19 + 44 = 63 +19 + 45 = 0 +19 + 46 = 1 +19 + 47 = 2 +19 + 48 = 3 +19 + 49 = 4 +19 + 50 = 5 +19 + 51 = 6 +19 + 52 = 7 +19 + 53 = 8 +19 + 54 = 9 +19 + 55 = 10 +19 + 56 = 11 +19 + 57 = 12 +19 + 58 = 13 +19 + 59 = 14 +19 + 60 = 15 +19 + 61 = 16 +19 + 62 = 17 +19 + 63 = 18 +20 + 0 = 20 +20 + 1 = 21 +20 + 2 = 22 +20 + 3 = 23 +20 + 4 = 24 +20 + 5 = 25 +20 + 6 = 26 +20 + 7 = 27 +20 + 8 = 28 +20 + 9 = 29 +20 + 10 = 30 +20 + 11 = 31 +20 + 12 = 32 +20 + 13 = 33 +20 + 14 = 34 +20 + 15 = 35 +20 + 16 = 36 +20 + 17 = 37 +20 + 18 = 38 +20 + 19 = 39 +20 + 20 = 40 +20 + 21 = 41 +20 + 22 = 42 +20 + 23 = 43 +20 + 24 = 44 +20 + 25 = 45 +20 + 26 = 46 +20 + 27 = 47 +20 + 28 = 48 +20 + 29 = 49 +20 + 30 = 50 +20 + 31 = 51 +20 + 32 = 52 +20 + 33 = 53 +20 + 34 = 54 +20 + 35 = 55 +20 + 36 = 56 +20 + 37 = 57 +20 + 38 = 58 +20 + 39 = 59 +20 + 40 = 60 +20 + 41 = 61 +20 + 42 = 62 +20 + 43 = 63 +20 + 44 = 0 +20 + 45 = 1 +20 + 46 = 2 +20 + 47 = 3 +20 + 48 = 4 +20 + 49 = 5 +20 + 50 = 6 +20 + 51 = 7 +20 + 52 = 8 +20 + 53 = 9 +20 + 54 = 10 +20 + 55 = 11 +20 + 56 = 12 +20 + 57 = 13 +20 + 58 = 14 +20 + 59 = 15 +20 + 60 = 16 +20 + 61 = 17 +20 + 62 = 18 +20 + 63 = 19 +21 + 0 = 21 +21 + 1 = 22 +21 + 2 = 23 +21 + 3 = 24 +21 + 4 = 25 +21 + 5 = 26 +21 + 6 = 27 +21 + 7 = 28 +21 + 8 = 29 +21 + 9 = 30 +21 + 10 = 31 +21 + 11 = 32 +21 + 12 = 33 +21 + 13 = 34 +21 + 14 = 35 +21 + 15 = 36 +21 + 16 = 37 +21 + 17 = 38 +21 + 18 = 39 +21 + 19 = 40 +21 + 20 = 41 +21 + 21 = 42 +21 + 22 = 43 +21 + 23 = 44 +21 + 24 = 45 +21 + 25 = 46 +21 + 26 = 47 +21 + 27 = 48 +21 + 28 = 49 +21 + 29 = 50 +21 + 30 = 51 +21 + 31 = 52 +21 + 32 = 53 +21 + 33 = 54 +21 + 34 = 55 +21 + 35 = 56 +21 + 36 = 57 +21 + 37 = 58 +21 + 38 = 59 +21 + 39 = 60 +21 + 40 = 61 +21 + 41 = 62 +21 + 42 = 63 +21 + 43 = 0 +21 + 44 = 1 +21 + 45 = 2 +21 + 46 = 3 +21 + 47 = 4 +21 + 48 = 5 +21 + 49 = 6 +21 + 50 = 7 +21 + 51 = 8 +21 + 52 = 9 +21 + 53 = 10 +21 + 54 = 11 +21 + 55 = 12 +21 + 56 = 13 +21 + 57 = 14 +21 + 58 = 15 +21 + 59 = 16 +21 + 60 = 17 +21 + 61 = 18 +21 + 62 = 19 +21 + 63 = 20 +22 + 0 = 22 +22 + 1 = 23 +22 + 2 = 24 +22 + 3 = 25 +22 + 4 = 26 +22 + 5 = 27 +22 + 6 = 28 +22 + 7 = 29 +22 + 8 = 30 +22 + 9 = 31 +22 + 10 = 32 +22 + 11 = 33 +22 + 12 = 34 +22 + 13 = 35 +22 + 14 = 36 +22 + 15 = 37 +22 + 16 = 38 +22 + 17 = 39 +22 + 18 = 40 +22 + 19 = 41 +22 + 20 = 42 +22 + 21 = 43 +22 + 22 = 44 +22 + 23 = 45 +22 + 24 = 46 +22 + 25 = 47 +22 + 26 = 48 +22 + 27 = 49 +22 + 28 = 50 +22 + 29 = 51 +22 + 30 = 52 +22 + 31 = 53 +22 + 32 = 54 +22 + 33 = 55 +22 + 34 = 56 +22 + 35 = 57 +22 + 36 = 58 +22 + 37 = 59 +22 + 38 = 60 +22 + 39 = 61 +22 + 40 = 62 +22 + 41 = 63 +22 + 42 = 0 +22 + 43 = 1 +22 + 44 = 2 +22 + 45 = 3 +22 + 46 = 4 +22 + 47 = 5 +22 + 48 = 6 +22 + 49 = 7 +22 + 50 = 8 +22 + 51 = 9 +22 + 52 = 10 +22 + 53 = 11 +22 + 54 = 12 +22 + 55 = 13 +22 + 56 = 14 +22 + 57 = 15 +22 + 58 = 16 +22 + 59 = 17 +22 + 60 = 18 +22 + 61 = 19 +22 + 62 = 20 +22 + 63 = 21 +23 + 0 = 23 +23 + 1 = 24 +23 + 2 = 25 +23 + 3 = 26 +23 + 4 = 27 +23 + 5 = 28 +23 + 6 = 29 +23 + 7 = 30 +23 + 8 = 31 +23 + 9 = 32 +23 + 10 = 33 +23 + 11 = 34 +23 + 12 = 35 +23 + 13 = 36 +23 + 14 = 37 +23 + 15 = 38 +23 + 16 = 39 +23 + 17 = 40 +23 + 18 = 41 +23 + 19 = 42 +23 + 20 = 43 +23 + 21 = 44 +23 + 22 = 45 +23 + 23 = 46 +23 + 24 = 47 +23 + 25 = 48 +23 + 26 = 49 +23 + 27 = 50 +23 + 28 = 51 +23 + 29 = 52 +23 + 30 = 53 +23 + 31 = 54 +23 + 32 = 55 +23 + 33 = 56 +23 + 34 = 57 +23 + 35 = 58 +23 + 36 = 59 +23 + 37 = 60 +23 + 38 = 61 +23 + 39 = 62 +23 + 40 = 63 +23 + 41 = 0 +23 + 42 = 1 +23 + 43 = 2 +23 + 44 = 3 +23 + 45 = 4 +23 + 46 = 5 +23 + 47 = 6 +23 + 48 = 7 +23 + 49 = 8 +23 + 50 = 9 +23 + 51 = 10 +23 + 52 = 11 +23 + 53 = 12 +23 + 54 = 13 +23 + 55 = 14 +23 + 56 = 15 +23 + 57 = 16 +23 + 58 = 17 +23 + 59 = 18 +23 + 60 = 19 +23 + 61 = 20 +23 + 62 = 21 +23 + 63 = 22 +24 + 0 = 24 +24 + 1 = 25 +24 + 2 = 26 +24 + 3 = 27 +24 + 4 = 28 +24 + 5 = 29 +24 + 6 = 30 +24 + 7 = 31 +24 + 8 = 32 +24 + 9 = 33 +24 + 10 = 34 +24 + 11 = 35 +24 + 12 = 36 +24 + 13 = 37 +24 + 14 = 38 +24 + 15 = 39 +24 + 16 = 40 +24 + 17 = 41 +24 + 18 = 42 +24 + 19 = 43 +24 + 20 = 44 +24 + 21 = 45 +24 + 22 = 46 +24 + 23 = 47 +24 + 24 = 48 +24 + 25 = 49 +24 + 26 = 50 +24 + 27 = 51 +24 + 28 = 52 +24 + 29 = 53 +24 + 30 = 54 +24 + 31 = 55 +24 + 32 = 56 +24 + 33 = 57 +24 + 34 = 58 +24 + 35 = 59 +24 + 36 = 60 +24 + 37 = 61 +24 + 38 = 62 +24 + 39 = 63 +24 + 40 = 0 +24 + 41 = 1 +24 + 42 = 2 +24 + 43 = 3 +24 + 44 = 4 +24 + 45 = 5 +24 + 46 = 6 +24 + 47 = 7 +24 + 48 = 8 +24 + 49 = 9 +24 + 50 = 10 +24 + 51 = 11 +24 + 52 = 12 +24 + 53 = 13 +24 + 54 = 14 +24 + 55 = 15 +24 + 56 = 16 +24 + 57 = 17 +24 + 58 = 18 +24 + 59 = 19 +24 + 60 = 20 +24 + 61 = 21 +24 + 62 = 22 +24 + 63 = 23 +25 + 0 = 25 +25 + 1 = 26 +25 + 2 = 27 +25 + 3 = 28 +25 + 4 = 29 +25 + 5 = 30 +25 + 6 = 31 +25 + 7 = 32 +25 + 8 = 33 +25 + 9 = 34 +25 + 10 = 35 +25 + 11 = 36 +25 + 12 = 37 +25 + 13 = 38 +25 + 14 = 39 +25 + 15 = 40 +25 + 16 = 41 +25 + 17 = 42 +25 + 18 = 43 +25 + 19 = 44 +25 + 20 = 45 +25 + 21 = 46 +25 + 22 = 47 +25 + 23 = 48 +25 + 24 = 49 +25 + 25 = 50 +25 + 26 = 51 +25 + 27 = 52 +25 + 28 = 53 +25 + 29 = 54 +25 + 30 = 55 +25 + 31 = 56 +25 + 32 = 57 +25 + 33 = 58 +25 + 34 = 59 +25 + 35 = 60 +25 + 36 = 61 +25 + 37 = 62 +25 + 38 = 63 +25 + 39 = 0 +25 + 40 = 1 +25 + 41 = 2 +25 + 42 = 3 +25 + 43 = 4 +25 + 44 = 5 +25 + 45 = 6 +25 + 46 = 7 +25 + 47 = 8 +25 + 48 = 9 +25 + 49 = 10 +25 + 50 = 11 +25 + 51 = 12 +25 + 52 = 13 +25 + 53 = 14 +25 + 54 = 15 +25 + 55 = 16 +25 + 56 = 17 +25 + 57 = 18 +25 + 58 = 19 +25 + 59 = 20 +25 + 60 = 21 +25 + 61 = 22 +25 + 62 = 23 +25 + 63 = 24 +26 + 0 = 26 +26 + 1 = 27 +26 + 2 = 28 +26 + 3 = 29 +26 + 4 = 30 +26 + 5 = 31 +26 + 6 = 32 +26 + 7 = 33 +26 + 8 = 34 +26 + 9 = 35 +26 + 10 = 36 +26 + 11 = 37 +26 + 12 = 38 +26 + 13 = 39 +26 + 14 = 40 +26 + 15 = 41 +26 + 16 = 42 +26 + 17 = 43 +26 + 18 = 44 +26 + 19 = 45 +26 + 20 = 46 +26 + 21 = 47 +26 + 22 = 48 +26 + 23 = 49 +26 + 24 = 50 +26 + 25 = 51 +26 + 26 = 52 +26 + 27 = 53 +26 + 28 = 54 +26 + 29 = 55 +26 + 30 = 56 +26 + 31 = 57 +26 + 32 = 58 +26 + 33 = 59 +26 + 34 = 60 +26 + 35 = 61 +26 + 36 = 62 +26 + 37 = 63 +26 + 38 = 0 +26 + 39 = 1 +26 + 40 = 2 +26 + 41 = 3 +26 + 42 = 4 +26 + 43 = 5 +26 + 44 = 6 +26 + 45 = 7 +26 + 46 = 8 +26 + 47 = 9 +26 + 48 = 10 +26 + 49 = 11 +26 + 50 = 12 +26 + 51 = 13 +26 + 52 = 14 +26 + 53 = 15 +26 + 54 = 16 +26 + 55 = 17 +26 + 56 = 18 +26 + 57 = 19 +26 + 58 = 20 +26 + 59 = 21 +26 + 60 = 22 +26 + 61 = 23 +26 + 62 = 24 +26 + 63 = 25 +27 + 0 = 27 +27 + 1 = 28 +27 + 2 = 29 +27 + 3 = 30 +27 + 4 = 31 +27 + 5 = 32 +27 + 6 = 33 +27 + 7 = 34 +27 + 8 = 35 +27 + 9 = 36 +27 + 10 = 37 +27 + 11 = 38 +27 + 12 = 39 +27 + 13 = 40 +27 + 14 = 41 +27 + 15 = 42 +27 + 16 = 43 +27 + 17 = 44 +27 + 18 = 45 +27 + 19 = 46 +27 + 20 = 47 +27 + 21 = 48 +27 + 22 = 49 +27 + 23 = 50 +27 + 24 = 51 +27 + 25 = 52 +27 + 26 = 53 +27 + 27 = 54 +27 + 28 = 55 +27 + 29 = 56 +27 + 30 = 57 +27 + 31 = 58 +27 + 32 = 59 +27 + 33 = 60 +27 + 34 = 61 +27 + 35 = 62 +27 + 36 = 63 +27 + 37 = 0 +27 + 38 = 1 +27 + 39 = 2 +27 + 40 = 3 +27 + 41 = 4 +27 + 42 = 5 +27 + 43 = 6 +27 + 44 = 7 +27 + 45 = 8 +27 + 46 = 9 +27 + 47 = 10 +27 + 48 = 11 +27 + 49 = 12 +27 + 50 = 13 +27 + 51 = 14 +27 + 52 = 15 +27 + 53 = 16 +27 + 54 = 17 +27 + 55 = 18 +27 + 56 = 19 +27 + 57 = 20 +27 + 58 = 21 +27 + 59 = 22 +27 + 60 = 23 +27 + 61 = 24 +27 + 62 = 25 +27 + 63 = 26 +28 + 0 = 28 +28 + 1 = 29 +28 + 2 = 30 +28 + 3 = 31 +28 + 4 = 32 +28 + 5 = 33 +28 + 6 = 34 +28 + 7 = 35 +28 + 8 = 36 +28 + 9 = 37 +28 + 10 = 38 +28 + 11 = 39 +28 + 12 = 40 +28 + 13 = 41 +28 + 14 = 42 +28 + 15 = 43 +28 + 16 = 44 +28 + 17 = 45 +28 + 18 = 46 +28 + 19 = 47 +28 + 20 = 48 +28 + 21 = 49 +28 + 22 = 50 +28 + 23 = 51 +28 + 24 = 52 +28 + 25 = 53 +28 + 26 = 54 +28 + 27 = 55 +28 + 28 = 56 +28 + 29 = 57 +28 + 30 = 58 +28 + 31 = 59 +28 + 32 = 60 +28 + 33 = 61 +28 + 34 = 62 +28 + 35 = 63 +28 + 36 = 0 +28 + 37 = 1 +28 + 38 = 2 +28 + 39 = 3 +28 + 40 = 4 +28 + 41 = 5 +28 + 42 = 6 +28 + 43 = 7 +28 + 44 = 8 +28 + 45 = 9 +28 + 46 = 10 +28 + 47 = 11 +28 + 48 = 12 +28 + 49 = 13 +28 + 50 = 14 +28 + 51 = 15 +28 + 52 = 16 +28 + 53 = 17 +28 + 54 = 18 +28 + 55 = 19 +28 + 56 = 20 +28 + 57 = 21 +28 + 58 = 22 +28 + 59 = 23 +28 + 60 = 24 +28 + 61 = 25 +28 + 62 = 26 +28 + 63 = 27 +29 + 0 = 29 +29 + 1 = 30 +29 + 2 = 31 +29 + 3 = 32 +29 + 4 = 33 +29 + 5 = 34 +29 + 6 = 35 +29 + 7 = 36 +29 + 8 = 37 +29 + 9 = 38 +29 + 10 = 39 +29 + 11 = 40 +29 + 12 = 41 +29 + 13 = 42 +29 + 14 = 43 +29 + 15 = 44 +29 + 16 = 45 +29 + 17 = 46 +29 + 18 = 47 +29 + 19 = 48 +29 + 20 = 49 +29 + 21 = 50 +29 + 22 = 51 +29 + 23 = 52 +29 + 24 = 53 +29 + 25 = 54 +29 + 26 = 55 +29 + 27 = 56 +29 + 28 = 57 +29 + 29 = 58 +29 + 30 = 59 +29 + 31 = 60 +29 + 32 = 61 +29 + 33 = 62 +29 + 34 = 63 +29 + 35 = 0 +29 + 36 = 1 +29 + 37 = 2 +29 + 38 = 3 +29 + 39 = 4 +29 + 40 = 5 +29 + 41 = 6 +29 + 42 = 7 +29 + 43 = 8 +29 + 44 = 9 +29 + 45 = 10 +29 + 46 = 11 +29 + 47 = 12 +29 + 48 = 13 +29 + 49 = 14 +29 + 50 = 15 +29 + 51 = 16 +29 + 52 = 17 +29 + 53 = 18 +29 + 54 = 19 +29 + 55 = 20 +29 + 56 = 21 +29 + 57 = 22 +29 + 58 = 23 +29 + 59 = 24 +29 + 60 = 25 +29 + 61 = 26 +29 + 62 = 27 +29 + 63 = 28 +30 + 0 = 30 +30 + 1 = 31 +30 + 2 = 32 +30 + 3 = 33 +30 + 4 = 34 +30 + 5 = 35 +30 + 6 = 36 +30 + 7 = 37 +30 + 8 = 38 +30 + 9 = 39 +30 + 10 = 40 +30 + 11 = 41 +30 + 12 = 42 +30 + 13 = 43 +30 + 14 = 44 +30 + 15 = 45 +30 + 16 = 46 +30 + 17 = 47 +30 + 18 = 48 +30 + 19 = 49 +30 + 20 = 50 +30 + 21 = 51 +30 + 22 = 52 +30 + 23 = 53 +30 + 24 = 54 +30 + 25 = 55 +30 + 26 = 56 +30 + 27 = 57 +30 + 28 = 58 +30 + 29 = 59 +30 + 30 = 60 +30 + 31 = 61 +30 + 32 = 62 +30 + 33 = 63 +30 + 34 = 0 +30 + 35 = 1 +30 + 36 = 2 +30 + 37 = 3 +30 + 38 = 4 +30 + 39 = 5 +30 + 40 = 6 +30 + 41 = 7 +30 + 42 = 8 +30 + 43 = 9 +30 + 44 = 10 +30 + 45 = 11 +30 + 46 = 12 +30 + 47 = 13 +30 + 48 = 14 +30 + 49 = 15 +30 + 50 = 16 +30 + 51 = 17 +30 + 52 = 18 +30 + 53 = 19 +30 + 54 = 20 +30 + 55 = 21 +30 + 56 = 22 +30 + 57 = 23 +30 + 58 = 24 +30 + 59 = 25 +30 + 60 = 26 +30 + 61 = 27 +30 + 62 = 28 +30 + 63 = 29 +31 + 0 = 31 +31 + 1 = 32 +31 + 2 = 33 +31 + 3 = 34 +31 + 4 = 35 +31 + 5 = 36 +31 + 6 = 37 +31 + 7 = 38 +31 + 8 = 39 +31 + 9 = 40 +31 + 10 = 41 +31 + 11 = 42 +31 + 12 = 43 +31 + 13 = 44 +31 + 14 = 45 +31 + 15 = 46 +31 + 16 = 47 +31 + 17 = 48 +31 + 18 = 49 +31 + 19 = 50 +31 + 20 = 51 +31 + 21 = 52 +31 + 22 = 53 +31 + 23 = 54 +31 + 24 = 55 +31 + 25 = 56 +31 + 26 = 57 +31 + 27 = 58 +31 + 28 = 59 +31 + 29 = 60 +31 + 30 = 61 +31 + 31 = 62 +31 + 32 = 63 +31 + 33 = 0 +31 + 34 = 1 +31 + 35 = 2 +31 + 36 = 3 +31 + 37 = 4 +31 + 38 = 5 +31 + 39 = 6 +31 + 40 = 7 +31 + 41 = 8 +31 + 42 = 9 +31 + 43 = 10 +31 + 44 = 11 +31 + 45 = 12 +31 + 46 = 13 +31 + 47 = 14 +31 + 48 = 15 +31 + 49 = 16 +31 + 50 = 17 +31 + 51 = 18 +31 + 52 = 19 +31 + 53 = 20 +31 + 54 = 21 +31 + 55 = 22 +31 + 56 = 23 +31 + 57 = 24 +31 + 58 = 25 +31 + 59 = 26 +31 + 60 = 27 +31 + 61 = 28 +31 + 62 = 29 +31 + 63 = 30 +32 + 0 = 32 +32 + 1 = 33 +32 + 2 = 34 +32 + 3 = 35 +32 + 4 = 36 +32 + 5 = 37 +32 + 6 = 38 +32 + 7 = 39 +32 + 8 = 40 +32 + 9 = 41 +32 + 10 = 42 +32 + 11 = 43 +32 + 12 = 44 +32 + 13 = 45 +32 + 14 = 46 +32 + 15 = 47 +32 + 16 = 48 +32 + 17 = 49 +32 + 18 = 50 +32 + 19 = 51 +32 + 20 = 52 +32 + 21 = 53 +32 + 22 = 54 +32 + 23 = 55 +32 + 24 = 56 +32 + 25 = 57 +32 + 26 = 58 +32 + 27 = 59 +32 + 28 = 60 +32 + 29 = 61 +32 + 30 = 62 +32 + 31 = 63 +32 + 32 = 0 +32 + 33 = 1 +32 + 34 = 2 +32 + 35 = 3 +32 + 36 = 4 +32 + 37 = 5 +32 + 38 = 6 +32 + 39 = 7 +32 + 40 = 8 +32 + 41 = 9 +32 + 42 = 10 +32 + 43 = 11 +32 + 44 = 12 +32 + 45 = 13 +32 + 46 = 14 +32 + 47 = 15 +32 + 48 = 16 +32 + 49 = 17 +32 + 50 = 18 +32 + 51 = 19 +32 + 52 = 20 +32 + 53 = 21 +32 + 54 = 22 +32 + 55 = 23 +32 + 56 = 24 +32 + 57 = 25 +32 + 58 = 26 +32 + 59 = 27 +32 + 60 = 28 +32 + 61 = 29 +32 + 62 = 30 +32 + 63 = 31 +33 + 0 = 33 +33 + 1 = 34 +33 + 2 = 35 +33 + 3 = 36 +33 + 4 = 37 +33 + 5 = 38 +33 + 6 = 39 +33 + 7 = 40 +33 + 8 = 41 +33 + 9 = 42 +33 + 10 = 43 +33 + 11 = 44 +33 + 12 = 45 +33 + 13 = 46 +33 + 14 = 47 +33 + 15 = 48 +33 + 16 = 49 +33 + 17 = 50 +33 + 18 = 51 +33 + 19 = 52 +33 + 20 = 53 +33 + 21 = 54 +33 + 22 = 55 +33 + 23 = 56 +33 + 24 = 57 +33 + 25 = 58 +33 + 26 = 59 +33 + 27 = 60 +33 + 28 = 61 +33 + 29 = 62 +33 + 30 = 63 +33 + 31 = 0 +33 + 32 = 1 +33 + 33 = 2 +33 + 34 = 3 +33 + 35 = 4 +33 + 36 = 5 +33 + 37 = 6 +33 + 38 = 7 +33 + 39 = 8 +33 + 40 = 9 +33 + 41 = 10 +33 + 42 = 11 +33 + 43 = 12 +33 + 44 = 13 +33 + 45 = 14 +33 + 46 = 15 +33 + 47 = 16 +33 + 48 = 17 +33 + 49 = 18 +33 + 50 = 19 +33 + 51 = 20 +33 + 52 = 21 +33 + 53 = 22 +33 + 54 = 23 +33 + 55 = 24 +33 + 56 = 25 +33 + 57 = 26 +33 + 58 = 27 +33 + 59 = 28 +33 + 60 = 29 +33 + 61 = 30 +33 + 62 = 31 +33 + 63 = 32 +34 + 0 = 34 +34 + 1 = 35 +34 + 2 = 36 +34 + 3 = 37 +34 + 4 = 38 +34 + 5 = 39 +34 + 6 = 40 +34 + 7 = 41 +34 + 8 = 42 +34 + 9 = 43 +34 + 10 = 44 +34 + 11 = 45 +34 + 12 = 46 +34 + 13 = 47 +34 + 14 = 48 +34 + 15 = 49 +34 + 16 = 50 +34 + 17 = 51 +34 + 18 = 52 +34 + 19 = 53 +34 + 20 = 54 +34 + 21 = 55 +34 + 22 = 56 +34 + 23 = 57 +34 + 24 = 58 +34 + 25 = 59 +34 + 26 = 60 +34 + 27 = 61 +34 + 28 = 62 +34 + 29 = 63 +34 + 30 = 0 +34 + 31 = 1 +34 + 32 = 2 +34 + 33 = 3 +34 + 34 = 4 +34 + 35 = 5 +34 + 36 = 6 +34 + 37 = 7 +34 + 38 = 8 +34 + 39 = 9 +34 + 40 = 10 +34 + 41 = 11 +34 + 42 = 12 +34 + 43 = 13 +34 + 44 = 14 +34 + 45 = 15 +34 + 46 = 16 +34 + 47 = 17 +34 + 48 = 18 +34 + 49 = 19 +34 + 50 = 20 +34 + 51 = 21 +34 + 52 = 22 +34 + 53 = 23 +34 + 54 = 24 +34 + 55 = 25 +34 + 56 = 26 +34 + 57 = 27 +34 + 58 = 28 +34 + 59 = 29 +34 + 60 = 30 +34 + 61 = 31 +34 + 62 = 32 +34 + 63 = 33 +35 + 0 = 35 +35 + 1 = 36 +35 + 2 = 37 +35 + 3 = 38 +35 + 4 = 39 +35 + 5 = 40 +35 + 6 = 41 +35 + 7 = 42 +35 + 8 = 43 +35 + 9 = 44 +35 + 10 = 45 +35 + 11 = 46 +35 + 12 = 47 +35 + 13 = 48 +35 + 14 = 49 +35 + 15 = 50 +35 + 16 = 51 +35 + 17 = 52 +35 + 18 = 53 +35 + 19 = 54 +35 + 20 = 55 +35 + 21 = 56 +35 + 22 = 57 +35 + 23 = 58 +35 + 24 = 59 +35 + 25 = 60 +35 + 26 = 61 +35 + 27 = 62 +35 + 28 = 63 +35 + 29 = 0 +35 + 30 = 1 +35 + 31 = 2 +35 + 32 = 3 +35 + 33 = 4 +35 + 34 = 5 +35 + 35 = 6 +35 + 36 = 7 +35 + 37 = 8 +35 + 38 = 9 +35 + 39 = 10 +35 + 40 = 11 +35 + 41 = 12 +35 + 42 = 13 +35 + 43 = 14 +35 + 44 = 15 +35 + 45 = 16 +35 + 46 = 17 +35 + 47 = 18 +35 + 48 = 19 +35 + 49 = 20 +35 + 50 = 21 +35 + 51 = 22 +35 + 52 = 23 +35 + 53 = 24 +35 + 54 = 25 +35 + 55 = 26 +35 + 56 = 27 +35 + 57 = 28 +35 + 58 = 29 +35 + 59 = 30 +35 + 60 = 31 +35 + 61 = 32 +35 + 62 = 33 +35 + 63 = 34 +36 + 0 = 36 +36 + 1 = 37 +36 + 2 = 38 +36 + 3 = 39 +36 + 4 = 40 +36 + 5 = 41 +36 + 6 = 42 +36 + 7 = 43 +36 + 8 = 44 +36 + 9 = 45 +36 + 10 = 46 +36 + 11 = 47 +36 + 12 = 48 +36 + 13 = 49 +36 + 14 = 50 +36 + 15 = 51 +36 + 16 = 52 +36 + 17 = 53 +36 + 18 = 54 +36 + 19 = 55 +36 + 20 = 56 +36 + 21 = 57 +36 + 22 = 58 +36 + 23 = 59 +36 + 24 = 60 +36 + 25 = 61 +36 + 26 = 62 +36 + 27 = 63 +36 + 28 = 0 +36 + 29 = 1 +36 + 30 = 2 +36 + 31 = 3 +36 + 32 = 4 +36 + 33 = 5 +36 + 34 = 6 +36 + 35 = 7 +36 + 36 = 8 +36 + 37 = 9 +36 + 38 = 10 +36 + 39 = 11 +36 + 40 = 12 +36 + 41 = 13 +36 + 42 = 14 +36 + 43 = 15 +36 + 44 = 16 +36 + 45 = 17 +36 + 46 = 18 +36 + 47 = 19 +36 + 48 = 20 +36 + 49 = 21 +36 + 50 = 22 +36 + 51 = 23 +36 + 52 = 24 +36 + 53 = 25 +36 + 54 = 26 +36 + 55 = 27 +36 + 56 = 28 +36 + 57 = 29 +36 + 58 = 30 +36 + 59 = 31 +36 + 60 = 32 +36 + 61 = 33 +36 + 62 = 34 +36 + 63 = 35 +37 + 0 = 37 +37 + 1 = 38 +37 + 2 = 39 +37 + 3 = 40 +37 + 4 = 41 +37 + 5 = 42 +37 + 6 = 43 +37 + 7 = 44 +37 + 8 = 45 +37 + 9 = 46 +37 + 10 = 47 +37 + 11 = 48 +37 + 12 = 49 +37 + 13 = 50 +37 + 14 = 51 +37 + 15 = 52 +37 + 16 = 53 +37 + 17 = 54 +37 + 18 = 55 +37 + 19 = 56 +37 + 20 = 57 +37 + 21 = 58 +37 + 22 = 59 +37 + 23 = 60 +37 + 24 = 61 +37 + 25 = 62 +37 + 26 = 63 +37 + 27 = 0 +37 + 28 = 1 +37 + 29 = 2 +37 + 30 = 3 +37 + 31 = 4 +37 + 32 = 5 +37 + 33 = 6 +37 + 34 = 7 +37 + 35 = 8 +37 + 36 = 9 +37 + 37 = 10 +37 + 38 = 11 +37 + 39 = 12 +37 + 40 = 13 +37 + 41 = 14 +37 + 42 = 15 +37 + 43 = 16 +37 + 44 = 17 +37 + 45 = 18 +37 + 46 = 19 +37 + 47 = 20 +37 + 48 = 21 +37 + 49 = 22 +37 + 50 = 23 +37 + 51 = 24 +37 + 52 = 25 +37 + 53 = 26 +37 + 54 = 27 +37 + 55 = 28 +37 + 56 = 29 +37 + 57 = 30 +37 + 58 = 31 +37 + 59 = 32 +37 + 60 = 33 +37 + 61 = 34 +37 + 62 = 35 +37 + 63 = 36 +38 + 0 = 38 +38 + 1 = 39 +38 + 2 = 40 +38 + 3 = 41 +38 + 4 = 42 +38 + 5 = 43 +38 + 6 = 44 +38 + 7 = 45 +38 + 8 = 46 +38 + 9 = 47 +38 + 10 = 48 +38 + 11 = 49 +38 + 12 = 50 +38 + 13 = 51 +38 + 14 = 52 +38 + 15 = 53 +38 + 16 = 54 +38 + 17 = 55 +38 + 18 = 56 +38 + 19 = 57 +38 + 20 = 58 +38 + 21 = 59 +38 + 22 = 60 +38 + 23 = 61 +38 + 24 = 62 +38 + 25 = 63 +38 + 26 = 0 +38 + 27 = 1 +38 + 28 = 2 +38 + 29 = 3 +38 + 30 = 4 +38 + 31 = 5 +38 + 32 = 6 +38 + 33 = 7 +38 + 34 = 8 +38 + 35 = 9 +38 + 36 = 10 +38 + 37 = 11 +38 + 38 = 12 +38 + 39 = 13 +38 + 40 = 14 +38 + 41 = 15 +38 + 42 = 16 +38 + 43 = 17 +38 + 44 = 18 +38 + 45 = 19 +38 + 46 = 20 +38 + 47 = 21 +38 + 48 = 22 +38 + 49 = 23 +38 + 50 = 24 +38 + 51 = 25 +38 + 52 = 26 +38 + 53 = 27 +38 + 54 = 28 +38 + 55 = 29 +38 + 56 = 30 +38 + 57 = 31 +38 + 58 = 32 +38 + 59 = 33 +38 + 60 = 34 +38 + 61 = 35 +38 + 62 = 36 +38 + 63 = 37 +39 + 0 = 39 +39 + 1 = 40 +39 + 2 = 41 +39 + 3 = 42 +39 + 4 = 43 +39 + 5 = 44 +39 + 6 = 45 +39 + 7 = 46 +39 + 8 = 47 +39 + 9 = 48 +39 + 10 = 49 +39 + 11 = 50 +39 + 12 = 51 +39 + 13 = 52 +39 + 14 = 53 +39 + 15 = 54 +39 + 16 = 55 +39 + 17 = 56 +39 + 18 = 57 +39 + 19 = 58 +39 + 20 = 59 +39 + 21 = 60 +39 + 22 = 61 +39 + 23 = 62 +39 + 24 = 63 +39 + 25 = 0 +39 + 26 = 1 +39 + 27 = 2 +39 + 28 = 3 +39 + 29 = 4 +39 + 30 = 5 +39 + 31 = 6 +39 + 32 = 7 +39 + 33 = 8 +39 + 34 = 9 +39 + 35 = 10 +39 + 36 = 11 +39 + 37 = 12 +39 + 38 = 13 +39 + 39 = 14 +39 + 40 = 15 +39 + 41 = 16 +39 + 42 = 17 +39 + 43 = 18 +39 + 44 = 19 +39 + 45 = 20 +39 + 46 = 21 +39 + 47 = 22 +39 + 48 = 23 +39 + 49 = 24 +39 + 50 = 25 +39 + 51 = 26 +39 + 52 = 27 +39 + 53 = 28 +39 + 54 = 29 +39 + 55 = 30 +39 + 56 = 31 +39 + 57 = 32 +39 + 58 = 33 +39 + 59 = 34 +39 + 60 = 35 +39 + 61 = 36 +39 + 62 = 37 +39 + 63 = 38 +40 + 0 = 40 +40 + 1 = 41 +40 + 2 = 42 +40 + 3 = 43 +40 + 4 = 44 +40 + 5 = 45 +40 + 6 = 46 +40 + 7 = 47 +40 + 8 = 48 +40 + 9 = 49 +40 + 10 = 50 +40 + 11 = 51 +40 + 12 = 52 +40 + 13 = 53 +40 + 14 = 54 +40 + 15 = 55 +40 + 16 = 56 +40 + 17 = 57 +40 + 18 = 58 +40 + 19 = 59 +40 + 20 = 60 +40 + 21 = 61 +40 + 22 = 62 +40 + 23 = 63 +40 + 24 = 0 +40 + 25 = 1 +40 + 26 = 2 +40 + 27 = 3 +40 + 28 = 4 +40 + 29 = 5 +40 + 30 = 6 +40 + 31 = 7 +40 + 32 = 8 +40 + 33 = 9 +40 + 34 = 10 +40 + 35 = 11 +40 + 36 = 12 +40 + 37 = 13 +40 + 38 = 14 +40 + 39 = 15 +40 + 40 = 16 +40 + 41 = 17 +40 + 42 = 18 +40 + 43 = 19 +40 + 44 = 20 +40 + 45 = 21 +40 + 46 = 22 +40 + 47 = 23 +40 + 48 = 24 +40 + 49 = 25 +40 + 50 = 26 +40 + 51 = 27 +40 + 52 = 28 +40 + 53 = 29 +40 + 54 = 30 +40 + 55 = 31 +40 + 56 = 32 +40 + 57 = 33 +40 + 58 = 34 +40 + 59 = 35 +40 + 60 = 36 +40 + 61 = 37 +40 + 62 = 38 +40 + 63 = 39 +41 + 0 = 41 +41 + 1 = 42 +41 + 2 = 43 +41 + 3 = 44 +41 + 4 = 45 +41 + 5 = 46 +41 + 6 = 47 +41 + 7 = 48 +41 + 8 = 49 +41 + 9 = 50 +41 + 10 = 51 +41 + 11 = 52 +41 + 12 = 53 +41 + 13 = 54 +41 + 14 = 55 +41 + 15 = 56 +41 + 16 = 57 +41 + 17 = 58 +41 + 18 = 59 +41 + 19 = 60 +41 + 20 = 61 +41 + 21 = 62 +41 + 22 = 63 +41 + 23 = 0 +41 + 24 = 1 +41 + 25 = 2 +41 + 26 = 3 +41 + 27 = 4 +41 + 28 = 5 +41 + 29 = 6 +41 + 30 = 7 +41 + 31 = 8 +41 + 32 = 9 +41 + 33 = 10 +41 + 34 = 11 +41 + 35 = 12 +41 + 36 = 13 +41 + 37 = 14 +41 + 38 = 15 +41 + 39 = 16 +41 + 40 = 17 +41 + 41 = 18 +41 + 42 = 19 +41 + 43 = 20 +41 + 44 = 21 +41 + 45 = 22 +41 + 46 = 23 +41 + 47 = 24 +41 + 48 = 25 +41 + 49 = 26 +41 + 50 = 27 +41 + 51 = 28 +41 + 52 = 29 +41 + 53 = 30 +41 + 54 = 31 +41 + 55 = 32 +41 + 56 = 33 +41 + 57 = 34 +41 + 58 = 35 +41 + 59 = 36 +41 + 60 = 37 +41 + 61 = 38 +41 + 62 = 39 +41 + 63 = 40 +42 + 0 = 42 +42 + 1 = 43 +42 + 2 = 44 +42 + 3 = 45 +42 + 4 = 46 +42 + 5 = 47 +42 + 6 = 48 +42 + 7 = 49 +42 + 8 = 50 +42 + 9 = 51 +42 + 10 = 52 +42 + 11 = 53 +42 + 12 = 54 +42 + 13 = 55 +42 + 14 = 56 +42 + 15 = 57 +42 + 16 = 58 +42 + 17 = 59 +42 + 18 = 60 +42 + 19 = 61 +42 + 20 = 62 +42 + 21 = 63 +42 + 22 = 0 +42 + 23 = 1 +42 + 24 = 2 +42 + 25 = 3 +42 + 26 = 4 +42 + 27 = 5 +42 + 28 = 6 +42 + 29 = 7 +42 + 30 = 8 +42 + 31 = 9 +42 + 32 = 10 +42 + 33 = 11 +42 + 34 = 12 +42 + 35 = 13 +42 + 36 = 14 +42 + 37 = 15 +42 + 38 = 16 +42 + 39 = 17 +42 + 40 = 18 +42 + 41 = 19 +42 + 42 = 20 +42 + 43 = 21 +42 + 44 = 22 +42 + 45 = 23 +42 + 46 = 24 +42 + 47 = 25 +42 + 48 = 26 +42 + 49 = 27 +42 + 50 = 28 +42 + 51 = 29 +42 + 52 = 30 +42 + 53 = 31 +42 + 54 = 32 +42 + 55 = 33 +42 + 56 = 34 +42 + 57 = 35 +42 + 58 = 36 +42 + 59 = 37 +42 + 60 = 38 +42 + 61 = 39 +42 + 62 = 40 +42 + 63 = 41 +43 + 0 = 43 +43 + 1 = 44 +43 + 2 = 45 +43 + 3 = 46 +43 + 4 = 47 +43 + 5 = 48 +43 + 6 = 49 +43 + 7 = 50 +43 + 8 = 51 +43 + 9 = 52 +43 + 10 = 53 +43 + 11 = 54 +43 + 12 = 55 +43 + 13 = 56 +43 + 14 = 57 +43 + 15 = 58 +43 + 16 = 59 +43 + 17 = 60 +43 + 18 = 61 +43 + 19 = 62 +43 + 20 = 63 +43 + 21 = 0 +43 + 22 = 1 +43 + 23 = 2 +43 + 24 = 3 +43 + 25 = 4 +43 + 26 = 5 +43 + 27 = 6 +43 + 28 = 7 +43 + 29 = 8 +43 + 30 = 9 +43 + 31 = 10 +43 + 32 = 11 +43 + 33 = 12 +43 + 34 = 13 +43 + 35 = 14 +43 + 36 = 15 +43 + 37 = 16 +43 + 38 = 17 +43 + 39 = 18 +43 + 40 = 19 +43 + 41 = 20 +43 + 42 = 21 +43 + 43 = 22 +43 + 44 = 23 +43 + 45 = 24 +43 + 46 = 25 +43 + 47 = 26 +43 + 48 = 27 +43 + 49 = 28 +43 + 50 = 29 +43 + 51 = 30 +43 + 52 = 31 +43 + 53 = 32 +43 + 54 = 33 +43 + 55 = 34 +43 + 56 = 35 +43 + 57 = 36 +43 + 58 = 37 +43 + 59 = 38 +43 + 60 = 39 +43 + 61 = 40 +43 + 62 = 41 +43 + 63 = 42 +44 + 0 = 44 +44 + 1 = 45 +44 + 2 = 46 +44 + 3 = 47 +44 + 4 = 48 +44 + 5 = 49 +44 + 6 = 50 +44 + 7 = 51 +44 + 8 = 52 +44 + 9 = 53 +44 + 10 = 54 +44 + 11 = 55 +44 + 12 = 56 +44 + 13 = 57 +44 + 14 = 58 +44 + 15 = 59 +44 + 16 = 60 +44 + 17 = 61 +44 + 18 = 62 +44 + 19 = 63 +44 + 20 = 0 +44 + 21 = 1 +44 + 22 = 2 +44 + 23 = 3 +44 + 24 = 4 +44 + 25 = 5 +44 + 26 = 6 +44 + 27 = 7 +44 + 28 = 8 +44 + 29 = 9 +44 + 30 = 10 +44 + 31 = 11 +44 + 32 = 12 +44 + 33 = 13 +44 + 34 = 14 +44 + 35 = 15 +44 + 36 = 16 +44 + 37 = 17 +44 + 38 = 18 +44 + 39 = 19 +44 + 40 = 20 +44 + 41 = 21 +44 + 42 = 22 +44 + 43 = 23 +44 + 44 = 24 +44 + 45 = 25 +44 + 46 = 26 +44 + 47 = 27 +44 + 48 = 28 +44 + 49 = 29 +44 + 50 = 30 +44 + 51 = 31 +44 + 52 = 32 +44 + 53 = 33 +44 + 54 = 34 +44 + 55 = 35 +44 + 56 = 36 +44 + 57 = 37 +44 + 58 = 38 +44 + 59 = 39 +44 + 60 = 40 +44 + 61 = 41 +44 + 62 = 42 +44 + 63 = 43 +45 + 0 = 45 +45 + 1 = 46 +45 + 2 = 47 +45 + 3 = 48 +45 + 4 = 49 +45 + 5 = 50 +45 + 6 = 51 +45 + 7 = 52 +45 + 8 = 53 +45 + 9 = 54 +45 + 10 = 55 +45 + 11 = 56 +45 + 12 = 57 +45 + 13 = 58 +45 + 14 = 59 +45 + 15 = 60 +45 + 16 = 61 +45 + 17 = 62 +45 + 18 = 63 +45 + 19 = 0 +45 + 20 = 1 +45 + 21 = 2 +45 + 22 = 3 +45 + 23 = 4 +45 + 24 = 5 +45 + 25 = 6 +45 + 26 = 7 +45 + 27 = 8 +45 + 28 = 9 +45 + 29 = 10 +45 + 30 = 11 +45 + 31 = 12 +45 + 32 = 13 +45 + 33 = 14 +45 + 34 = 15 +45 + 35 = 16 +45 + 36 = 17 +45 + 37 = 18 +45 + 38 = 19 +45 + 39 = 20 +45 + 40 = 21 +45 + 41 = 22 +45 + 42 = 23 +45 + 43 = 24 +45 + 44 = 25 +45 + 45 = 26 +45 + 46 = 27 +45 + 47 = 28 +45 + 48 = 29 +45 + 49 = 30 +45 + 50 = 31 +45 + 51 = 32 +45 + 52 = 33 +45 + 53 = 34 +45 + 54 = 35 +45 + 55 = 36 +45 + 56 = 37 +45 + 57 = 38 +45 + 58 = 39 +45 + 59 = 40 +45 + 60 = 41 +45 + 61 = 42 +45 + 62 = 43 +45 + 63 = 44 +46 + 0 = 46 +46 + 1 = 47 +46 + 2 = 48 +46 + 3 = 49 +46 + 4 = 50 +46 + 5 = 51 +46 + 6 = 52 +46 + 7 = 53 +46 + 8 = 54 +46 + 9 = 55 +46 + 10 = 56 +46 + 11 = 57 +46 + 12 = 58 +46 + 13 = 59 +46 + 14 = 60 +46 + 15 = 61 +46 + 16 = 62 +46 + 17 = 63 +46 + 18 = 0 +46 + 19 = 1 +46 + 20 = 2 +46 + 21 = 3 +46 + 22 = 4 +46 + 23 = 5 +46 + 24 = 6 +46 + 25 = 7 +46 + 26 = 8 +46 + 27 = 9 +46 + 28 = 10 +46 + 29 = 11 +46 + 30 = 12 +46 + 31 = 13 +46 + 32 = 14 +46 + 33 = 15 +46 + 34 = 16 +46 + 35 = 17 +46 + 36 = 18 +46 + 37 = 19 +46 + 38 = 20 +46 + 39 = 21 +46 + 40 = 22 +46 + 41 = 23 +46 + 42 = 24 +46 + 43 = 25 +46 + 44 = 26 +46 + 45 = 27 +46 + 46 = 28 +46 + 47 = 29 +46 + 48 = 30 +46 + 49 = 31 +46 + 50 = 32 +46 + 51 = 33 +46 + 52 = 34 +46 + 53 = 35 +46 + 54 = 36 +46 + 55 = 37 +46 + 56 = 38 +46 + 57 = 39 +46 + 58 = 40 +46 + 59 = 41 +46 + 60 = 42 +46 + 61 = 43 +46 + 62 = 44 +46 + 63 = 45 +47 + 0 = 47 +47 + 1 = 48 +47 + 2 = 49 +47 + 3 = 50 +47 + 4 = 51 +47 + 5 = 52 +47 + 6 = 53 +47 + 7 = 54 +47 + 8 = 55 +47 + 9 = 56 +47 + 10 = 57 +47 + 11 = 58 +47 + 12 = 59 +47 + 13 = 60 +47 + 14 = 61 +47 + 15 = 62 +47 + 16 = 63 +47 + 17 = 0 +47 + 18 = 1 +47 + 19 = 2 +47 + 20 = 3 +47 + 21 = 4 +47 + 22 = 5 +47 + 23 = 6 +47 + 24 = 7 +47 + 25 = 8 +47 + 26 = 9 +47 + 27 = 10 +47 + 28 = 11 +47 + 29 = 12 +47 + 30 = 13 +47 + 31 = 14 +47 + 32 = 15 +47 + 33 = 16 +47 + 34 = 17 +47 + 35 = 18 +47 + 36 = 19 +47 + 37 = 20 +47 + 38 = 21 +47 + 39 = 22 +47 + 40 = 23 +47 + 41 = 24 +47 + 42 = 25 +47 + 43 = 26 +47 + 44 = 27 +47 + 45 = 28 +47 + 46 = 29 +47 + 47 = 30 +47 + 48 = 31 +47 + 49 = 32 +47 + 50 = 33 +47 + 51 = 34 +47 + 52 = 35 +47 + 53 = 36 +47 + 54 = 37 +47 + 55 = 38 +47 + 56 = 39 +47 + 57 = 40 +47 + 58 = 41 +47 + 59 = 42 +47 + 60 = 43 +47 + 61 = 44 +47 + 62 = 45 +47 + 63 = 46 +48 + 0 = 48 +48 + 1 = 49 +48 + 2 = 50 +48 + 3 = 51 +48 + 4 = 52 +48 + 5 = 53 +48 + 6 = 54 +48 + 7 = 55 +48 + 8 = 56 +48 + 9 = 57 +48 + 10 = 58 +48 + 11 = 59 +48 + 12 = 60 +48 + 13 = 61 +48 + 14 = 62 +48 + 15 = 63 +48 + 16 = 0 +48 + 17 = 1 +48 + 18 = 2 +48 + 19 = 3 +48 + 20 = 4 +48 + 21 = 5 +48 + 22 = 6 +48 + 23 = 7 +48 + 24 = 8 +48 + 25 = 9 +48 + 26 = 10 +48 + 27 = 11 +48 + 28 = 12 +48 + 29 = 13 +48 + 30 = 14 +48 + 31 = 15 +48 + 32 = 16 +48 + 33 = 17 +48 + 34 = 18 +48 + 35 = 19 +48 + 36 = 20 +48 + 37 = 21 +48 + 38 = 22 +48 + 39 = 23 +48 + 40 = 24 +48 + 41 = 25 +48 + 42 = 26 +48 + 43 = 27 +48 + 44 = 28 +48 + 45 = 29 +48 + 46 = 30 +48 + 47 = 31 +48 + 48 = 32 +48 + 49 = 33 +48 + 50 = 34 +48 + 51 = 35 +48 + 52 = 36 +48 + 53 = 37 +48 + 54 = 38 +48 + 55 = 39 +48 + 56 = 40 +48 + 57 = 41 +48 + 58 = 42 +48 + 59 = 43 +48 + 60 = 44 +48 + 61 = 45 +48 + 62 = 46 +48 + 63 = 47 +49 + 0 = 49 +49 + 1 = 50 +49 + 2 = 51 +49 + 3 = 52 +49 + 4 = 53 +49 + 5 = 54 +49 + 6 = 55 +49 + 7 = 56 +49 + 8 = 57 +49 + 9 = 58 +49 + 10 = 59 +49 + 11 = 60 +49 + 12 = 61 +49 + 13 = 62 +49 + 14 = 63 +49 + 15 = 0 +49 + 16 = 1 +49 + 17 = 2 +49 + 18 = 3 +49 + 19 = 4 +49 + 20 = 5 +49 + 21 = 6 +49 + 22 = 7 +49 + 23 = 8 +49 + 24 = 9 +49 + 25 = 10 +49 + 26 = 11 +49 + 27 = 12 +49 + 28 = 13 +49 + 29 = 14 +49 + 30 = 15 +49 + 31 = 16 +49 + 32 = 17 +49 + 33 = 18 +49 + 34 = 19 +49 + 35 = 20 +49 + 36 = 21 +49 + 37 = 22 +49 + 38 = 23 +49 + 39 = 24 +49 + 40 = 25 +49 + 41 = 26 +49 + 42 = 27 +49 + 43 = 28 +49 + 44 = 29 +49 + 45 = 30 +49 + 46 = 31 +49 + 47 = 32 +49 + 48 = 33 +49 + 49 = 34 +49 + 50 = 35 +49 + 51 = 36 +49 + 52 = 37 +49 + 53 = 38 +49 + 54 = 39 +49 + 55 = 40 +49 + 56 = 41 +49 + 57 = 42 +49 + 58 = 43 +49 + 59 = 44 +49 + 60 = 45 +49 + 61 = 46 +49 + 62 = 47 +49 + 63 = 48 +50 + 0 = 50 +50 + 1 = 51 +50 + 2 = 52 +50 + 3 = 53 +50 + 4 = 54 +50 + 5 = 55 +50 + 6 = 56 +50 + 7 = 57 +50 + 8 = 58 +50 + 9 = 59 +50 + 10 = 60 +50 + 11 = 61 +50 + 12 = 62 +50 + 13 = 63 +50 + 14 = 0 +50 + 15 = 1 +50 + 16 = 2 +50 + 17 = 3 +50 + 18 = 4 +50 + 19 = 5 +50 + 20 = 6 +50 + 21 = 7 +50 + 22 = 8 +50 + 23 = 9 +50 + 24 = 10 +50 + 25 = 11 +50 + 26 = 12 +50 + 27 = 13 +50 + 28 = 14 +50 + 29 = 15 +50 + 30 = 16 +50 + 31 = 17 +50 + 32 = 18 +50 + 33 = 19 +50 + 34 = 20 +50 + 35 = 21 +50 + 36 = 22 +50 + 37 = 23 +50 + 38 = 24 +50 + 39 = 25 +50 + 40 = 26 +50 + 41 = 27 +50 + 42 = 28 +50 + 43 = 29 +50 + 44 = 30 +50 + 45 = 31 +50 + 46 = 32 +50 + 47 = 33 +50 + 48 = 34 +50 + 49 = 35 +50 + 50 = 36 +50 + 51 = 37 +50 + 52 = 38 +50 + 53 = 39 +50 + 54 = 40 +50 + 55 = 41 +50 + 56 = 42 +50 + 57 = 43 +50 + 58 = 44 +50 + 59 = 45 +50 + 60 = 46 +50 + 61 = 47 +50 + 62 = 48 +50 + 63 = 49 +51 + 0 = 51 +51 + 1 = 52 +51 + 2 = 53 +51 + 3 = 54 +51 + 4 = 55 +51 + 5 = 56 +51 + 6 = 57 +51 + 7 = 58 +51 + 8 = 59 +51 + 9 = 60 +51 + 10 = 61 +51 + 11 = 62 +51 + 12 = 63 +51 + 13 = 0 +51 + 14 = 1 +51 + 15 = 2 +51 + 16 = 3 +51 + 17 = 4 +51 + 18 = 5 +51 + 19 = 6 +51 + 20 = 7 +51 + 21 = 8 +51 + 22 = 9 +51 + 23 = 10 +51 + 24 = 11 +51 + 25 = 12 +51 + 26 = 13 +51 + 27 = 14 +51 + 28 = 15 +51 + 29 = 16 +51 + 30 = 17 +51 + 31 = 18 +51 + 32 = 19 +51 + 33 = 20 +51 + 34 = 21 +51 + 35 = 22 +51 + 36 = 23 +51 + 37 = 24 +51 + 38 = 25 +51 + 39 = 26 +51 + 40 = 27 +51 + 41 = 28 +51 + 42 = 29 +51 + 43 = 30 +51 + 44 = 31 +51 + 45 = 32 +51 + 46 = 33 +51 + 47 = 34 +51 + 48 = 35 +51 + 49 = 36 +51 + 50 = 37 +51 + 51 = 38 +51 + 52 = 39 +51 + 53 = 40 +51 + 54 = 41 +51 + 55 = 42 +51 + 56 = 43 +51 + 57 = 44 +51 + 58 = 45 +51 + 59 = 46 +51 + 60 = 47 +51 + 61 = 48 +51 + 62 = 49 +51 + 63 = 50 +52 + 0 = 52 +52 + 1 = 53 +52 + 2 = 54 +52 + 3 = 55 +52 + 4 = 56 +52 + 5 = 57 +52 + 6 = 58 +52 + 7 = 59 +52 + 8 = 60 +52 + 9 = 61 +52 + 10 = 62 +52 + 11 = 63 +52 + 12 = 0 +52 + 13 = 1 +52 + 14 = 2 +52 + 15 = 3 +52 + 16 = 4 +52 + 17 = 5 +52 + 18 = 6 +52 + 19 = 7 +52 + 20 = 8 +52 + 21 = 9 +52 + 22 = 10 +52 + 23 = 11 +52 + 24 = 12 +52 + 25 = 13 +52 + 26 = 14 +52 + 27 = 15 +52 + 28 = 16 +52 + 29 = 17 +52 + 30 = 18 +52 + 31 = 19 +52 + 32 = 20 +52 + 33 = 21 +52 + 34 = 22 +52 + 35 = 23 +52 + 36 = 24 +52 + 37 = 25 +52 + 38 = 26 +52 + 39 = 27 +52 + 40 = 28 +52 + 41 = 29 +52 + 42 = 30 +52 + 43 = 31 +52 + 44 = 32 +52 + 45 = 33 +52 + 46 = 34 +52 + 47 = 35 +52 + 48 = 36 +52 + 49 = 37 +52 + 50 = 38 +52 + 51 = 39 +52 + 52 = 40 +52 + 53 = 41 +52 + 54 = 42 +52 + 55 = 43 +52 + 56 = 44 +52 + 57 = 45 +52 + 58 = 46 +52 + 59 = 47 +52 + 60 = 48 +52 + 61 = 49 +52 + 62 = 50 +52 + 63 = 51 +53 + 0 = 53 +53 + 1 = 54 +53 + 2 = 55 +53 + 3 = 56 +53 + 4 = 57 +53 + 5 = 58 +53 + 6 = 59 +53 + 7 = 60 +53 + 8 = 61 +53 + 9 = 62 +53 + 10 = 63 +53 + 11 = 0 +53 + 12 = 1 +53 + 13 = 2 +53 + 14 = 3 +53 + 15 = 4 +53 + 16 = 5 +53 + 17 = 6 +53 + 18 = 7 +53 + 19 = 8 +53 + 20 = 9 +53 + 21 = 10 +53 + 22 = 11 +53 + 23 = 12 +53 + 24 = 13 +53 + 25 = 14 +53 + 26 = 15 +53 + 27 = 16 +53 + 28 = 17 +53 + 29 = 18 +53 + 30 = 19 +53 + 31 = 20 +53 + 32 = 21 +53 + 33 = 22 +53 + 34 = 23 +53 + 35 = 24 +53 + 36 = 25 +53 + 37 = 26 +53 + 38 = 27 +53 + 39 = 28 +53 + 40 = 29 +53 + 41 = 30 +53 + 42 = 31 +53 + 43 = 32 +53 + 44 = 33 +53 + 45 = 34 +53 + 46 = 35 +53 + 47 = 36 +53 + 48 = 37 +53 + 49 = 38 +53 + 50 = 39 +53 + 51 = 40 +53 + 52 = 41 +53 + 53 = 42 +53 + 54 = 43 +53 + 55 = 44 +53 + 56 = 45 +53 + 57 = 46 +53 + 58 = 47 +53 + 59 = 48 +53 + 60 = 49 +53 + 61 = 50 +53 + 62 = 51 +53 + 63 = 52 +54 + 0 = 54 +54 + 1 = 55 +54 + 2 = 56 +54 + 3 = 57 +54 + 4 = 58 +54 + 5 = 59 +54 + 6 = 60 +54 + 7 = 61 +54 + 8 = 62 +54 + 9 = 63 +54 + 10 = 0 +54 + 11 = 1 +54 + 12 = 2 +54 + 13 = 3 +54 + 14 = 4 +54 + 15 = 5 +54 + 16 = 6 +54 + 17 = 7 +54 + 18 = 8 +54 + 19 = 9 +54 + 20 = 10 +54 + 21 = 11 +54 + 22 = 12 +54 + 23 = 13 +54 + 24 = 14 +54 + 25 = 15 +54 + 26 = 16 +54 + 27 = 17 +54 + 28 = 18 +54 + 29 = 19 +54 + 30 = 20 +54 + 31 = 21 +54 + 32 = 22 +54 + 33 = 23 +54 + 34 = 24 +54 + 35 = 25 +54 + 36 = 26 +54 + 37 = 27 +54 + 38 = 28 +54 + 39 = 29 +54 + 40 = 30 +54 + 41 = 31 +54 + 42 = 32 +54 + 43 = 33 +54 + 44 = 34 +54 + 45 = 35 +54 + 46 = 36 +54 + 47 = 37 +54 + 48 = 38 +54 + 49 = 39 +54 + 50 = 40 +54 + 51 = 41 +54 + 52 = 42 +54 + 53 = 43 +54 + 54 = 44 +54 + 55 = 45 +54 + 56 = 46 +54 + 57 = 47 +54 + 58 = 48 +54 + 59 = 49 +54 + 60 = 50 +54 + 61 = 51 +54 + 62 = 52 +54 + 63 = 53 +55 + 0 = 55 +55 + 1 = 56 +55 + 2 = 57 +55 + 3 = 58 +55 + 4 = 59 +55 + 5 = 60 +55 + 6 = 61 +55 + 7 = 62 +55 + 8 = 63 +55 + 9 = 0 +55 + 10 = 1 +55 + 11 = 2 +55 + 12 = 3 +55 + 13 = 4 +55 + 14 = 5 +55 + 15 = 6 +55 + 16 = 7 +55 + 17 = 8 +55 + 18 = 9 +55 + 19 = 10 +55 + 20 = 11 +55 + 21 = 12 +55 + 22 = 13 +55 + 23 = 14 +55 + 24 = 15 +55 + 25 = 16 +55 + 26 = 17 +55 + 27 = 18 +55 + 28 = 19 +55 + 29 = 20 +55 + 30 = 21 +55 + 31 = 22 +55 + 32 = 23 +55 + 33 = 24 +55 + 34 = 25 +55 + 35 = 26 +55 + 36 = 27 +55 + 37 = 28 +55 + 38 = 29 +55 + 39 = 30 +55 + 40 = 31 +55 + 41 = 32 +55 + 42 = 33 +55 + 43 = 34 +55 + 44 = 35 +55 + 45 = 36 +55 + 46 = 37 +55 + 47 = 38 +55 + 48 = 39 +55 + 49 = 40 +55 + 50 = 41 +55 + 51 = 42 +55 + 52 = 43 +55 + 53 = 44 +55 + 54 = 45 +55 + 55 = 46 +55 + 56 = 47 +55 + 57 = 48 +55 + 58 = 49 +55 + 59 = 50 +55 + 60 = 51 +55 + 61 = 52 +55 + 62 = 53 +55 + 63 = 54 +56 + 0 = 56 +56 + 1 = 57 +56 + 2 = 58 +56 + 3 = 59 +56 + 4 = 60 +56 + 5 = 61 +56 + 6 = 62 +56 + 7 = 63 +56 + 8 = 0 +56 + 9 = 1 +56 + 10 = 2 +56 + 11 = 3 +56 + 12 = 4 +56 + 13 = 5 +56 + 14 = 6 +56 + 15 = 7 +56 + 16 = 8 +56 + 17 = 9 +56 + 18 = 10 +56 + 19 = 11 +56 + 20 = 12 +56 + 21 = 13 +56 + 22 = 14 +56 + 23 = 15 +56 + 24 = 16 +56 + 25 = 17 +56 + 26 = 18 +56 + 27 = 19 +56 + 28 = 20 +56 + 29 = 21 +56 + 30 = 22 +56 + 31 = 23 +56 + 32 = 24 +56 + 33 = 25 +56 + 34 = 26 +56 + 35 = 27 +56 + 36 = 28 +56 + 37 = 29 +56 + 38 = 30 +56 + 39 = 31 +56 + 40 = 32 +56 + 41 = 33 +56 + 42 = 34 +56 + 43 = 35 +56 + 44 = 36 +56 + 45 = 37 +56 + 46 = 38 +56 + 47 = 39 +56 + 48 = 40 +56 + 49 = 41 +56 + 50 = 42 +56 + 51 = 43 +56 + 52 = 44 +56 + 53 = 45 +56 + 54 = 46 +56 + 55 = 47 +56 + 56 = 48 +56 + 57 = 49 +56 + 58 = 50 +56 + 59 = 51 +56 + 60 = 52 +56 + 61 = 53 +56 + 62 = 54 +56 + 63 = 55 +57 + 0 = 57 +57 + 1 = 58 +57 + 2 = 59 +57 + 3 = 60 +57 + 4 = 61 +57 + 5 = 62 +57 + 6 = 63 +57 + 7 = 0 +57 + 8 = 1 +57 + 9 = 2 +57 + 10 = 3 +57 + 11 = 4 +57 + 12 = 5 +57 + 13 = 6 +57 + 14 = 7 +57 + 15 = 8 +57 + 16 = 9 +57 + 17 = 10 +57 + 18 = 11 +57 + 19 = 12 +57 + 20 = 13 +57 + 21 = 14 +57 + 22 = 15 +57 + 23 = 16 +57 + 24 = 17 +57 + 25 = 18 +57 + 26 = 19 +57 + 27 = 20 +57 + 28 = 21 +57 + 29 = 22 +57 + 30 = 23 +57 + 31 = 24 +57 + 32 = 25 +57 + 33 = 26 +57 + 34 = 27 +57 + 35 = 28 +57 + 36 = 29 +57 + 37 = 30 +57 + 38 = 31 +57 + 39 = 32 +57 + 40 = 33 +57 + 41 = 34 +57 + 42 = 35 +57 + 43 = 36 +57 + 44 = 37 +57 + 45 = 38 +57 + 46 = 39 +57 + 47 = 40 +57 + 48 = 41 +57 + 49 = 42 +57 + 50 = 43 +57 + 51 = 44 +57 + 52 = 45 +57 + 53 = 46 +57 + 54 = 47 +57 + 55 = 48 +57 + 56 = 49 +57 + 57 = 50 +57 + 58 = 51 +57 + 59 = 52 +57 + 60 = 53 +57 + 61 = 54 +57 + 62 = 55 +57 + 63 = 56 +58 + 0 = 58 +58 + 1 = 59 +58 + 2 = 60 +58 + 3 = 61 +58 + 4 = 62 +58 + 5 = 63 +58 + 6 = 0 +58 + 7 = 1 +58 + 8 = 2 +58 + 9 = 3 +58 + 10 = 4 +58 + 11 = 5 +58 + 12 = 6 +58 + 13 = 7 +58 + 14 = 8 +58 + 15 = 9 +58 + 16 = 10 +58 + 17 = 11 +58 + 18 = 12 +58 + 19 = 13 +58 + 20 = 14 +58 + 21 = 15 +58 + 22 = 16 +58 + 23 = 17 +58 + 24 = 18 +58 + 25 = 19 +58 + 26 = 20 +58 + 27 = 21 +58 + 28 = 22 +58 + 29 = 23 +58 + 30 = 24 +58 + 31 = 25 +58 + 32 = 26 +58 + 33 = 27 +58 + 34 = 28 +58 + 35 = 29 +58 + 36 = 30 +58 + 37 = 31 +58 + 38 = 32 +58 + 39 = 33 +58 + 40 = 34 +58 + 41 = 35 +58 + 42 = 36 +58 + 43 = 37 +58 + 44 = 38 +58 + 45 = 39 +58 + 46 = 40 +58 + 47 = 41 +58 + 48 = 42 +58 + 49 = 43 +58 + 50 = 44 +58 + 51 = 45 +58 + 52 = 46 +58 + 53 = 47 +58 + 54 = 48 +58 + 55 = 49 +58 + 56 = 50 +58 + 57 = 51 +58 + 58 = 52 +58 + 59 = 53 +58 + 60 = 54 +58 + 61 = 55 +58 + 62 = 56 +58 + 63 = 57 +59 + 0 = 59 +59 + 1 = 60 +59 + 2 = 61 +59 + 3 = 62 +59 + 4 = 63 +59 + 5 = 0 +59 + 6 = 1 +59 + 7 = 2 +59 + 8 = 3 +59 + 9 = 4 +59 + 10 = 5 +59 + 11 = 6 +59 + 12 = 7 +59 + 13 = 8 +59 + 14 = 9 +59 + 15 = 10 +59 + 16 = 11 +59 + 17 = 12 +59 + 18 = 13 +59 + 19 = 14 +59 + 20 = 15 +59 + 21 = 16 +59 + 22 = 17 +59 + 23 = 18 +59 + 24 = 19 +59 + 25 = 20 +59 + 26 = 21 +59 + 27 = 22 +59 + 28 = 23 +59 + 29 = 24 +59 + 30 = 25 +59 + 31 = 26 +59 + 32 = 27 +59 + 33 = 28 +59 + 34 = 29 +59 + 35 = 30 +59 + 36 = 31 +59 + 37 = 32 +59 + 38 = 33 +59 + 39 = 34 +59 + 40 = 35 +59 + 41 = 36 +59 + 42 = 37 +59 + 43 = 38 +59 + 44 = 39 +59 + 45 = 40 +59 + 46 = 41 +59 + 47 = 42 +59 + 48 = 43 +59 + 49 = 44 +59 + 50 = 45 +59 + 51 = 46 +59 + 52 = 47 +59 + 53 = 48 +59 + 54 = 49 +59 + 55 = 50 +59 + 56 = 51 +59 + 57 = 52 +59 + 58 = 53 +59 + 59 = 54 +59 + 60 = 55 +59 + 61 = 56 +59 + 62 = 57 +59 + 63 = 58 +60 + 0 = 60 +60 + 1 = 61 +60 + 2 = 62 +60 + 3 = 63 +60 + 4 = 0 +60 + 5 = 1 +60 + 6 = 2 +60 + 7 = 3 +60 + 8 = 4 +60 + 9 = 5 +60 + 10 = 6 +60 + 11 = 7 +60 + 12 = 8 +60 + 13 = 9 +60 + 14 = 10 +60 + 15 = 11 +60 + 16 = 12 +60 + 17 = 13 +60 + 18 = 14 +60 + 19 = 15 +60 + 20 = 16 +60 + 21 = 17 +60 + 22 = 18 +60 + 23 = 19 +60 + 24 = 20 +60 + 25 = 21 +60 + 26 = 22 +60 + 27 = 23 +60 + 28 = 24 +60 + 29 = 25 +60 + 30 = 26 +60 + 31 = 27 +60 + 32 = 28 +60 + 33 = 29 +60 + 34 = 30 +60 + 35 = 31 +60 + 36 = 32 +60 + 37 = 33 +60 + 38 = 34 +60 + 39 = 35 +60 + 40 = 36 +60 + 41 = 37 +60 + 42 = 38 +60 + 43 = 39 +60 + 44 = 40 +60 + 45 = 41 +60 + 46 = 42 +60 + 47 = 43 +60 + 48 = 44 +60 + 49 = 45 +60 + 50 = 46 +60 + 51 = 47 +60 + 52 = 48 +60 + 53 = 49 +60 + 54 = 50 +60 + 55 = 51 +60 + 56 = 52 +60 + 57 = 53 +60 + 58 = 54 +60 + 59 = 55 +60 + 60 = 56 +60 + 61 = 57 +60 + 62 = 58 +60 + 63 = 59 +61 + 0 = 61 +61 + 1 = 62 +61 + 2 = 63 +61 + 3 = 0 +61 + 4 = 1 +61 + 5 = 2 +61 + 6 = 3 +61 + 7 = 4 +61 + 8 = 5 +61 + 9 = 6 +61 + 10 = 7 +61 + 11 = 8 +61 + 12 = 9 +61 + 13 = 10 +61 + 14 = 11 +61 + 15 = 12 +61 + 16 = 13 +61 + 17 = 14 +61 + 18 = 15 +61 + 19 = 16 +61 + 20 = 17 +61 + 21 = 18 +61 + 22 = 19 +61 + 23 = 20 +61 + 24 = 21 +61 + 25 = 22 +61 + 26 = 23 +61 + 27 = 24 +61 + 28 = 25 +61 + 29 = 26 +61 + 30 = 27 +61 + 31 = 28 +61 + 32 = 29 +61 + 33 = 30 +61 + 34 = 31 +61 + 35 = 32 +61 + 36 = 33 +61 + 37 = 34 +61 + 38 = 35 +61 + 39 = 36 +61 + 40 = 37 +61 + 41 = 38 +61 + 42 = 39 +61 + 43 = 40 +61 + 44 = 41 +61 + 45 = 42 +61 + 46 = 43 +61 + 47 = 44 +61 + 48 = 45 +61 + 49 = 46 +61 + 50 = 47 +61 + 51 = 48 +61 + 52 = 49 +61 + 53 = 50 +61 + 54 = 51 +61 + 55 = 52 +61 + 56 = 53 +61 + 57 = 54 +61 + 58 = 55 +61 + 59 = 56 +61 + 60 = 57 +61 + 61 = 58 +61 + 62 = 59 +61 + 63 = 60 +62 + 0 = 62 +62 + 1 = 63 +62 + 2 = 0 +62 + 3 = 1 +62 + 4 = 2 +62 + 5 = 3 +62 + 6 = 4 +62 + 7 = 5 +62 + 8 = 6 +62 + 9 = 7 +62 + 10 = 8 +62 + 11 = 9 +62 + 12 = 10 +62 + 13 = 11 +62 + 14 = 12 +62 + 15 = 13 +62 + 16 = 14 +62 + 17 = 15 +62 + 18 = 16 +62 + 19 = 17 +62 + 20 = 18 +62 + 21 = 19 +62 + 22 = 20 +62 + 23 = 21 +62 + 24 = 22 +62 + 25 = 23 +62 + 26 = 24 +62 + 27 = 25 +62 + 28 = 26 +62 + 29 = 27 +62 + 30 = 28 +62 + 31 = 29 +62 + 32 = 30 +62 + 33 = 31 +62 + 34 = 32 +62 + 35 = 33 +62 + 36 = 34 +62 + 37 = 35 +62 + 38 = 36 +62 + 39 = 37 +62 + 40 = 38 +62 + 41 = 39 +62 + 42 = 40 +62 + 43 = 41 +62 + 44 = 42 +62 + 45 = 43 +62 + 46 = 44 +62 + 47 = 45 +62 + 48 = 46 +62 + 49 = 47 +62 + 50 = 48 +62 + 51 = 49 +62 + 52 = 50 +62 + 53 = 51 +62 + 54 = 52 +62 + 55 = 53 +62 + 56 = 54 +62 + 57 = 55 +62 + 58 = 56 +62 + 59 = 57 +62 + 60 = 58 +62 + 61 = 59 +62 + 62 = 60 +62 + 63 = 61 +63 + 0 = 63 +63 + 1 = 0 +63 + 2 = 1 +63 + 3 = 2 +63 + 4 = 3 +63 + 5 = 4 +63 + 6 = 5 +63 + 7 = 6 +63 + 8 = 7 +63 + 9 = 8 +63 + 10 = 9 +63 + 11 = 10 +63 + 12 = 11 +63 + 13 = 12 +63 + 14 = 13 +63 + 15 = 14 +63 + 16 = 15 +63 + 17 = 16 +63 + 18 = 17 +63 + 19 = 18 +63 + 20 = 19 +63 + 21 = 20 +63 + 22 = 21 +63 + 23 = 22 +63 + 24 = 23 +63 + 25 = 24 +63 + 26 = 25 +63 + 27 = 26 +63 + 28 = 27 +63 + 29 = 28 +63 + 30 = 29 +63 + 31 = 30 +63 + 32 = 31 +63 + 33 = 32 +63 + 34 = 33 +63 + 35 = 34 +63 + 36 = 35 +63 + 37 = 36 +63 + 38 = 37 +63 + 39 = 38 +63 + 40 = 39 +63 + 41 = 40 +63 + 42 = 41 +63 + 43 = 42 +63 + 44 = 43 +63 + 45 = 44 +63 + 46 = 45 +63 + 47 = 46 +63 + 48 = 47 +63 + 49 = 48 +63 + 50 = 49 +63 + 51 = 50 +63 + 52 = 51 +63 + 53 = 52 +63 + 54 = 53 +63 + 55 = 54 +63 + 56 = 55 +63 + 57 = 56 +63 + 58 = 57 +63 + 59 = 58 +63 + 60 = 59 +63 + 61 = 60 +63 + 62 = 61 +63 + 63 = 62 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/main.cpp new file mode 100644 index 000000000..8fc9415da --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/main.cpp @@ -0,0 +1,79 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /******************************************/ + /* Main Filename: main.cc */ + /******************************************/ + /* */ + /* 7-bit bool = 6-bit bool + 6-bit bool */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /* This example adds the two 6-bit */ + /* numbers and then promotes the result */ + /* to 7-bits before assigned to the */ + /* output */ + /* */ + /* This matches C semantics. */ + /* */ + /******************************************/ + + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + sc_signal_bool_vector6 in1 ("in1"); + sc_signal_bool_vector6 in2 ("in2"); + sc_signal_bool_vector7 result ("result"); + sc_signal ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.cpp new file mode 100644 index 000000000..6c8c0a149 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read().to_uint() << " + " << in2.read().to_uint() + << " = " << result.read().to_uint() << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.h new file mode 100644 index 000000000..d9f04847f --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/add_promote/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const sc_signal_bool_vector7& result; + // Outputs + sc_signal_bool_vector6& in1 ; + sc_signal_bool_vector6& in2 ; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const sc_signal_bool_vector7& RESULT, + sc_signal_bool_vector6& IN1, + sc_signal_bool_vector6& IN2, + sc_signal& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.cpp b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.cpp new file mode 100644 index 000000000..b8ea63ebc --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.cpp @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + array_range.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: array_range.cc */ + /*******************************************/ + +#include "array_range.h" + +void +array_range::entry() +{ + bool_vector8 a; + bool_vector4 b; + bool_vector4 c; + bool_vector8 d; + bool_vector8 e; + bool_vector8 f; + // bool_vector0 nullbv; // Null vector to make scalar concat work + + wait(); + + a = in1.read(); + + b = a.range(7,4); c = a.range(3,0); // sub vectors + + d = a.range(0,7); // bit reverse + + // e = (nullbv, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]); + e = (a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]); + // bit reverse concat + + f = (a.range(3,1), a.range(7,6), a[0], a.range(4,5)); // shuffle + + o1.write(b); + o2.write(c); + o3.write(d); + o4.write(e); + o5.write(f); + + wait(); + +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.f b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.f new file mode 100644 index 000000000..4eb297dac --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.f @@ -0,0 +1,3 @@ +array_range/array_range.cpp +array_range/stimgen.cpp +array_range/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.h b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.h new file mode 100644 index 000000000..e4916ca3e --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/array_range.h @@ -0,0 +1,83 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + array_range.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: array_range.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( array_range ) +{ + SC_HAS_PROCESS( array_range ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector8& in1; + // Outputs + signal_bool_vector4& o1; + signal_bool_vector4& o2; + signal_bool_vector8& o3; + signal_bool_vector8& o4; + signal_bool_vector8& o5; + + // Constructor + array_range (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector8& IN1, + signal_bool_vector4& O1, + signal_bool_vector4& O2, + signal_bool_vector8& O3, + signal_bool_vector8& O4, + signal_bool_vector8& O5 ) + + : + in1 (IN1), + o1 (O1), + o2 (O2), + o3 (O3), + o4 (O4), + o5 (O5) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/common.h b/src/systemc/tests/systemc/misc/unit/data/general/array_range/common.h new file mode 100644 index 000000000..9e4b1fea5 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/common.h @@ -0,0 +1,49 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<0> bool_vector0; +typedef sc_bv<4> bool_vector4; +typedef sc_bv<8> bool_vector8; +typedef sc_signal signal_bool_vector4; +typedef sc_signal signal_bool_vector8; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/golden/array_range.log b/src/systemc/tests/systemc/misc/unit/data/general/array_range/golden/array_range.log new file mode 100644 index 000000000..deac0cd85 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/golden/array_range.log @@ -0,0 +1,8 @@ +SystemC Simulation +IN1 = 01011001 +O1 = 0101 O2 = 1001 +O3 = 10011010 +O4 = 10011010 +O5 = 10001110 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/array_range/main.cpp new file mode 100644 index 000000000..70be37a8c --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/main.cpp @@ -0,0 +1,67 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /***************************************/ + /* Main Filename: main.cc */ + /***************************************/ + +#include "array_range.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + signal_bool_vector8 in1 ("in1"); + signal_bool_vector4 o1 ("o1"); + signal_bool_vector4 o2 ("o2"); + signal_bool_vector8 o3 ("o3"); + signal_bool_vector8 o4 ("o4"); + signal_bool_vector8 o5 ("o5"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + array_range D1 ("D1", clk, in1, o1, o2, o3, o4, o5); + + stimgen T1 ("T1", clk, o1, o2, o3, o4, o5, in1); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.cpp new file mode 100644 index 000000000..54c05bc4f --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.cpp @@ -0,0 +1,61 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: stimgen.cc */ + /*******************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + bool_vector8 d; + +// in1.write("0101_1001"); + in1.write("01011001"); + wait(2); + + cout << "IN1 = " << in1.read() << endl; + cout << "O1 = " << o1.read() + << " O2 = " << o2.read() << endl; + cout << "O3 = " << o3.read() << endl; + cout << "O4 = " << o4.read() << endl; + cout << "O5 = " << o5.read() << endl; + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.h new file mode 100644 index 000000000..17244bc5e --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/array_range/stimgen.h @@ -0,0 +1,83 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: stimgen.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector4& o1; + const signal_bool_vector4& o2; + const signal_bool_vector8& o3; + const signal_bool_vector8& o4; + const signal_bool_vector8& o5; + // Outputs + signal_bool_vector8& in1; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector4& O1, + const signal_bool_vector4& O2, + const signal_bool_vector8& O3, + const signal_bool_vector8& O4, + const signal_bool_vector8& O5, + signal_bool_vector8& IN1 ) + + : + o1 (O1), + o2 (O2), + o3 (O3), + o4 (O4), + o5 (O5), + in1 (IN1) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/bool_tilda.cpp b/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/bool_tilda.cpp new file mode 100644 index 000000000..8961fb34e --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/bool_tilda.cpp @@ -0,0 +1,63 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + bool_tilda.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int sc_main(int ac, char *av[]) +{ + + bool value1 = 1; + bool value0 = 0; + + bool a; + bool b; + bool c; + bool d; + + a = !value1; + b = !value0; + c = ~value1; + d = ~value0; + + cout << "\n a = " << a << " (!1)" + << "\n b = " << b << " (!0)" + << "\n c = " << c << " (~1)" + << "\n d = " << d << " (~0)" + << endl; + sc_start(0, SC_NS); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/golden/bool_tilda.log b/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/golden/bool_tilda.log new file mode 100644 index 000000000..e38c9930c --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/bool_tilda/golden/bool_tilda.log @@ -0,0 +1,6 @@ +SystemC Simulation + + a = 0 (!1) + b = 1 (!0) + c = 1 (~1) + d = 1 (~0) diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/common.h b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/common.h new file mode 100644 index 000000000..0f0b2b812 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/common.h @@ -0,0 +1,48 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<8> bool_vector8; +typedef sc_bv<16> bool_vector16; +typedef sc_signal signal_bool_vector8; +typedef sc_signal signal_bool_vector16; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.cpp b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.cpp new file mode 100644 index 000000000..b3ac6f5c1 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.cpp @@ -0,0 +1,85 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + concat_port.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*********************************************/ + /* Implementation Filename: concat_port.cc */ + /*********************************************/ + +#include "concat_port.h" + +void +concat_port::entry() +{ + bool_vector8 tmp_a; + bool_vector8 tmp_b; + + while (true) { + + done.write(0); + do { wait(); } while (ready != 1); + + tmp_a = a.read(); + tmp_b = b.read(); + + switch (mode.read()) { + + case 0: c.write( (tmp_a.range(7,4), tmp_b.range(7,4)) ); + d.write( (tmp_a, tmp_b) ); + break; + + case 1: c.write( (tmp_a.range(0,7)) ); + d.write( (tmp_a.range(0,7), tmp_b.range(0,7)) ); + break; + + case 2: c.write( (tmp_a[0], tmp_b.range(1,4), tmp_a.range(7,5)) ); + d.write( (tmp_a.range(7,4), tmp_b.range(7,4), + tmp_a.range(3,0), tmp_b.range(3,0)) ); + break; + + case 3: c.write( ("1", tmp_b.range(2,0), "0", tmp_a.range(2,0)) ); + d.write( ("11", tmp_a.range(6,0), tmp_b.range(6,0)) ); + break; + + default: cout << "Error: Mode " << mode.read() + << " does not exist!" << endl; + break; + + } + done.write(1); + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.f b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.f new file mode 100644 index 000000000..0b1d172ff --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.f @@ -0,0 +1,3 @@ +concat_port/concat_port.cpp +concat_port/stimgen.cpp +concat_port/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.h b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.h new file mode 100644 index 000000000..155c4cbed --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/concat_port.h @@ -0,0 +1,86 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + concat_port.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: concat_port.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( concat_port ) +{ + SC_HAS_PROCESS( concat_port ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector8& a; + const signal_bool_vector8& b; + const sc_signal& mode; + const sc_signal& ready; + // Outputs + signal_bool_vector8& c; + signal_bool_vector16& d; + sc_signal& done; + + // Constructor + concat_port (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector8& A, + const signal_bool_vector8& B, + const sc_signal& MODE, + const sc_signal& READY, + signal_bool_vector8& C, + signal_bool_vector16& D, + sc_signal& DONE ) + + : + a (A), + b (B), + mode (MODE), + ready (READY), + c (C), + d (D), + done (DONE) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/golden/concat_port.log b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/golden/concat_port.log new file mode 100644 index 000000000..c3569520e --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/golden/concat_port.log @@ -0,0 +1,11 @@ +SystemC Simulation +a = 01010101 b = 11110000 mode = 0 + c = 01011111 d = 0101010111110000 +a = 01010101 b = 11110000 mode = 1 + c = 10101010 d = 1010101000001111 +a = 01010101 b = 11110000 mode = 2 + c = 10001010 d = 0101111101010000 +a = 01010101 b = 11110000 mode = 3 + c = 10000101 d = 1110101011110000 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/main.cpp new file mode 100644 index 000000000..13603f8de --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/main.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /***************************************/ + /* Main Filename: main.cc */ + /***************************************/ + +#include "concat_port.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + signal_bool_vector8 a ("a"); + signal_bool_vector8 b ("b"); + signal_bool_vector8 c ("c"); + signal_bool_vector16 d ("d"); + sc_signal mode ("mode"); + sc_signal ready ("ready"); + sc_signal done ("done"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + concat_port D1 ("D1", clk, a, b, mode, ready, c, d, done); + + stimgen T1 ("T1", clk, c, d, done, a, b, mode, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.cpp new file mode 100644 index 000000000..cfd9e7a6c --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.cpp @@ -0,0 +1,66 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: stimgen.cc */ + /*******************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + ready.write(0); + wait(); + + a.write("01010101"); + b.write("11110000"); + ready.write(1); + + for (int i=0; i < 4; i++) { + mode.write(i); + wait(); + cout << "a = " << a << " b = " << b << " mode = " << mode << endl; + do { wait(); } while (done != 1); + cout << "\t c = " << c << " d = " << d << endl; + } + + ready.write(0); + wait(); + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.h new file mode 100644 index 000000000..d0b43049a --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/concat_port/stimgen.h @@ -0,0 +1,86 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: stimgen.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const signal_bool_vector8& c; + const signal_bool_vector16& d; + const sc_signal& done; + // Outputs + signal_bool_vector8& a; + signal_bool_vector8& b; + sc_signal& mode; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const signal_bool_vector8& C, + const signal_bool_vector16& D, + const sc_signal& DONE, + signal_bool_vector8& A, + signal_bool_vector8& B, + sc_signal& MODE, + sc_signal& READY ) + + : + c (C), + d (D), + done (DONE), + a (A), + b (B), + mode (MODE), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.cpp new file mode 100644 index 000000000..efb22e5ef --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.cpp @@ -0,0 +1,65 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + int tmp_a; + int tmp_b; + int tmp_result; + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + tmp_a = in1.read(); + tmp_b = in2.read(); + tmp_result = tmp_a + tmp_b; + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.h new file mode 100644 index 000000000..cb5143447 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "systemc.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const sc_signal& in1; + const sc_signal& in2; + const sc_signal& ready; + // Outputs + sc_signal& result; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const sc_signal& IN1, + const sc_signal& IN2, + const sc_signal& READY, + sc_signal& RESULT ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth_int.f b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth_int.f new file mode 100644 index 000000000..2fdabe5b5 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/datawidth_int.f @@ -0,0 +1,3 @@ +datawidth_int/datawidth.cpp +datawidth_int/stimgen.cpp +datawidth_int/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/golden/datawidth_int.log b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/golden/datawidth_int.log new file mode 100644 index 000000000..b168b0482 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/golden/datawidth_int.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 +0 + 1 = 1 +0 + 2 = 2 +0 + 3 = 3 +0 + 4 = 4 +0 + 5 = 5 +0 + 6 = 6 +0 + 7 = 7 +0 + 8 = 8 +0 + 9 = 9 +0 + 10 = 10 +0 + 11 = 11 +0 + 12 = 12 +0 + 13 = 13 +0 + 14 = 14 +0 + 15 = 15 +0 + 16 = 16 +0 + 17 = 17 +0 + 18 = 18 +0 + 19 = 19 +0 + 20 = 20 +0 + 21 = 21 +0 + 22 = 22 +0 + 23 = 23 +0 + 24 = 24 +0 + 25 = 25 +0 + 26 = 26 +0 + 27 = 27 +0 + 28 = 28 +0 + 29 = 29 +0 + 30 = 30 +0 + 31 = 31 +0 + 32 = 32 +0 + 33 = 33 +0 + 34 = 34 +0 + 35 = 35 +0 + 36 = 36 +0 + 37 = 37 +0 + 38 = 38 +0 + 39 = 39 +0 + 40 = 40 +0 + 41 = 41 +0 + 42 = 42 +0 + 43 = 43 +0 + 44 = 44 +0 + 45 = 45 +0 + 46 = 46 +0 + 47 = 47 +0 + 48 = 48 +0 + 49 = 49 +0 + 50 = 50 +0 + 51 = 51 +0 + 52 = 52 +0 + 53 = 53 +0 + 54 = 54 +0 + 55 = 55 +0 + 56 = 56 +0 + 57 = 57 +0 + 58 = 58 +0 + 59 = 59 +0 + 60 = 60 +0 + 61 = 61 +0 + 62 = 62 +0 + 63 = 63 +1 + 0 = 1 +1 + 1 = 2 +1 + 2 = 3 +1 + 3 = 4 +1 + 4 = 5 +1 + 5 = 6 +1 + 6 = 7 +1 + 7 = 8 +1 + 8 = 9 +1 + 9 = 10 +1 + 10 = 11 +1 + 11 = 12 +1 + 12 = 13 +1 + 13 = 14 +1 + 14 = 15 +1 + 15 = 16 +1 + 16 = 17 +1 + 17 = 18 +1 + 18 = 19 +1 + 19 = 20 +1 + 20 = 21 +1 + 21 = 22 +1 + 22 = 23 +1 + 23 = 24 +1 + 24 = 25 +1 + 25 = 26 +1 + 26 = 27 +1 + 27 = 28 +1 + 28 = 29 +1 + 29 = 30 +1 + 30 = 31 +1 + 31 = 32 +1 + 32 = 33 +1 + 33 = 34 +1 + 34 = 35 +1 + 35 = 36 +1 + 36 = 37 +1 + 37 = 38 +1 + 38 = 39 +1 + 39 = 40 +1 + 40 = 41 +1 + 41 = 42 +1 + 42 = 43 +1 + 43 = 44 +1 + 44 = 45 +1 + 45 = 46 +1 + 46 = 47 +1 + 47 = 48 +1 + 48 = 49 +1 + 49 = 50 +1 + 50 = 51 +1 + 51 = 52 +1 + 52 = 53 +1 + 53 = 54 +1 + 54 = 55 +1 + 55 = 56 +1 + 56 = 57 +1 + 57 = 58 +1 + 58 = 59 +1 + 59 = 60 +1 + 60 = 61 +1 + 61 = 62 +1 + 62 = 63 +1 + 63 = 64 +2 + 0 = 2 +2 + 1 = 3 +2 + 2 = 4 +2 + 3 = 5 +2 + 4 = 6 +2 + 5 = 7 +2 + 6 = 8 +2 + 7 = 9 +2 + 8 = 10 +2 + 9 = 11 +2 + 10 = 12 +2 + 11 = 13 +2 + 12 = 14 +2 + 13 = 15 +2 + 14 = 16 +2 + 15 = 17 +2 + 16 = 18 +2 + 17 = 19 +2 + 18 = 20 +2 + 19 = 21 +2 + 20 = 22 +2 + 21 = 23 +2 + 22 = 24 +2 + 23 = 25 +2 + 24 = 26 +2 + 25 = 27 +2 + 26 = 28 +2 + 27 = 29 +2 + 28 = 30 +2 + 29 = 31 +2 + 30 = 32 +2 + 31 = 33 +2 + 32 = 34 +2 + 33 = 35 +2 + 34 = 36 +2 + 35 = 37 +2 + 36 = 38 +2 + 37 = 39 +2 + 38 = 40 +2 + 39 = 41 +2 + 40 = 42 +2 + 41 = 43 +2 + 42 = 44 +2 + 43 = 45 +2 + 44 = 46 +2 + 45 = 47 +2 + 46 = 48 +2 + 47 = 49 +2 + 48 = 50 +2 + 49 = 51 +2 + 50 = 52 +2 + 51 = 53 +2 + 52 = 54 +2 + 53 = 55 +2 + 54 = 56 +2 + 55 = 57 +2 + 56 = 58 +2 + 57 = 59 +2 + 58 = 60 +2 + 59 = 61 +2 + 60 = 62 +2 + 61 = 63 +2 + 62 = 64 +2 + 63 = 65 +3 + 0 = 3 +3 + 1 = 4 +3 + 2 = 5 +3 + 3 = 6 +3 + 4 = 7 +3 + 5 = 8 +3 + 6 = 9 +3 + 7 = 10 +3 + 8 = 11 +3 + 9 = 12 +3 + 10 = 13 +3 + 11 = 14 +3 + 12 = 15 +3 + 13 = 16 +3 + 14 = 17 +3 + 15 = 18 +3 + 16 = 19 +3 + 17 = 20 +3 + 18 = 21 +3 + 19 = 22 +3 + 20 = 23 +3 + 21 = 24 +3 + 22 = 25 +3 + 23 = 26 +3 + 24 = 27 +3 + 25 = 28 +3 + 26 = 29 +3 + 27 = 30 +3 + 28 = 31 +3 + 29 = 32 +3 + 30 = 33 +3 + 31 = 34 +3 + 32 = 35 +3 + 33 = 36 +3 + 34 = 37 +3 + 35 = 38 +3 + 36 = 39 +3 + 37 = 40 +3 + 38 = 41 +3 + 39 = 42 +3 + 40 = 43 +3 + 41 = 44 +3 + 42 = 45 +3 + 43 = 46 +3 + 44 = 47 +3 + 45 = 48 +3 + 46 = 49 +3 + 47 = 50 +3 + 48 = 51 +3 + 49 = 52 +3 + 50 = 53 +3 + 51 = 54 +3 + 52 = 55 +3 + 53 = 56 +3 + 54 = 57 +3 + 55 = 58 +3 + 56 = 59 +3 + 57 = 60 +3 + 58 = 61 +3 + 59 = 62 +3 + 60 = 63 +3 + 61 = 64 +3 + 62 = 65 +3 + 63 = 66 +4 + 0 = 4 +4 + 1 = 5 +4 + 2 = 6 +4 + 3 = 7 +4 + 4 = 8 +4 + 5 = 9 +4 + 6 = 10 +4 + 7 = 11 +4 + 8 = 12 +4 + 9 = 13 +4 + 10 = 14 +4 + 11 = 15 +4 + 12 = 16 +4 + 13 = 17 +4 + 14 = 18 +4 + 15 = 19 +4 + 16 = 20 +4 + 17 = 21 +4 + 18 = 22 +4 + 19 = 23 +4 + 20 = 24 +4 + 21 = 25 +4 + 22 = 26 +4 + 23 = 27 +4 + 24 = 28 +4 + 25 = 29 +4 + 26 = 30 +4 + 27 = 31 +4 + 28 = 32 +4 + 29 = 33 +4 + 30 = 34 +4 + 31 = 35 +4 + 32 = 36 +4 + 33 = 37 +4 + 34 = 38 +4 + 35 = 39 +4 + 36 = 40 +4 + 37 = 41 +4 + 38 = 42 +4 + 39 = 43 +4 + 40 = 44 +4 + 41 = 45 +4 + 42 = 46 +4 + 43 = 47 +4 + 44 = 48 +4 + 45 = 49 +4 + 46 = 50 +4 + 47 = 51 +4 + 48 = 52 +4 + 49 = 53 +4 + 50 = 54 +4 + 51 = 55 +4 + 52 = 56 +4 + 53 = 57 +4 + 54 = 58 +4 + 55 = 59 +4 + 56 = 60 +4 + 57 = 61 +4 + 58 = 62 +4 + 59 = 63 +4 + 60 = 64 +4 + 61 = 65 +4 + 62 = 66 +4 + 63 = 67 +5 + 0 = 5 +5 + 1 = 6 +5 + 2 = 7 +5 + 3 = 8 +5 + 4 = 9 +5 + 5 = 10 +5 + 6 = 11 +5 + 7 = 12 +5 + 8 = 13 +5 + 9 = 14 +5 + 10 = 15 +5 + 11 = 16 +5 + 12 = 17 +5 + 13 = 18 +5 + 14 = 19 +5 + 15 = 20 +5 + 16 = 21 +5 + 17 = 22 +5 + 18 = 23 +5 + 19 = 24 +5 + 20 = 25 +5 + 21 = 26 +5 + 22 = 27 +5 + 23 = 28 +5 + 24 = 29 +5 + 25 = 30 +5 + 26 = 31 +5 + 27 = 32 +5 + 28 = 33 +5 + 29 = 34 +5 + 30 = 35 +5 + 31 = 36 +5 + 32 = 37 +5 + 33 = 38 +5 + 34 = 39 +5 + 35 = 40 +5 + 36 = 41 +5 + 37 = 42 +5 + 38 = 43 +5 + 39 = 44 +5 + 40 = 45 +5 + 41 = 46 +5 + 42 = 47 +5 + 43 = 48 +5 + 44 = 49 +5 + 45 = 50 +5 + 46 = 51 +5 + 47 = 52 +5 + 48 = 53 +5 + 49 = 54 +5 + 50 = 55 +5 + 51 = 56 +5 + 52 = 57 +5 + 53 = 58 +5 + 54 = 59 +5 + 55 = 60 +5 + 56 = 61 +5 + 57 = 62 +5 + 58 = 63 +5 + 59 = 64 +5 + 60 = 65 +5 + 61 = 66 +5 + 62 = 67 +5 + 63 = 68 +6 + 0 = 6 +6 + 1 = 7 +6 + 2 = 8 +6 + 3 = 9 +6 + 4 = 10 +6 + 5 = 11 +6 + 6 = 12 +6 + 7 = 13 +6 + 8 = 14 +6 + 9 = 15 +6 + 10 = 16 +6 + 11 = 17 +6 + 12 = 18 +6 + 13 = 19 +6 + 14 = 20 +6 + 15 = 21 +6 + 16 = 22 +6 + 17 = 23 +6 + 18 = 24 +6 + 19 = 25 +6 + 20 = 26 +6 + 21 = 27 +6 + 22 = 28 +6 + 23 = 29 +6 + 24 = 30 +6 + 25 = 31 +6 + 26 = 32 +6 + 27 = 33 +6 + 28 = 34 +6 + 29 = 35 +6 + 30 = 36 +6 + 31 = 37 +6 + 32 = 38 +6 + 33 = 39 +6 + 34 = 40 +6 + 35 = 41 +6 + 36 = 42 +6 + 37 = 43 +6 + 38 = 44 +6 + 39 = 45 +6 + 40 = 46 +6 + 41 = 47 +6 + 42 = 48 +6 + 43 = 49 +6 + 44 = 50 +6 + 45 = 51 +6 + 46 = 52 +6 + 47 = 53 +6 + 48 = 54 +6 + 49 = 55 +6 + 50 = 56 +6 + 51 = 57 +6 + 52 = 58 +6 + 53 = 59 +6 + 54 = 60 +6 + 55 = 61 +6 + 56 = 62 +6 + 57 = 63 +6 + 58 = 64 +6 + 59 = 65 +6 + 60 = 66 +6 + 61 = 67 +6 + 62 = 68 +6 + 63 = 69 +7 + 0 = 7 +7 + 1 = 8 +7 + 2 = 9 +7 + 3 = 10 +7 + 4 = 11 +7 + 5 = 12 +7 + 6 = 13 +7 + 7 = 14 +7 + 8 = 15 +7 + 9 = 16 +7 + 10 = 17 +7 + 11 = 18 +7 + 12 = 19 +7 + 13 = 20 +7 + 14 = 21 +7 + 15 = 22 +7 + 16 = 23 +7 + 17 = 24 +7 + 18 = 25 +7 + 19 = 26 +7 + 20 = 27 +7 + 21 = 28 +7 + 22 = 29 +7 + 23 = 30 +7 + 24 = 31 +7 + 25 = 32 +7 + 26 = 33 +7 + 27 = 34 +7 + 28 = 35 +7 + 29 = 36 +7 + 30 = 37 +7 + 31 = 38 +7 + 32 = 39 +7 + 33 = 40 +7 + 34 = 41 +7 + 35 = 42 +7 + 36 = 43 +7 + 37 = 44 +7 + 38 = 45 +7 + 39 = 46 +7 + 40 = 47 +7 + 41 = 48 +7 + 42 = 49 +7 + 43 = 50 +7 + 44 = 51 +7 + 45 = 52 +7 + 46 = 53 +7 + 47 = 54 +7 + 48 = 55 +7 + 49 = 56 +7 + 50 = 57 +7 + 51 = 58 +7 + 52 = 59 +7 + 53 = 60 +7 + 54 = 61 +7 + 55 = 62 +7 + 56 = 63 +7 + 57 = 64 +7 + 58 = 65 +7 + 59 = 66 +7 + 60 = 67 +7 + 61 = 68 +7 + 62 = 69 +7 + 63 = 70 +8 + 0 = 8 +8 + 1 = 9 +8 + 2 = 10 +8 + 3 = 11 +8 + 4 = 12 +8 + 5 = 13 +8 + 6 = 14 +8 + 7 = 15 +8 + 8 = 16 +8 + 9 = 17 +8 + 10 = 18 +8 + 11 = 19 +8 + 12 = 20 +8 + 13 = 21 +8 + 14 = 22 +8 + 15 = 23 +8 + 16 = 24 +8 + 17 = 25 +8 + 18 = 26 +8 + 19 = 27 +8 + 20 = 28 +8 + 21 = 29 +8 + 22 = 30 +8 + 23 = 31 +8 + 24 = 32 +8 + 25 = 33 +8 + 26 = 34 +8 + 27 = 35 +8 + 28 = 36 +8 + 29 = 37 +8 + 30 = 38 +8 + 31 = 39 +8 + 32 = 40 +8 + 33 = 41 +8 + 34 = 42 +8 + 35 = 43 +8 + 36 = 44 +8 + 37 = 45 +8 + 38 = 46 +8 + 39 = 47 +8 + 40 = 48 +8 + 41 = 49 +8 + 42 = 50 +8 + 43 = 51 +8 + 44 = 52 +8 + 45 = 53 +8 + 46 = 54 +8 + 47 = 55 +8 + 48 = 56 +8 + 49 = 57 +8 + 50 = 58 +8 + 51 = 59 +8 + 52 = 60 +8 + 53 = 61 +8 + 54 = 62 +8 + 55 = 63 +8 + 56 = 64 +8 + 57 = 65 +8 + 58 = 66 +8 + 59 = 67 +8 + 60 = 68 +8 + 61 = 69 +8 + 62 = 70 +8 + 63 = 71 +9 + 0 = 9 +9 + 1 = 10 +9 + 2 = 11 +9 + 3 = 12 +9 + 4 = 13 +9 + 5 = 14 +9 + 6 = 15 +9 + 7 = 16 +9 + 8 = 17 +9 + 9 = 18 +9 + 10 = 19 +9 + 11 = 20 +9 + 12 = 21 +9 + 13 = 22 +9 + 14 = 23 +9 + 15 = 24 +9 + 16 = 25 +9 + 17 = 26 +9 + 18 = 27 +9 + 19 = 28 +9 + 20 = 29 +9 + 21 = 30 +9 + 22 = 31 +9 + 23 = 32 +9 + 24 = 33 +9 + 25 = 34 +9 + 26 = 35 +9 + 27 = 36 +9 + 28 = 37 +9 + 29 = 38 +9 + 30 = 39 +9 + 31 = 40 +9 + 32 = 41 +9 + 33 = 42 +9 + 34 = 43 +9 + 35 = 44 +9 + 36 = 45 +9 + 37 = 46 +9 + 38 = 47 +9 + 39 = 48 +9 + 40 = 49 +9 + 41 = 50 +9 + 42 = 51 +9 + 43 = 52 +9 + 44 = 53 +9 + 45 = 54 +9 + 46 = 55 +9 + 47 = 56 +9 + 48 = 57 +9 + 49 = 58 +9 + 50 = 59 +9 + 51 = 60 +9 + 52 = 61 +9 + 53 = 62 +9 + 54 = 63 +9 + 55 = 64 +9 + 56 = 65 +9 + 57 = 66 +9 + 58 = 67 +9 + 59 = 68 +9 + 60 = 69 +9 + 61 = 70 +9 + 62 = 71 +9 + 63 = 72 +10 + 0 = 10 +10 + 1 = 11 +10 + 2 = 12 +10 + 3 = 13 +10 + 4 = 14 +10 + 5 = 15 +10 + 6 = 16 +10 + 7 = 17 +10 + 8 = 18 +10 + 9 = 19 +10 + 10 = 20 +10 + 11 = 21 +10 + 12 = 22 +10 + 13 = 23 +10 + 14 = 24 +10 + 15 = 25 +10 + 16 = 26 +10 + 17 = 27 +10 + 18 = 28 +10 + 19 = 29 +10 + 20 = 30 +10 + 21 = 31 +10 + 22 = 32 +10 + 23 = 33 +10 + 24 = 34 +10 + 25 = 35 +10 + 26 = 36 +10 + 27 = 37 +10 + 28 = 38 +10 + 29 = 39 +10 + 30 = 40 +10 + 31 = 41 +10 + 32 = 42 +10 + 33 = 43 +10 + 34 = 44 +10 + 35 = 45 +10 + 36 = 46 +10 + 37 = 47 +10 + 38 = 48 +10 + 39 = 49 +10 + 40 = 50 +10 + 41 = 51 +10 + 42 = 52 +10 + 43 = 53 +10 + 44 = 54 +10 + 45 = 55 +10 + 46 = 56 +10 + 47 = 57 +10 + 48 = 58 +10 + 49 = 59 +10 + 50 = 60 +10 + 51 = 61 +10 + 52 = 62 +10 + 53 = 63 +10 + 54 = 64 +10 + 55 = 65 +10 + 56 = 66 +10 + 57 = 67 +10 + 58 = 68 +10 + 59 = 69 +10 + 60 = 70 +10 + 61 = 71 +10 + 62 = 72 +10 + 63 = 73 +11 + 0 = 11 +11 + 1 = 12 +11 + 2 = 13 +11 + 3 = 14 +11 + 4 = 15 +11 + 5 = 16 +11 + 6 = 17 +11 + 7 = 18 +11 + 8 = 19 +11 + 9 = 20 +11 + 10 = 21 +11 + 11 = 22 +11 + 12 = 23 +11 + 13 = 24 +11 + 14 = 25 +11 + 15 = 26 +11 + 16 = 27 +11 + 17 = 28 +11 + 18 = 29 +11 + 19 = 30 +11 + 20 = 31 +11 + 21 = 32 +11 + 22 = 33 +11 + 23 = 34 +11 + 24 = 35 +11 + 25 = 36 +11 + 26 = 37 +11 + 27 = 38 +11 + 28 = 39 +11 + 29 = 40 +11 + 30 = 41 +11 + 31 = 42 +11 + 32 = 43 +11 + 33 = 44 +11 + 34 = 45 +11 + 35 = 46 +11 + 36 = 47 +11 + 37 = 48 +11 + 38 = 49 +11 + 39 = 50 +11 + 40 = 51 +11 + 41 = 52 +11 + 42 = 53 +11 + 43 = 54 +11 + 44 = 55 +11 + 45 = 56 +11 + 46 = 57 +11 + 47 = 58 +11 + 48 = 59 +11 + 49 = 60 +11 + 50 = 61 +11 + 51 = 62 +11 + 52 = 63 +11 + 53 = 64 +11 + 54 = 65 +11 + 55 = 66 +11 + 56 = 67 +11 + 57 = 68 +11 + 58 = 69 +11 + 59 = 70 +11 + 60 = 71 +11 + 61 = 72 +11 + 62 = 73 +11 + 63 = 74 +12 + 0 = 12 +12 + 1 = 13 +12 + 2 = 14 +12 + 3 = 15 +12 + 4 = 16 +12 + 5 = 17 +12 + 6 = 18 +12 + 7 = 19 +12 + 8 = 20 +12 + 9 = 21 +12 + 10 = 22 +12 + 11 = 23 +12 + 12 = 24 +12 + 13 = 25 +12 + 14 = 26 +12 + 15 = 27 +12 + 16 = 28 +12 + 17 = 29 +12 + 18 = 30 +12 + 19 = 31 +12 + 20 = 32 +12 + 21 = 33 +12 + 22 = 34 +12 + 23 = 35 +12 + 24 = 36 +12 + 25 = 37 +12 + 26 = 38 +12 + 27 = 39 +12 + 28 = 40 +12 + 29 = 41 +12 + 30 = 42 +12 + 31 = 43 +12 + 32 = 44 +12 + 33 = 45 +12 + 34 = 46 +12 + 35 = 47 +12 + 36 = 48 +12 + 37 = 49 +12 + 38 = 50 +12 + 39 = 51 +12 + 40 = 52 +12 + 41 = 53 +12 + 42 = 54 +12 + 43 = 55 +12 + 44 = 56 +12 + 45 = 57 +12 + 46 = 58 +12 + 47 = 59 +12 + 48 = 60 +12 + 49 = 61 +12 + 50 = 62 +12 + 51 = 63 +12 + 52 = 64 +12 + 53 = 65 +12 + 54 = 66 +12 + 55 = 67 +12 + 56 = 68 +12 + 57 = 69 +12 + 58 = 70 +12 + 59 = 71 +12 + 60 = 72 +12 + 61 = 73 +12 + 62 = 74 +12 + 63 = 75 +13 + 0 = 13 +13 + 1 = 14 +13 + 2 = 15 +13 + 3 = 16 +13 + 4 = 17 +13 + 5 = 18 +13 + 6 = 19 +13 + 7 = 20 +13 + 8 = 21 +13 + 9 = 22 +13 + 10 = 23 +13 + 11 = 24 +13 + 12 = 25 +13 + 13 = 26 +13 + 14 = 27 +13 + 15 = 28 +13 + 16 = 29 +13 + 17 = 30 +13 + 18 = 31 +13 + 19 = 32 +13 + 20 = 33 +13 + 21 = 34 +13 + 22 = 35 +13 + 23 = 36 +13 + 24 = 37 +13 + 25 = 38 +13 + 26 = 39 +13 + 27 = 40 +13 + 28 = 41 +13 + 29 = 42 +13 + 30 = 43 +13 + 31 = 44 +13 + 32 = 45 +13 + 33 = 46 +13 + 34 = 47 +13 + 35 = 48 +13 + 36 = 49 +13 + 37 = 50 +13 + 38 = 51 +13 + 39 = 52 +13 + 40 = 53 +13 + 41 = 54 +13 + 42 = 55 +13 + 43 = 56 +13 + 44 = 57 +13 + 45 = 58 +13 + 46 = 59 +13 + 47 = 60 +13 + 48 = 61 +13 + 49 = 62 +13 + 50 = 63 +13 + 51 = 64 +13 + 52 = 65 +13 + 53 = 66 +13 + 54 = 67 +13 + 55 = 68 +13 + 56 = 69 +13 + 57 = 70 +13 + 58 = 71 +13 + 59 = 72 +13 + 60 = 73 +13 + 61 = 74 +13 + 62 = 75 +13 + 63 = 76 +14 + 0 = 14 +14 + 1 = 15 +14 + 2 = 16 +14 + 3 = 17 +14 + 4 = 18 +14 + 5 = 19 +14 + 6 = 20 +14 + 7 = 21 +14 + 8 = 22 +14 + 9 = 23 +14 + 10 = 24 +14 + 11 = 25 +14 + 12 = 26 +14 + 13 = 27 +14 + 14 = 28 +14 + 15 = 29 +14 + 16 = 30 +14 + 17 = 31 +14 + 18 = 32 +14 + 19 = 33 +14 + 20 = 34 +14 + 21 = 35 +14 + 22 = 36 +14 + 23 = 37 +14 + 24 = 38 +14 + 25 = 39 +14 + 26 = 40 +14 + 27 = 41 +14 + 28 = 42 +14 + 29 = 43 +14 + 30 = 44 +14 + 31 = 45 +14 + 32 = 46 +14 + 33 = 47 +14 + 34 = 48 +14 + 35 = 49 +14 + 36 = 50 +14 + 37 = 51 +14 + 38 = 52 +14 + 39 = 53 +14 + 40 = 54 +14 + 41 = 55 +14 + 42 = 56 +14 + 43 = 57 +14 + 44 = 58 +14 + 45 = 59 +14 + 46 = 60 +14 + 47 = 61 +14 + 48 = 62 +14 + 49 = 63 +14 + 50 = 64 +14 + 51 = 65 +14 + 52 = 66 +14 + 53 = 67 +14 + 54 = 68 +14 + 55 = 69 +14 + 56 = 70 +14 + 57 = 71 +14 + 58 = 72 +14 + 59 = 73 +14 + 60 = 74 +14 + 61 = 75 +14 + 62 = 76 +14 + 63 = 77 +15 + 0 = 15 +15 + 1 = 16 +15 + 2 = 17 +15 + 3 = 18 +15 + 4 = 19 +15 + 5 = 20 +15 + 6 = 21 +15 + 7 = 22 +15 + 8 = 23 +15 + 9 = 24 +15 + 10 = 25 +15 + 11 = 26 +15 + 12 = 27 +15 + 13 = 28 +15 + 14 = 29 +15 + 15 = 30 +15 + 16 = 31 +15 + 17 = 32 +15 + 18 = 33 +15 + 19 = 34 +15 + 20 = 35 +15 + 21 = 36 +15 + 22 = 37 +15 + 23 = 38 +15 + 24 = 39 +15 + 25 = 40 +15 + 26 = 41 +15 + 27 = 42 +15 + 28 = 43 +15 + 29 = 44 +15 + 30 = 45 +15 + 31 = 46 +15 + 32 = 47 +15 + 33 = 48 +15 + 34 = 49 +15 + 35 = 50 +15 + 36 = 51 +15 + 37 = 52 +15 + 38 = 53 +15 + 39 = 54 +15 + 40 = 55 +15 + 41 = 56 +15 + 42 = 57 +15 + 43 = 58 +15 + 44 = 59 +15 + 45 = 60 +15 + 46 = 61 +15 + 47 = 62 +15 + 48 = 63 +15 + 49 = 64 +15 + 50 = 65 +15 + 51 = 66 +15 + 52 = 67 +15 + 53 = 68 +15 + 54 = 69 +15 + 55 = 70 +15 + 56 = 71 +15 + 57 = 72 +15 + 58 = 73 +15 + 59 = 74 +15 + 60 = 75 +15 + 61 = 76 +15 + 62 = 77 +15 + 63 = 78 +16 + 0 = 16 +16 + 1 = 17 +16 + 2 = 18 +16 + 3 = 19 +16 + 4 = 20 +16 + 5 = 21 +16 + 6 = 22 +16 + 7 = 23 +16 + 8 = 24 +16 + 9 = 25 +16 + 10 = 26 +16 + 11 = 27 +16 + 12 = 28 +16 + 13 = 29 +16 + 14 = 30 +16 + 15 = 31 +16 + 16 = 32 +16 + 17 = 33 +16 + 18 = 34 +16 + 19 = 35 +16 + 20 = 36 +16 + 21 = 37 +16 + 22 = 38 +16 + 23 = 39 +16 + 24 = 40 +16 + 25 = 41 +16 + 26 = 42 +16 + 27 = 43 +16 + 28 = 44 +16 + 29 = 45 +16 + 30 = 46 +16 + 31 = 47 +16 + 32 = 48 +16 + 33 = 49 +16 + 34 = 50 +16 + 35 = 51 +16 + 36 = 52 +16 + 37 = 53 +16 + 38 = 54 +16 + 39 = 55 +16 + 40 = 56 +16 + 41 = 57 +16 + 42 = 58 +16 + 43 = 59 +16 + 44 = 60 +16 + 45 = 61 +16 + 46 = 62 +16 + 47 = 63 +16 + 48 = 64 +16 + 49 = 65 +16 + 50 = 66 +16 + 51 = 67 +16 + 52 = 68 +16 + 53 = 69 +16 + 54 = 70 +16 + 55 = 71 +16 + 56 = 72 +16 + 57 = 73 +16 + 58 = 74 +16 + 59 = 75 +16 + 60 = 76 +16 + 61 = 77 +16 + 62 = 78 +16 + 63 = 79 +17 + 0 = 17 +17 + 1 = 18 +17 + 2 = 19 +17 + 3 = 20 +17 + 4 = 21 +17 + 5 = 22 +17 + 6 = 23 +17 + 7 = 24 +17 + 8 = 25 +17 + 9 = 26 +17 + 10 = 27 +17 + 11 = 28 +17 + 12 = 29 +17 + 13 = 30 +17 + 14 = 31 +17 + 15 = 32 +17 + 16 = 33 +17 + 17 = 34 +17 + 18 = 35 +17 + 19 = 36 +17 + 20 = 37 +17 + 21 = 38 +17 + 22 = 39 +17 + 23 = 40 +17 + 24 = 41 +17 + 25 = 42 +17 + 26 = 43 +17 + 27 = 44 +17 + 28 = 45 +17 + 29 = 46 +17 + 30 = 47 +17 + 31 = 48 +17 + 32 = 49 +17 + 33 = 50 +17 + 34 = 51 +17 + 35 = 52 +17 + 36 = 53 +17 + 37 = 54 +17 + 38 = 55 +17 + 39 = 56 +17 + 40 = 57 +17 + 41 = 58 +17 + 42 = 59 +17 + 43 = 60 +17 + 44 = 61 +17 + 45 = 62 +17 + 46 = 63 +17 + 47 = 64 +17 + 48 = 65 +17 + 49 = 66 +17 + 50 = 67 +17 + 51 = 68 +17 + 52 = 69 +17 + 53 = 70 +17 + 54 = 71 +17 + 55 = 72 +17 + 56 = 73 +17 + 57 = 74 +17 + 58 = 75 +17 + 59 = 76 +17 + 60 = 77 +17 + 61 = 78 +17 + 62 = 79 +17 + 63 = 80 +18 + 0 = 18 +18 + 1 = 19 +18 + 2 = 20 +18 + 3 = 21 +18 + 4 = 22 +18 + 5 = 23 +18 + 6 = 24 +18 + 7 = 25 +18 + 8 = 26 +18 + 9 = 27 +18 + 10 = 28 +18 + 11 = 29 +18 + 12 = 30 +18 + 13 = 31 +18 + 14 = 32 +18 + 15 = 33 +18 + 16 = 34 +18 + 17 = 35 +18 + 18 = 36 +18 + 19 = 37 +18 + 20 = 38 +18 + 21 = 39 +18 + 22 = 40 +18 + 23 = 41 +18 + 24 = 42 +18 + 25 = 43 +18 + 26 = 44 +18 + 27 = 45 +18 + 28 = 46 +18 + 29 = 47 +18 + 30 = 48 +18 + 31 = 49 +18 + 32 = 50 +18 + 33 = 51 +18 + 34 = 52 +18 + 35 = 53 +18 + 36 = 54 +18 + 37 = 55 +18 + 38 = 56 +18 + 39 = 57 +18 + 40 = 58 +18 + 41 = 59 +18 + 42 = 60 +18 + 43 = 61 +18 + 44 = 62 +18 + 45 = 63 +18 + 46 = 64 +18 + 47 = 65 +18 + 48 = 66 +18 + 49 = 67 +18 + 50 = 68 +18 + 51 = 69 +18 + 52 = 70 +18 + 53 = 71 +18 + 54 = 72 +18 + 55 = 73 +18 + 56 = 74 +18 + 57 = 75 +18 + 58 = 76 +18 + 59 = 77 +18 + 60 = 78 +18 + 61 = 79 +18 + 62 = 80 +18 + 63 = 81 +19 + 0 = 19 +19 + 1 = 20 +19 + 2 = 21 +19 + 3 = 22 +19 + 4 = 23 +19 + 5 = 24 +19 + 6 = 25 +19 + 7 = 26 +19 + 8 = 27 +19 + 9 = 28 +19 + 10 = 29 +19 + 11 = 30 +19 + 12 = 31 +19 + 13 = 32 +19 + 14 = 33 +19 + 15 = 34 +19 + 16 = 35 +19 + 17 = 36 +19 + 18 = 37 +19 + 19 = 38 +19 + 20 = 39 +19 + 21 = 40 +19 + 22 = 41 +19 + 23 = 42 +19 + 24 = 43 +19 + 25 = 44 +19 + 26 = 45 +19 + 27 = 46 +19 + 28 = 47 +19 + 29 = 48 +19 + 30 = 49 +19 + 31 = 50 +19 + 32 = 51 +19 + 33 = 52 +19 + 34 = 53 +19 + 35 = 54 +19 + 36 = 55 +19 + 37 = 56 +19 + 38 = 57 +19 + 39 = 58 +19 + 40 = 59 +19 + 41 = 60 +19 + 42 = 61 +19 + 43 = 62 +19 + 44 = 63 +19 + 45 = 64 +19 + 46 = 65 +19 + 47 = 66 +19 + 48 = 67 +19 + 49 = 68 +19 + 50 = 69 +19 + 51 = 70 +19 + 52 = 71 +19 + 53 = 72 +19 + 54 = 73 +19 + 55 = 74 +19 + 56 = 75 +19 + 57 = 76 +19 + 58 = 77 +19 + 59 = 78 +19 + 60 = 79 +19 + 61 = 80 +19 + 62 = 81 +19 + 63 = 82 +20 + 0 = 20 +20 + 1 = 21 +20 + 2 = 22 +20 + 3 = 23 +20 + 4 = 24 +20 + 5 = 25 +20 + 6 = 26 +20 + 7 = 27 +20 + 8 = 28 +20 + 9 = 29 +20 + 10 = 30 +20 + 11 = 31 +20 + 12 = 32 +20 + 13 = 33 +20 + 14 = 34 +20 + 15 = 35 +20 + 16 = 36 +20 + 17 = 37 +20 + 18 = 38 +20 + 19 = 39 +20 + 20 = 40 +20 + 21 = 41 +20 + 22 = 42 +20 + 23 = 43 +20 + 24 = 44 +20 + 25 = 45 +20 + 26 = 46 +20 + 27 = 47 +20 + 28 = 48 +20 + 29 = 49 +20 + 30 = 50 +20 + 31 = 51 +20 + 32 = 52 +20 + 33 = 53 +20 + 34 = 54 +20 + 35 = 55 +20 + 36 = 56 +20 + 37 = 57 +20 + 38 = 58 +20 + 39 = 59 +20 + 40 = 60 +20 + 41 = 61 +20 + 42 = 62 +20 + 43 = 63 +20 + 44 = 64 +20 + 45 = 65 +20 + 46 = 66 +20 + 47 = 67 +20 + 48 = 68 +20 + 49 = 69 +20 + 50 = 70 +20 + 51 = 71 +20 + 52 = 72 +20 + 53 = 73 +20 + 54 = 74 +20 + 55 = 75 +20 + 56 = 76 +20 + 57 = 77 +20 + 58 = 78 +20 + 59 = 79 +20 + 60 = 80 +20 + 61 = 81 +20 + 62 = 82 +20 + 63 = 83 +21 + 0 = 21 +21 + 1 = 22 +21 + 2 = 23 +21 + 3 = 24 +21 + 4 = 25 +21 + 5 = 26 +21 + 6 = 27 +21 + 7 = 28 +21 + 8 = 29 +21 + 9 = 30 +21 + 10 = 31 +21 + 11 = 32 +21 + 12 = 33 +21 + 13 = 34 +21 + 14 = 35 +21 + 15 = 36 +21 + 16 = 37 +21 + 17 = 38 +21 + 18 = 39 +21 + 19 = 40 +21 + 20 = 41 +21 + 21 = 42 +21 + 22 = 43 +21 + 23 = 44 +21 + 24 = 45 +21 + 25 = 46 +21 + 26 = 47 +21 + 27 = 48 +21 + 28 = 49 +21 + 29 = 50 +21 + 30 = 51 +21 + 31 = 52 +21 + 32 = 53 +21 + 33 = 54 +21 + 34 = 55 +21 + 35 = 56 +21 + 36 = 57 +21 + 37 = 58 +21 + 38 = 59 +21 + 39 = 60 +21 + 40 = 61 +21 + 41 = 62 +21 + 42 = 63 +21 + 43 = 64 +21 + 44 = 65 +21 + 45 = 66 +21 + 46 = 67 +21 + 47 = 68 +21 + 48 = 69 +21 + 49 = 70 +21 + 50 = 71 +21 + 51 = 72 +21 + 52 = 73 +21 + 53 = 74 +21 + 54 = 75 +21 + 55 = 76 +21 + 56 = 77 +21 + 57 = 78 +21 + 58 = 79 +21 + 59 = 80 +21 + 60 = 81 +21 + 61 = 82 +21 + 62 = 83 +21 + 63 = 84 +22 + 0 = 22 +22 + 1 = 23 +22 + 2 = 24 +22 + 3 = 25 +22 + 4 = 26 +22 + 5 = 27 +22 + 6 = 28 +22 + 7 = 29 +22 + 8 = 30 +22 + 9 = 31 +22 + 10 = 32 +22 + 11 = 33 +22 + 12 = 34 +22 + 13 = 35 +22 + 14 = 36 +22 + 15 = 37 +22 + 16 = 38 +22 + 17 = 39 +22 + 18 = 40 +22 + 19 = 41 +22 + 20 = 42 +22 + 21 = 43 +22 + 22 = 44 +22 + 23 = 45 +22 + 24 = 46 +22 + 25 = 47 +22 + 26 = 48 +22 + 27 = 49 +22 + 28 = 50 +22 + 29 = 51 +22 + 30 = 52 +22 + 31 = 53 +22 + 32 = 54 +22 + 33 = 55 +22 + 34 = 56 +22 + 35 = 57 +22 + 36 = 58 +22 + 37 = 59 +22 + 38 = 60 +22 + 39 = 61 +22 + 40 = 62 +22 + 41 = 63 +22 + 42 = 64 +22 + 43 = 65 +22 + 44 = 66 +22 + 45 = 67 +22 + 46 = 68 +22 + 47 = 69 +22 + 48 = 70 +22 + 49 = 71 +22 + 50 = 72 +22 + 51 = 73 +22 + 52 = 74 +22 + 53 = 75 +22 + 54 = 76 +22 + 55 = 77 +22 + 56 = 78 +22 + 57 = 79 +22 + 58 = 80 +22 + 59 = 81 +22 + 60 = 82 +22 + 61 = 83 +22 + 62 = 84 +22 + 63 = 85 +23 + 0 = 23 +23 + 1 = 24 +23 + 2 = 25 +23 + 3 = 26 +23 + 4 = 27 +23 + 5 = 28 +23 + 6 = 29 +23 + 7 = 30 +23 + 8 = 31 +23 + 9 = 32 +23 + 10 = 33 +23 + 11 = 34 +23 + 12 = 35 +23 + 13 = 36 +23 + 14 = 37 +23 + 15 = 38 +23 + 16 = 39 +23 + 17 = 40 +23 + 18 = 41 +23 + 19 = 42 +23 + 20 = 43 +23 + 21 = 44 +23 + 22 = 45 +23 + 23 = 46 +23 + 24 = 47 +23 + 25 = 48 +23 + 26 = 49 +23 + 27 = 50 +23 + 28 = 51 +23 + 29 = 52 +23 + 30 = 53 +23 + 31 = 54 +23 + 32 = 55 +23 + 33 = 56 +23 + 34 = 57 +23 + 35 = 58 +23 + 36 = 59 +23 + 37 = 60 +23 + 38 = 61 +23 + 39 = 62 +23 + 40 = 63 +23 + 41 = 64 +23 + 42 = 65 +23 + 43 = 66 +23 + 44 = 67 +23 + 45 = 68 +23 + 46 = 69 +23 + 47 = 70 +23 + 48 = 71 +23 + 49 = 72 +23 + 50 = 73 +23 + 51 = 74 +23 + 52 = 75 +23 + 53 = 76 +23 + 54 = 77 +23 + 55 = 78 +23 + 56 = 79 +23 + 57 = 80 +23 + 58 = 81 +23 + 59 = 82 +23 + 60 = 83 +23 + 61 = 84 +23 + 62 = 85 +23 + 63 = 86 +24 + 0 = 24 +24 + 1 = 25 +24 + 2 = 26 +24 + 3 = 27 +24 + 4 = 28 +24 + 5 = 29 +24 + 6 = 30 +24 + 7 = 31 +24 + 8 = 32 +24 + 9 = 33 +24 + 10 = 34 +24 + 11 = 35 +24 + 12 = 36 +24 + 13 = 37 +24 + 14 = 38 +24 + 15 = 39 +24 + 16 = 40 +24 + 17 = 41 +24 + 18 = 42 +24 + 19 = 43 +24 + 20 = 44 +24 + 21 = 45 +24 + 22 = 46 +24 + 23 = 47 +24 + 24 = 48 +24 + 25 = 49 +24 + 26 = 50 +24 + 27 = 51 +24 + 28 = 52 +24 + 29 = 53 +24 + 30 = 54 +24 + 31 = 55 +24 + 32 = 56 +24 + 33 = 57 +24 + 34 = 58 +24 + 35 = 59 +24 + 36 = 60 +24 + 37 = 61 +24 + 38 = 62 +24 + 39 = 63 +24 + 40 = 64 +24 + 41 = 65 +24 + 42 = 66 +24 + 43 = 67 +24 + 44 = 68 +24 + 45 = 69 +24 + 46 = 70 +24 + 47 = 71 +24 + 48 = 72 +24 + 49 = 73 +24 + 50 = 74 +24 + 51 = 75 +24 + 52 = 76 +24 + 53 = 77 +24 + 54 = 78 +24 + 55 = 79 +24 + 56 = 80 +24 + 57 = 81 +24 + 58 = 82 +24 + 59 = 83 +24 + 60 = 84 +24 + 61 = 85 +24 + 62 = 86 +24 + 63 = 87 +25 + 0 = 25 +25 + 1 = 26 +25 + 2 = 27 +25 + 3 = 28 +25 + 4 = 29 +25 + 5 = 30 +25 + 6 = 31 +25 + 7 = 32 +25 + 8 = 33 +25 + 9 = 34 +25 + 10 = 35 +25 + 11 = 36 +25 + 12 = 37 +25 + 13 = 38 +25 + 14 = 39 +25 + 15 = 40 +25 + 16 = 41 +25 + 17 = 42 +25 + 18 = 43 +25 + 19 = 44 +25 + 20 = 45 +25 + 21 = 46 +25 + 22 = 47 +25 + 23 = 48 +25 + 24 = 49 +25 + 25 = 50 +25 + 26 = 51 +25 + 27 = 52 +25 + 28 = 53 +25 + 29 = 54 +25 + 30 = 55 +25 + 31 = 56 +25 + 32 = 57 +25 + 33 = 58 +25 + 34 = 59 +25 + 35 = 60 +25 + 36 = 61 +25 + 37 = 62 +25 + 38 = 63 +25 + 39 = 64 +25 + 40 = 65 +25 + 41 = 66 +25 + 42 = 67 +25 + 43 = 68 +25 + 44 = 69 +25 + 45 = 70 +25 + 46 = 71 +25 + 47 = 72 +25 + 48 = 73 +25 + 49 = 74 +25 + 50 = 75 +25 + 51 = 76 +25 + 52 = 77 +25 + 53 = 78 +25 + 54 = 79 +25 + 55 = 80 +25 + 56 = 81 +25 + 57 = 82 +25 + 58 = 83 +25 + 59 = 84 +25 + 60 = 85 +25 + 61 = 86 +25 + 62 = 87 +25 + 63 = 88 +26 + 0 = 26 +26 + 1 = 27 +26 + 2 = 28 +26 + 3 = 29 +26 + 4 = 30 +26 + 5 = 31 +26 + 6 = 32 +26 + 7 = 33 +26 + 8 = 34 +26 + 9 = 35 +26 + 10 = 36 +26 + 11 = 37 +26 + 12 = 38 +26 + 13 = 39 +26 + 14 = 40 +26 + 15 = 41 +26 + 16 = 42 +26 + 17 = 43 +26 + 18 = 44 +26 + 19 = 45 +26 + 20 = 46 +26 + 21 = 47 +26 + 22 = 48 +26 + 23 = 49 +26 + 24 = 50 +26 + 25 = 51 +26 + 26 = 52 +26 + 27 = 53 +26 + 28 = 54 +26 + 29 = 55 +26 + 30 = 56 +26 + 31 = 57 +26 + 32 = 58 +26 + 33 = 59 +26 + 34 = 60 +26 + 35 = 61 +26 + 36 = 62 +26 + 37 = 63 +26 + 38 = 64 +26 + 39 = 65 +26 + 40 = 66 +26 + 41 = 67 +26 + 42 = 68 +26 + 43 = 69 +26 + 44 = 70 +26 + 45 = 71 +26 + 46 = 72 +26 + 47 = 73 +26 + 48 = 74 +26 + 49 = 75 +26 + 50 = 76 +26 + 51 = 77 +26 + 52 = 78 +26 + 53 = 79 +26 + 54 = 80 +26 + 55 = 81 +26 + 56 = 82 +26 + 57 = 83 +26 + 58 = 84 +26 + 59 = 85 +26 + 60 = 86 +26 + 61 = 87 +26 + 62 = 88 +26 + 63 = 89 +27 + 0 = 27 +27 + 1 = 28 +27 + 2 = 29 +27 + 3 = 30 +27 + 4 = 31 +27 + 5 = 32 +27 + 6 = 33 +27 + 7 = 34 +27 + 8 = 35 +27 + 9 = 36 +27 + 10 = 37 +27 + 11 = 38 +27 + 12 = 39 +27 + 13 = 40 +27 + 14 = 41 +27 + 15 = 42 +27 + 16 = 43 +27 + 17 = 44 +27 + 18 = 45 +27 + 19 = 46 +27 + 20 = 47 +27 + 21 = 48 +27 + 22 = 49 +27 + 23 = 50 +27 + 24 = 51 +27 + 25 = 52 +27 + 26 = 53 +27 + 27 = 54 +27 + 28 = 55 +27 + 29 = 56 +27 + 30 = 57 +27 + 31 = 58 +27 + 32 = 59 +27 + 33 = 60 +27 + 34 = 61 +27 + 35 = 62 +27 + 36 = 63 +27 + 37 = 64 +27 + 38 = 65 +27 + 39 = 66 +27 + 40 = 67 +27 + 41 = 68 +27 + 42 = 69 +27 + 43 = 70 +27 + 44 = 71 +27 + 45 = 72 +27 + 46 = 73 +27 + 47 = 74 +27 + 48 = 75 +27 + 49 = 76 +27 + 50 = 77 +27 + 51 = 78 +27 + 52 = 79 +27 + 53 = 80 +27 + 54 = 81 +27 + 55 = 82 +27 + 56 = 83 +27 + 57 = 84 +27 + 58 = 85 +27 + 59 = 86 +27 + 60 = 87 +27 + 61 = 88 +27 + 62 = 89 +27 + 63 = 90 +28 + 0 = 28 +28 + 1 = 29 +28 + 2 = 30 +28 + 3 = 31 +28 + 4 = 32 +28 + 5 = 33 +28 + 6 = 34 +28 + 7 = 35 +28 + 8 = 36 +28 + 9 = 37 +28 + 10 = 38 +28 + 11 = 39 +28 + 12 = 40 +28 + 13 = 41 +28 + 14 = 42 +28 + 15 = 43 +28 + 16 = 44 +28 + 17 = 45 +28 + 18 = 46 +28 + 19 = 47 +28 + 20 = 48 +28 + 21 = 49 +28 + 22 = 50 +28 + 23 = 51 +28 + 24 = 52 +28 + 25 = 53 +28 + 26 = 54 +28 + 27 = 55 +28 + 28 = 56 +28 + 29 = 57 +28 + 30 = 58 +28 + 31 = 59 +28 + 32 = 60 +28 + 33 = 61 +28 + 34 = 62 +28 + 35 = 63 +28 + 36 = 64 +28 + 37 = 65 +28 + 38 = 66 +28 + 39 = 67 +28 + 40 = 68 +28 + 41 = 69 +28 + 42 = 70 +28 + 43 = 71 +28 + 44 = 72 +28 + 45 = 73 +28 + 46 = 74 +28 + 47 = 75 +28 + 48 = 76 +28 + 49 = 77 +28 + 50 = 78 +28 + 51 = 79 +28 + 52 = 80 +28 + 53 = 81 +28 + 54 = 82 +28 + 55 = 83 +28 + 56 = 84 +28 + 57 = 85 +28 + 58 = 86 +28 + 59 = 87 +28 + 60 = 88 +28 + 61 = 89 +28 + 62 = 90 +28 + 63 = 91 +29 + 0 = 29 +29 + 1 = 30 +29 + 2 = 31 +29 + 3 = 32 +29 + 4 = 33 +29 + 5 = 34 +29 + 6 = 35 +29 + 7 = 36 +29 + 8 = 37 +29 + 9 = 38 +29 + 10 = 39 +29 + 11 = 40 +29 + 12 = 41 +29 + 13 = 42 +29 + 14 = 43 +29 + 15 = 44 +29 + 16 = 45 +29 + 17 = 46 +29 + 18 = 47 +29 + 19 = 48 +29 + 20 = 49 +29 + 21 = 50 +29 + 22 = 51 +29 + 23 = 52 +29 + 24 = 53 +29 + 25 = 54 +29 + 26 = 55 +29 + 27 = 56 +29 + 28 = 57 +29 + 29 = 58 +29 + 30 = 59 +29 + 31 = 60 +29 + 32 = 61 +29 + 33 = 62 +29 + 34 = 63 +29 + 35 = 64 +29 + 36 = 65 +29 + 37 = 66 +29 + 38 = 67 +29 + 39 = 68 +29 + 40 = 69 +29 + 41 = 70 +29 + 42 = 71 +29 + 43 = 72 +29 + 44 = 73 +29 + 45 = 74 +29 + 46 = 75 +29 + 47 = 76 +29 + 48 = 77 +29 + 49 = 78 +29 + 50 = 79 +29 + 51 = 80 +29 + 52 = 81 +29 + 53 = 82 +29 + 54 = 83 +29 + 55 = 84 +29 + 56 = 85 +29 + 57 = 86 +29 + 58 = 87 +29 + 59 = 88 +29 + 60 = 89 +29 + 61 = 90 +29 + 62 = 91 +29 + 63 = 92 +30 + 0 = 30 +30 + 1 = 31 +30 + 2 = 32 +30 + 3 = 33 +30 + 4 = 34 +30 + 5 = 35 +30 + 6 = 36 +30 + 7 = 37 +30 + 8 = 38 +30 + 9 = 39 +30 + 10 = 40 +30 + 11 = 41 +30 + 12 = 42 +30 + 13 = 43 +30 + 14 = 44 +30 + 15 = 45 +30 + 16 = 46 +30 + 17 = 47 +30 + 18 = 48 +30 + 19 = 49 +30 + 20 = 50 +30 + 21 = 51 +30 + 22 = 52 +30 + 23 = 53 +30 + 24 = 54 +30 + 25 = 55 +30 + 26 = 56 +30 + 27 = 57 +30 + 28 = 58 +30 + 29 = 59 +30 + 30 = 60 +30 + 31 = 61 +30 + 32 = 62 +30 + 33 = 63 +30 + 34 = 64 +30 + 35 = 65 +30 + 36 = 66 +30 + 37 = 67 +30 + 38 = 68 +30 + 39 = 69 +30 + 40 = 70 +30 + 41 = 71 +30 + 42 = 72 +30 + 43 = 73 +30 + 44 = 74 +30 + 45 = 75 +30 + 46 = 76 +30 + 47 = 77 +30 + 48 = 78 +30 + 49 = 79 +30 + 50 = 80 +30 + 51 = 81 +30 + 52 = 82 +30 + 53 = 83 +30 + 54 = 84 +30 + 55 = 85 +30 + 56 = 86 +30 + 57 = 87 +30 + 58 = 88 +30 + 59 = 89 +30 + 60 = 90 +30 + 61 = 91 +30 + 62 = 92 +30 + 63 = 93 +31 + 0 = 31 +31 + 1 = 32 +31 + 2 = 33 +31 + 3 = 34 +31 + 4 = 35 +31 + 5 = 36 +31 + 6 = 37 +31 + 7 = 38 +31 + 8 = 39 +31 + 9 = 40 +31 + 10 = 41 +31 + 11 = 42 +31 + 12 = 43 +31 + 13 = 44 +31 + 14 = 45 +31 + 15 = 46 +31 + 16 = 47 +31 + 17 = 48 +31 + 18 = 49 +31 + 19 = 50 +31 + 20 = 51 +31 + 21 = 52 +31 + 22 = 53 +31 + 23 = 54 +31 + 24 = 55 +31 + 25 = 56 +31 + 26 = 57 +31 + 27 = 58 +31 + 28 = 59 +31 + 29 = 60 +31 + 30 = 61 +31 + 31 = 62 +31 + 32 = 63 +31 + 33 = 64 +31 + 34 = 65 +31 + 35 = 66 +31 + 36 = 67 +31 + 37 = 68 +31 + 38 = 69 +31 + 39 = 70 +31 + 40 = 71 +31 + 41 = 72 +31 + 42 = 73 +31 + 43 = 74 +31 + 44 = 75 +31 + 45 = 76 +31 + 46 = 77 +31 + 47 = 78 +31 + 48 = 79 +31 + 49 = 80 +31 + 50 = 81 +31 + 51 = 82 +31 + 52 = 83 +31 + 53 = 84 +31 + 54 = 85 +31 + 55 = 86 +31 + 56 = 87 +31 + 57 = 88 +31 + 58 = 89 +31 + 59 = 90 +31 + 60 = 91 +31 + 61 = 92 +31 + 62 = 93 +31 + 63 = 94 +32 + 0 = 32 +32 + 1 = 33 +32 + 2 = 34 +32 + 3 = 35 +32 + 4 = 36 +32 + 5 = 37 +32 + 6 = 38 +32 + 7 = 39 +32 + 8 = 40 +32 + 9 = 41 +32 + 10 = 42 +32 + 11 = 43 +32 + 12 = 44 +32 + 13 = 45 +32 + 14 = 46 +32 + 15 = 47 +32 + 16 = 48 +32 + 17 = 49 +32 + 18 = 50 +32 + 19 = 51 +32 + 20 = 52 +32 + 21 = 53 +32 + 22 = 54 +32 + 23 = 55 +32 + 24 = 56 +32 + 25 = 57 +32 + 26 = 58 +32 + 27 = 59 +32 + 28 = 60 +32 + 29 = 61 +32 + 30 = 62 +32 + 31 = 63 +32 + 32 = 64 +32 + 33 = 65 +32 + 34 = 66 +32 + 35 = 67 +32 + 36 = 68 +32 + 37 = 69 +32 + 38 = 70 +32 + 39 = 71 +32 + 40 = 72 +32 + 41 = 73 +32 + 42 = 74 +32 + 43 = 75 +32 + 44 = 76 +32 + 45 = 77 +32 + 46 = 78 +32 + 47 = 79 +32 + 48 = 80 +32 + 49 = 81 +32 + 50 = 82 +32 + 51 = 83 +32 + 52 = 84 +32 + 53 = 85 +32 + 54 = 86 +32 + 55 = 87 +32 + 56 = 88 +32 + 57 = 89 +32 + 58 = 90 +32 + 59 = 91 +32 + 60 = 92 +32 + 61 = 93 +32 + 62 = 94 +32 + 63 = 95 +33 + 0 = 33 +33 + 1 = 34 +33 + 2 = 35 +33 + 3 = 36 +33 + 4 = 37 +33 + 5 = 38 +33 + 6 = 39 +33 + 7 = 40 +33 + 8 = 41 +33 + 9 = 42 +33 + 10 = 43 +33 + 11 = 44 +33 + 12 = 45 +33 + 13 = 46 +33 + 14 = 47 +33 + 15 = 48 +33 + 16 = 49 +33 + 17 = 50 +33 + 18 = 51 +33 + 19 = 52 +33 + 20 = 53 +33 + 21 = 54 +33 + 22 = 55 +33 + 23 = 56 +33 + 24 = 57 +33 + 25 = 58 +33 + 26 = 59 +33 + 27 = 60 +33 + 28 = 61 +33 + 29 = 62 +33 + 30 = 63 +33 + 31 = 64 +33 + 32 = 65 +33 + 33 = 66 +33 + 34 = 67 +33 + 35 = 68 +33 + 36 = 69 +33 + 37 = 70 +33 + 38 = 71 +33 + 39 = 72 +33 + 40 = 73 +33 + 41 = 74 +33 + 42 = 75 +33 + 43 = 76 +33 + 44 = 77 +33 + 45 = 78 +33 + 46 = 79 +33 + 47 = 80 +33 + 48 = 81 +33 + 49 = 82 +33 + 50 = 83 +33 + 51 = 84 +33 + 52 = 85 +33 + 53 = 86 +33 + 54 = 87 +33 + 55 = 88 +33 + 56 = 89 +33 + 57 = 90 +33 + 58 = 91 +33 + 59 = 92 +33 + 60 = 93 +33 + 61 = 94 +33 + 62 = 95 +33 + 63 = 96 +34 + 0 = 34 +34 + 1 = 35 +34 + 2 = 36 +34 + 3 = 37 +34 + 4 = 38 +34 + 5 = 39 +34 + 6 = 40 +34 + 7 = 41 +34 + 8 = 42 +34 + 9 = 43 +34 + 10 = 44 +34 + 11 = 45 +34 + 12 = 46 +34 + 13 = 47 +34 + 14 = 48 +34 + 15 = 49 +34 + 16 = 50 +34 + 17 = 51 +34 + 18 = 52 +34 + 19 = 53 +34 + 20 = 54 +34 + 21 = 55 +34 + 22 = 56 +34 + 23 = 57 +34 + 24 = 58 +34 + 25 = 59 +34 + 26 = 60 +34 + 27 = 61 +34 + 28 = 62 +34 + 29 = 63 +34 + 30 = 64 +34 + 31 = 65 +34 + 32 = 66 +34 + 33 = 67 +34 + 34 = 68 +34 + 35 = 69 +34 + 36 = 70 +34 + 37 = 71 +34 + 38 = 72 +34 + 39 = 73 +34 + 40 = 74 +34 + 41 = 75 +34 + 42 = 76 +34 + 43 = 77 +34 + 44 = 78 +34 + 45 = 79 +34 + 46 = 80 +34 + 47 = 81 +34 + 48 = 82 +34 + 49 = 83 +34 + 50 = 84 +34 + 51 = 85 +34 + 52 = 86 +34 + 53 = 87 +34 + 54 = 88 +34 + 55 = 89 +34 + 56 = 90 +34 + 57 = 91 +34 + 58 = 92 +34 + 59 = 93 +34 + 60 = 94 +34 + 61 = 95 +34 + 62 = 96 +34 + 63 = 97 +35 + 0 = 35 +35 + 1 = 36 +35 + 2 = 37 +35 + 3 = 38 +35 + 4 = 39 +35 + 5 = 40 +35 + 6 = 41 +35 + 7 = 42 +35 + 8 = 43 +35 + 9 = 44 +35 + 10 = 45 +35 + 11 = 46 +35 + 12 = 47 +35 + 13 = 48 +35 + 14 = 49 +35 + 15 = 50 +35 + 16 = 51 +35 + 17 = 52 +35 + 18 = 53 +35 + 19 = 54 +35 + 20 = 55 +35 + 21 = 56 +35 + 22 = 57 +35 + 23 = 58 +35 + 24 = 59 +35 + 25 = 60 +35 + 26 = 61 +35 + 27 = 62 +35 + 28 = 63 +35 + 29 = 64 +35 + 30 = 65 +35 + 31 = 66 +35 + 32 = 67 +35 + 33 = 68 +35 + 34 = 69 +35 + 35 = 70 +35 + 36 = 71 +35 + 37 = 72 +35 + 38 = 73 +35 + 39 = 74 +35 + 40 = 75 +35 + 41 = 76 +35 + 42 = 77 +35 + 43 = 78 +35 + 44 = 79 +35 + 45 = 80 +35 + 46 = 81 +35 + 47 = 82 +35 + 48 = 83 +35 + 49 = 84 +35 + 50 = 85 +35 + 51 = 86 +35 + 52 = 87 +35 + 53 = 88 +35 + 54 = 89 +35 + 55 = 90 +35 + 56 = 91 +35 + 57 = 92 +35 + 58 = 93 +35 + 59 = 94 +35 + 60 = 95 +35 + 61 = 96 +35 + 62 = 97 +35 + 63 = 98 +36 + 0 = 36 +36 + 1 = 37 +36 + 2 = 38 +36 + 3 = 39 +36 + 4 = 40 +36 + 5 = 41 +36 + 6 = 42 +36 + 7 = 43 +36 + 8 = 44 +36 + 9 = 45 +36 + 10 = 46 +36 + 11 = 47 +36 + 12 = 48 +36 + 13 = 49 +36 + 14 = 50 +36 + 15 = 51 +36 + 16 = 52 +36 + 17 = 53 +36 + 18 = 54 +36 + 19 = 55 +36 + 20 = 56 +36 + 21 = 57 +36 + 22 = 58 +36 + 23 = 59 +36 + 24 = 60 +36 + 25 = 61 +36 + 26 = 62 +36 + 27 = 63 +36 + 28 = 64 +36 + 29 = 65 +36 + 30 = 66 +36 + 31 = 67 +36 + 32 = 68 +36 + 33 = 69 +36 + 34 = 70 +36 + 35 = 71 +36 + 36 = 72 +36 + 37 = 73 +36 + 38 = 74 +36 + 39 = 75 +36 + 40 = 76 +36 + 41 = 77 +36 + 42 = 78 +36 + 43 = 79 +36 + 44 = 80 +36 + 45 = 81 +36 + 46 = 82 +36 + 47 = 83 +36 + 48 = 84 +36 + 49 = 85 +36 + 50 = 86 +36 + 51 = 87 +36 + 52 = 88 +36 + 53 = 89 +36 + 54 = 90 +36 + 55 = 91 +36 + 56 = 92 +36 + 57 = 93 +36 + 58 = 94 +36 + 59 = 95 +36 + 60 = 96 +36 + 61 = 97 +36 + 62 = 98 +36 + 63 = 99 +37 + 0 = 37 +37 + 1 = 38 +37 + 2 = 39 +37 + 3 = 40 +37 + 4 = 41 +37 + 5 = 42 +37 + 6 = 43 +37 + 7 = 44 +37 + 8 = 45 +37 + 9 = 46 +37 + 10 = 47 +37 + 11 = 48 +37 + 12 = 49 +37 + 13 = 50 +37 + 14 = 51 +37 + 15 = 52 +37 + 16 = 53 +37 + 17 = 54 +37 + 18 = 55 +37 + 19 = 56 +37 + 20 = 57 +37 + 21 = 58 +37 + 22 = 59 +37 + 23 = 60 +37 + 24 = 61 +37 + 25 = 62 +37 + 26 = 63 +37 + 27 = 64 +37 + 28 = 65 +37 + 29 = 66 +37 + 30 = 67 +37 + 31 = 68 +37 + 32 = 69 +37 + 33 = 70 +37 + 34 = 71 +37 + 35 = 72 +37 + 36 = 73 +37 + 37 = 74 +37 + 38 = 75 +37 + 39 = 76 +37 + 40 = 77 +37 + 41 = 78 +37 + 42 = 79 +37 + 43 = 80 +37 + 44 = 81 +37 + 45 = 82 +37 + 46 = 83 +37 + 47 = 84 +37 + 48 = 85 +37 + 49 = 86 +37 + 50 = 87 +37 + 51 = 88 +37 + 52 = 89 +37 + 53 = 90 +37 + 54 = 91 +37 + 55 = 92 +37 + 56 = 93 +37 + 57 = 94 +37 + 58 = 95 +37 + 59 = 96 +37 + 60 = 97 +37 + 61 = 98 +37 + 62 = 99 +37 + 63 = 100 +38 + 0 = 38 +38 + 1 = 39 +38 + 2 = 40 +38 + 3 = 41 +38 + 4 = 42 +38 + 5 = 43 +38 + 6 = 44 +38 + 7 = 45 +38 + 8 = 46 +38 + 9 = 47 +38 + 10 = 48 +38 + 11 = 49 +38 + 12 = 50 +38 + 13 = 51 +38 + 14 = 52 +38 + 15 = 53 +38 + 16 = 54 +38 + 17 = 55 +38 + 18 = 56 +38 + 19 = 57 +38 + 20 = 58 +38 + 21 = 59 +38 + 22 = 60 +38 + 23 = 61 +38 + 24 = 62 +38 + 25 = 63 +38 + 26 = 64 +38 + 27 = 65 +38 + 28 = 66 +38 + 29 = 67 +38 + 30 = 68 +38 + 31 = 69 +38 + 32 = 70 +38 + 33 = 71 +38 + 34 = 72 +38 + 35 = 73 +38 + 36 = 74 +38 + 37 = 75 +38 + 38 = 76 +38 + 39 = 77 +38 + 40 = 78 +38 + 41 = 79 +38 + 42 = 80 +38 + 43 = 81 +38 + 44 = 82 +38 + 45 = 83 +38 + 46 = 84 +38 + 47 = 85 +38 + 48 = 86 +38 + 49 = 87 +38 + 50 = 88 +38 + 51 = 89 +38 + 52 = 90 +38 + 53 = 91 +38 + 54 = 92 +38 + 55 = 93 +38 + 56 = 94 +38 + 57 = 95 +38 + 58 = 96 +38 + 59 = 97 +38 + 60 = 98 +38 + 61 = 99 +38 + 62 = 100 +38 + 63 = 101 +39 + 0 = 39 +39 + 1 = 40 +39 + 2 = 41 +39 + 3 = 42 +39 + 4 = 43 +39 + 5 = 44 +39 + 6 = 45 +39 + 7 = 46 +39 + 8 = 47 +39 + 9 = 48 +39 + 10 = 49 +39 + 11 = 50 +39 + 12 = 51 +39 + 13 = 52 +39 + 14 = 53 +39 + 15 = 54 +39 + 16 = 55 +39 + 17 = 56 +39 + 18 = 57 +39 + 19 = 58 +39 + 20 = 59 +39 + 21 = 60 +39 + 22 = 61 +39 + 23 = 62 +39 + 24 = 63 +39 + 25 = 64 +39 + 26 = 65 +39 + 27 = 66 +39 + 28 = 67 +39 + 29 = 68 +39 + 30 = 69 +39 + 31 = 70 +39 + 32 = 71 +39 + 33 = 72 +39 + 34 = 73 +39 + 35 = 74 +39 + 36 = 75 +39 + 37 = 76 +39 + 38 = 77 +39 + 39 = 78 +39 + 40 = 79 +39 + 41 = 80 +39 + 42 = 81 +39 + 43 = 82 +39 + 44 = 83 +39 + 45 = 84 +39 + 46 = 85 +39 + 47 = 86 +39 + 48 = 87 +39 + 49 = 88 +39 + 50 = 89 +39 + 51 = 90 +39 + 52 = 91 +39 + 53 = 92 +39 + 54 = 93 +39 + 55 = 94 +39 + 56 = 95 +39 + 57 = 96 +39 + 58 = 97 +39 + 59 = 98 +39 + 60 = 99 +39 + 61 = 100 +39 + 62 = 101 +39 + 63 = 102 +40 + 0 = 40 +40 + 1 = 41 +40 + 2 = 42 +40 + 3 = 43 +40 + 4 = 44 +40 + 5 = 45 +40 + 6 = 46 +40 + 7 = 47 +40 + 8 = 48 +40 + 9 = 49 +40 + 10 = 50 +40 + 11 = 51 +40 + 12 = 52 +40 + 13 = 53 +40 + 14 = 54 +40 + 15 = 55 +40 + 16 = 56 +40 + 17 = 57 +40 + 18 = 58 +40 + 19 = 59 +40 + 20 = 60 +40 + 21 = 61 +40 + 22 = 62 +40 + 23 = 63 +40 + 24 = 64 +40 + 25 = 65 +40 + 26 = 66 +40 + 27 = 67 +40 + 28 = 68 +40 + 29 = 69 +40 + 30 = 70 +40 + 31 = 71 +40 + 32 = 72 +40 + 33 = 73 +40 + 34 = 74 +40 + 35 = 75 +40 + 36 = 76 +40 + 37 = 77 +40 + 38 = 78 +40 + 39 = 79 +40 + 40 = 80 +40 + 41 = 81 +40 + 42 = 82 +40 + 43 = 83 +40 + 44 = 84 +40 + 45 = 85 +40 + 46 = 86 +40 + 47 = 87 +40 + 48 = 88 +40 + 49 = 89 +40 + 50 = 90 +40 + 51 = 91 +40 + 52 = 92 +40 + 53 = 93 +40 + 54 = 94 +40 + 55 = 95 +40 + 56 = 96 +40 + 57 = 97 +40 + 58 = 98 +40 + 59 = 99 +40 + 60 = 100 +40 + 61 = 101 +40 + 62 = 102 +40 + 63 = 103 +41 + 0 = 41 +41 + 1 = 42 +41 + 2 = 43 +41 + 3 = 44 +41 + 4 = 45 +41 + 5 = 46 +41 + 6 = 47 +41 + 7 = 48 +41 + 8 = 49 +41 + 9 = 50 +41 + 10 = 51 +41 + 11 = 52 +41 + 12 = 53 +41 + 13 = 54 +41 + 14 = 55 +41 + 15 = 56 +41 + 16 = 57 +41 + 17 = 58 +41 + 18 = 59 +41 + 19 = 60 +41 + 20 = 61 +41 + 21 = 62 +41 + 22 = 63 +41 + 23 = 64 +41 + 24 = 65 +41 + 25 = 66 +41 + 26 = 67 +41 + 27 = 68 +41 + 28 = 69 +41 + 29 = 70 +41 + 30 = 71 +41 + 31 = 72 +41 + 32 = 73 +41 + 33 = 74 +41 + 34 = 75 +41 + 35 = 76 +41 + 36 = 77 +41 + 37 = 78 +41 + 38 = 79 +41 + 39 = 80 +41 + 40 = 81 +41 + 41 = 82 +41 + 42 = 83 +41 + 43 = 84 +41 + 44 = 85 +41 + 45 = 86 +41 + 46 = 87 +41 + 47 = 88 +41 + 48 = 89 +41 + 49 = 90 +41 + 50 = 91 +41 + 51 = 92 +41 + 52 = 93 +41 + 53 = 94 +41 + 54 = 95 +41 + 55 = 96 +41 + 56 = 97 +41 + 57 = 98 +41 + 58 = 99 +41 + 59 = 100 +41 + 60 = 101 +41 + 61 = 102 +41 + 62 = 103 +41 + 63 = 104 +42 + 0 = 42 +42 + 1 = 43 +42 + 2 = 44 +42 + 3 = 45 +42 + 4 = 46 +42 + 5 = 47 +42 + 6 = 48 +42 + 7 = 49 +42 + 8 = 50 +42 + 9 = 51 +42 + 10 = 52 +42 + 11 = 53 +42 + 12 = 54 +42 + 13 = 55 +42 + 14 = 56 +42 + 15 = 57 +42 + 16 = 58 +42 + 17 = 59 +42 + 18 = 60 +42 + 19 = 61 +42 + 20 = 62 +42 + 21 = 63 +42 + 22 = 64 +42 + 23 = 65 +42 + 24 = 66 +42 + 25 = 67 +42 + 26 = 68 +42 + 27 = 69 +42 + 28 = 70 +42 + 29 = 71 +42 + 30 = 72 +42 + 31 = 73 +42 + 32 = 74 +42 + 33 = 75 +42 + 34 = 76 +42 + 35 = 77 +42 + 36 = 78 +42 + 37 = 79 +42 + 38 = 80 +42 + 39 = 81 +42 + 40 = 82 +42 + 41 = 83 +42 + 42 = 84 +42 + 43 = 85 +42 + 44 = 86 +42 + 45 = 87 +42 + 46 = 88 +42 + 47 = 89 +42 + 48 = 90 +42 + 49 = 91 +42 + 50 = 92 +42 + 51 = 93 +42 + 52 = 94 +42 + 53 = 95 +42 + 54 = 96 +42 + 55 = 97 +42 + 56 = 98 +42 + 57 = 99 +42 + 58 = 100 +42 + 59 = 101 +42 + 60 = 102 +42 + 61 = 103 +42 + 62 = 104 +42 + 63 = 105 +43 + 0 = 43 +43 + 1 = 44 +43 + 2 = 45 +43 + 3 = 46 +43 + 4 = 47 +43 + 5 = 48 +43 + 6 = 49 +43 + 7 = 50 +43 + 8 = 51 +43 + 9 = 52 +43 + 10 = 53 +43 + 11 = 54 +43 + 12 = 55 +43 + 13 = 56 +43 + 14 = 57 +43 + 15 = 58 +43 + 16 = 59 +43 + 17 = 60 +43 + 18 = 61 +43 + 19 = 62 +43 + 20 = 63 +43 + 21 = 64 +43 + 22 = 65 +43 + 23 = 66 +43 + 24 = 67 +43 + 25 = 68 +43 + 26 = 69 +43 + 27 = 70 +43 + 28 = 71 +43 + 29 = 72 +43 + 30 = 73 +43 + 31 = 74 +43 + 32 = 75 +43 + 33 = 76 +43 + 34 = 77 +43 + 35 = 78 +43 + 36 = 79 +43 + 37 = 80 +43 + 38 = 81 +43 + 39 = 82 +43 + 40 = 83 +43 + 41 = 84 +43 + 42 = 85 +43 + 43 = 86 +43 + 44 = 87 +43 + 45 = 88 +43 + 46 = 89 +43 + 47 = 90 +43 + 48 = 91 +43 + 49 = 92 +43 + 50 = 93 +43 + 51 = 94 +43 + 52 = 95 +43 + 53 = 96 +43 + 54 = 97 +43 + 55 = 98 +43 + 56 = 99 +43 + 57 = 100 +43 + 58 = 101 +43 + 59 = 102 +43 + 60 = 103 +43 + 61 = 104 +43 + 62 = 105 +43 + 63 = 106 +44 + 0 = 44 +44 + 1 = 45 +44 + 2 = 46 +44 + 3 = 47 +44 + 4 = 48 +44 + 5 = 49 +44 + 6 = 50 +44 + 7 = 51 +44 + 8 = 52 +44 + 9 = 53 +44 + 10 = 54 +44 + 11 = 55 +44 + 12 = 56 +44 + 13 = 57 +44 + 14 = 58 +44 + 15 = 59 +44 + 16 = 60 +44 + 17 = 61 +44 + 18 = 62 +44 + 19 = 63 +44 + 20 = 64 +44 + 21 = 65 +44 + 22 = 66 +44 + 23 = 67 +44 + 24 = 68 +44 + 25 = 69 +44 + 26 = 70 +44 + 27 = 71 +44 + 28 = 72 +44 + 29 = 73 +44 + 30 = 74 +44 + 31 = 75 +44 + 32 = 76 +44 + 33 = 77 +44 + 34 = 78 +44 + 35 = 79 +44 + 36 = 80 +44 + 37 = 81 +44 + 38 = 82 +44 + 39 = 83 +44 + 40 = 84 +44 + 41 = 85 +44 + 42 = 86 +44 + 43 = 87 +44 + 44 = 88 +44 + 45 = 89 +44 + 46 = 90 +44 + 47 = 91 +44 + 48 = 92 +44 + 49 = 93 +44 + 50 = 94 +44 + 51 = 95 +44 + 52 = 96 +44 + 53 = 97 +44 + 54 = 98 +44 + 55 = 99 +44 + 56 = 100 +44 + 57 = 101 +44 + 58 = 102 +44 + 59 = 103 +44 + 60 = 104 +44 + 61 = 105 +44 + 62 = 106 +44 + 63 = 107 +45 + 0 = 45 +45 + 1 = 46 +45 + 2 = 47 +45 + 3 = 48 +45 + 4 = 49 +45 + 5 = 50 +45 + 6 = 51 +45 + 7 = 52 +45 + 8 = 53 +45 + 9 = 54 +45 + 10 = 55 +45 + 11 = 56 +45 + 12 = 57 +45 + 13 = 58 +45 + 14 = 59 +45 + 15 = 60 +45 + 16 = 61 +45 + 17 = 62 +45 + 18 = 63 +45 + 19 = 64 +45 + 20 = 65 +45 + 21 = 66 +45 + 22 = 67 +45 + 23 = 68 +45 + 24 = 69 +45 + 25 = 70 +45 + 26 = 71 +45 + 27 = 72 +45 + 28 = 73 +45 + 29 = 74 +45 + 30 = 75 +45 + 31 = 76 +45 + 32 = 77 +45 + 33 = 78 +45 + 34 = 79 +45 + 35 = 80 +45 + 36 = 81 +45 + 37 = 82 +45 + 38 = 83 +45 + 39 = 84 +45 + 40 = 85 +45 + 41 = 86 +45 + 42 = 87 +45 + 43 = 88 +45 + 44 = 89 +45 + 45 = 90 +45 + 46 = 91 +45 + 47 = 92 +45 + 48 = 93 +45 + 49 = 94 +45 + 50 = 95 +45 + 51 = 96 +45 + 52 = 97 +45 + 53 = 98 +45 + 54 = 99 +45 + 55 = 100 +45 + 56 = 101 +45 + 57 = 102 +45 + 58 = 103 +45 + 59 = 104 +45 + 60 = 105 +45 + 61 = 106 +45 + 62 = 107 +45 + 63 = 108 +46 + 0 = 46 +46 + 1 = 47 +46 + 2 = 48 +46 + 3 = 49 +46 + 4 = 50 +46 + 5 = 51 +46 + 6 = 52 +46 + 7 = 53 +46 + 8 = 54 +46 + 9 = 55 +46 + 10 = 56 +46 + 11 = 57 +46 + 12 = 58 +46 + 13 = 59 +46 + 14 = 60 +46 + 15 = 61 +46 + 16 = 62 +46 + 17 = 63 +46 + 18 = 64 +46 + 19 = 65 +46 + 20 = 66 +46 + 21 = 67 +46 + 22 = 68 +46 + 23 = 69 +46 + 24 = 70 +46 + 25 = 71 +46 + 26 = 72 +46 + 27 = 73 +46 + 28 = 74 +46 + 29 = 75 +46 + 30 = 76 +46 + 31 = 77 +46 + 32 = 78 +46 + 33 = 79 +46 + 34 = 80 +46 + 35 = 81 +46 + 36 = 82 +46 + 37 = 83 +46 + 38 = 84 +46 + 39 = 85 +46 + 40 = 86 +46 + 41 = 87 +46 + 42 = 88 +46 + 43 = 89 +46 + 44 = 90 +46 + 45 = 91 +46 + 46 = 92 +46 + 47 = 93 +46 + 48 = 94 +46 + 49 = 95 +46 + 50 = 96 +46 + 51 = 97 +46 + 52 = 98 +46 + 53 = 99 +46 + 54 = 100 +46 + 55 = 101 +46 + 56 = 102 +46 + 57 = 103 +46 + 58 = 104 +46 + 59 = 105 +46 + 60 = 106 +46 + 61 = 107 +46 + 62 = 108 +46 + 63 = 109 +47 + 0 = 47 +47 + 1 = 48 +47 + 2 = 49 +47 + 3 = 50 +47 + 4 = 51 +47 + 5 = 52 +47 + 6 = 53 +47 + 7 = 54 +47 + 8 = 55 +47 + 9 = 56 +47 + 10 = 57 +47 + 11 = 58 +47 + 12 = 59 +47 + 13 = 60 +47 + 14 = 61 +47 + 15 = 62 +47 + 16 = 63 +47 + 17 = 64 +47 + 18 = 65 +47 + 19 = 66 +47 + 20 = 67 +47 + 21 = 68 +47 + 22 = 69 +47 + 23 = 70 +47 + 24 = 71 +47 + 25 = 72 +47 + 26 = 73 +47 + 27 = 74 +47 + 28 = 75 +47 + 29 = 76 +47 + 30 = 77 +47 + 31 = 78 +47 + 32 = 79 +47 + 33 = 80 +47 + 34 = 81 +47 + 35 = 82 +47 + 36 = 83 +47 + 37 = 84 +47 + 38 = 85 +47 + 39 = 86 +47 + 40 = 87 +47 + 41 = 88 +47 + 42 = 89 +47 + 43 = 90 +47 + 44 = 91 +47 + 45 = 92 +47 + 46 = 93 +47 + 47 = 94 +47 + 48 = 95 +47 + 49 = 96 +47 + 50 = 97 +47 + 51 = 98 +47 + 52 = 99 +47 + 53 = 100 +47 + 54 = 101 +47 + 55 = 102 +47 + 56 = 103 +47 + 57 = 104 +47 + 58 = 105 +47 + 59 = 106 +47 + 60 = 107 +47 + 61 = 108 +47 + 62 = 109 +47 + 63 = 110 +48 + 0 = 48 +48 + 1 = 49 +48 + 2 = 50 +48 + 3 = 51 +48 + 4 = 52 +48 + 5 = 53 +48 + 6 = 54 +48 + 7 = 55 +48 + 8 = 56 +48 + 9 = 57 +48 + 10 = 58 +48 + 11 = 59 +48 + 12 = 60 +48 + 13 = 61 +48 + 14 = 62 +48 + 15 = 63 +48 + 16 = 64 +48 + 17 = 65 +48 + 18 = 66 +48 + 19 = 67 +48 + 20 = 68 +48 + 21 = 69 +48 + 22 = 70 +48 + 23 = 71 +48 + 24 = 72 +48 + 25 = 73 +48 + 26 = 74 +48 + 27 = 75 +48 + 28 = 76 +48 + 29 = 77 +48 + 30 = 78 +48 + 31 = 79 +48 + 32 = 80 +48 + 33 = 81 +48 + 34 = 82 +48 + 35 = 83 +48 + 36 = 84 +48 + 37 = 85 +48 + 38 = 86 +48 + 39 = 87 +48 + 40 = 88 +48 + 41 = 89 +48 + 42 = 90 +48 + 43 = 91 +48 + 44 = 92 +48 + 45 = 93 +48 + 46 = 94 +48 + 47 = 95 +48 + 48 = 96 +48 + 49 = 97 +48 + 50 = 98 +48 + 51 = 99 +48 + 52 = 100 +48 + 53 = 101 +48 + 54 = 102 +48 + 55 = 103 +48 + 56 = 104 +48 + 57 = 105 +48 + 58 = 106 +48 + 59 = 107 +48 + 60 = 108 +48 + 61 = 109 +48 + 62 = 110 +48 + 63 = 111 +49 + 0 = 49 +49 + 1 = 50 +49 + 2 = 51 +49 + 3 = 52 +49 + 4 = 53 +49 + 5 = 54 +49 + 6 = 55 +49 + 7 = 56 +49 + 8 = 57 +49 + 9 = 58 +49 + 10 = 59 +49 + 11 = 60 +49 + 12 = 61 +49 + 13 = 62 +49 + 14 = 63 +49 + 15 = 64 +49 + 16 = 65 +49 + 17 = 66 +49 + 18 = 67 +49 + 19 = 68 +49 + 20 = 69 +49 + 21 = 70 +49 + 22 = 71 +49 + 23 = 72 +49 + 24 = 73 +49 + 25 = 74 +49 + 26 = 75 +49 + 27 = 76 +49 + 28 = 77 +49 + 29 = 78 +49 + 30 = 79 +49 + 31 = 80 +49 + 32 = 81 +49 + 33 = 82 +49 + 34 = 83 +49 + 35 = 84 +49 + 36 = 85 +49 + 37 = 86 +49 + 38 = 87 +49 + 39 = 88 +49 + 40 = 89 +49 + 41 = 90 +49 + 42 = 91 +49 + 43 = 92 +49 + 44 = 93 +49 + 45 = 94 +49 + 46 = 95 +49 + 47 = 96 +49 + 48 = 97 +49 + 49 = 98 +49 + 50 = 99 +49 + 51 = 100 +49 + 52 = 101 +49 + 53 = 102 +49 + 54 = 103 +49 + 55 = 104 +49 + 56 = 105 +49 + 57 = 106 +49 + 58 = 107 +49 + 59 = 108 +49 + 60 = 109 +49 + 61 = 110 +49 + 62 = 111 +49 + 63 = 112 +50 + 0 = 50 +50 + 1 = 51 +50 + 2 = 52 +50 + 3 = 53 +50 + 4 = 54 +50 + 5 = 55 +50 + 6 = 56 +50 + 7 = 57 +50 + 8 = 58 +50 + 9 = 59 +50 + 10 = 60 +50 + 11 = 61 +50 + 12 = 62 +50 + 13 = 63 +50 + 14 = 64 +50 + 15 = 65 +50 + 16 = 66 +50 + 17 = 67 +50 + 18 = 68 +50 + 19 = 69 +50 + 20 = 70 +50 + 21 = 71 +50 + 22 = 72 +50 + 23 = 73 +50 + 24 = 74 +50 + 25 = 75 +50 + 26 = 76 +50 + 27 = 77 +50 + 28 = 78 +50 + 29 = 79 +50 + 30 = 80 +50 + 31 = 81 +50 + 32 = 82 +50 + 33 = 83 +50 + 34 = 84 +50 + 35 = 85 +50 + 36 = 86 +50 + 37 = 87 +50 + 38 = 88 +50 + 39 = 89 +50 + 40 = 90 +50 + 41 = 91 +50 + 42 = 92 +50 + 43 = 93 +50 + 44 = 94 +50 + 45 = 95 +50 + 46 = 96 +50 + 47 = 97 +50 + 48 = 98 +50 + 49 = 99 +50 + 50 = 100 +50 + 51 = 101 +50 + 52 = 102 +50 + 53 = 103 +50 + 54 = 104 +50 + 55 = 105 +50 + 56 = 106 +50 + 57 = 107 +50 + 58 = 108 +50 + 59 = 109 +50 + 60 = 110 +50 + 61 = 111 +50 + 62 = 112 +50 + 63 = 113 +51 + 0 = 51 +51 + 1 = 52 +51 + 2 = 53 +51 + 3 = 54 +51 + 4 = 55 +51 + 5 = 56 +51 + 6 = 57 +51 + 7 = 58 +51 + 8 = 59 +51 + 9 = 60 +51 + 10 = 61 +51 + 11 = 62 +51 + 12 = 63 +51 + 13 = 64 +51 + 14 = 65 +51 + 15 = 66 +51 + 16 = 67 +51 + 17 = 68 +51 + 18 = 69 +51 + 19 = 70 +51 + 20 = 71 +51 + 21 = 72 +51 + 22 = 73 +51 + 23 = 74 +51 + 24 = 75 +51 + 25 = 76 +51 + 26 = 77 +51 + 27 = 78 +51 + 28 = 79 +51 + 29 = 80 +51 + 30 = 81 +51 + 31 = 82 +51 + 32 = 83 +51 + 33 = 84 +51 + 34 = 85 +51 + 35 = 86 +51 + 36 = 87 +51 + 37 = 88 +51 + 38 = 89 +51 + 39 = 90 +51 + 40 = 91 +51 + 41 = 92 +51 + 42 = 93 +51 + 43 = 94 +51 + 44 = 95 +51 + 45 = 96 +51 + 46 = 97 +51 + 47 = 98 +51 + 48 = 99 +51 + 49 = 100 +51 + 50 = 101 +51 + 51 = 102 +51 + 52 = 103 +51 + 53 = 104 +51 + 54 = 105 +51 + 55 = 106 +51 + 56 = 107 +51 + 57 = 108 +51 + 58 = 109 +51 + 59 = 110 +51 + 60 = 111 +51 + 61 = 112 +51 + 62 = 113 +51 + 63 = 114 +52 + 0 = 52 +52 + 1 = 53 +52 + 2 = 54 +52 + 3 = 55 +52 + 4 = 56 +52 + 5 = 57 +52 + 6 = 58 +52 + 7 = 59 +52 + 8 = 60 +52 + 9 = 61 +52 + 10 = 62 +52 + 11 = 63 +52 + 12 = 64 +52 + 13 = 65 +52 + 14 = 66 +52 + 15 = 67 +52 + 16 = 68 +52 + 17 = 69 +52 + 18 = 70 +52 + 19 = 71 +52 + 20 = 72 +52 + 21 = 73 +52 + 22 = 74 +52 + 23 = 75 +52 + 24 = 76 +52 + 25 = 77 +52 + 26 = 78 +52 + 27 = 79 +52 + 28 = 80 +52 + 29 = 81 +52 + 30 = 82 +52 + 31 = 83 +52 + 32 = 84 +52 + 33 = 85 +52 + 34 = 86 +52 + 35 = 87 +52 + 36 = 88 +52 + 37 = 89 +52 + 38 = 90 +52 + 39 = 91 +52 + 40 = 92 +52 + 41 = 93 +52 + 42 = 94 +52 + 43 = 95 +52 + 44 = 96 +52 + 45 = 97 +52 + 46 = 98 +52 + 47 = 99 +52 + 48 = 100 +52 + 49 = 101 +52 + 50 = 102 +52 + 51 = 103 +52 + 52 = 104 +52 + 53 = 105 +52 + 54 = 106 +52 + 55 = 107 +52 + 56 = 108 +52 + 57 = 109 +52 + 58 = 110 +52 + 59 = 111 +52 + 60 = 112 +52 + 61 = 113 +52 + 62 = 114 +52 + 63 = 115 +53 + 0 = 53 +53 + 1 = 54 +53 + 2 = 55 +53 + 3 = 56 +53 + 4 = 57 +53 + 5 = 58 +53 + 6 = 59 +53 + 7 = 60 +53 + 8 = 61 +53 + 9 = 62 +53 + 10 = 63 +53 + 11 = 64 +53 + 12 = 65 +53 + 13 = 66 +53 + 14 = 67 +53 + 15 = 68 +53 + 16 = 69 +53 + 17 = 70 +53 + 18 = 71 +53 + 19 = 72 +53 + 20 = 73 +53 + 21 = 74 +53 + 22 = 75 +53 + 23 = 76 +53 + 24 = 77 +53 + 25 = 78 +53 + 26 = 79 +53 + 27 = 80 +53 + 28 = 81 +53 + 29 = 82 +53 + 30 = 83 +53 + 31 = 84 +53 + 32 = 85 +53 + 33 = 86 +53 + 34 = 87 +53 + 35 = 88 +53 + 36 = 89 +53 + 37 = 90 +53 + 38 = 91 +53 + 39 = 92 +53 + 40 = 93 +53 + 41 = 94 +53 + 42 = 95 +53 + 43 = 96 +53 + 44 = 97 +53 + 45 = 98 +53 + 46 = 99 +53 + 47 = 100 +53 + 48 = 101 +53 + 49 = 102 +53 + 50 = 103 +53 + 51 = 104 +53 + 52 = 105 +53 + 53 = 106 +53 + 54 = 107 +53 + 55 = 108 +53 + 56 = 109 +53 + 57 = 110 +53 + 58 = 111 +53 + 59 = 112 +53 + 60 = 113 +53 + 61 = 114 +53 + 62 = 115 +53 + 63 = 116 +54 + 0 = 54 +54 + 1 = 55 +54 + 2 = 56 +54 + 3 = 57 +54 + 4 = 58 +54 + 5 = 59 +54 + 6 = 60 +54 + 7 = 61 +54 + 8 = 62 +54 + 9 = 63 +54 + 10 = 64 +54 + 11 = 65 +54 + 12 = 66 +54 + 13 = 67 +54 + 14 = 68 +54 + 15 = 69 +54 + 16 = 70 +54 + 17 = 71 +54 + 18 = 72 +54 + 19 = 73 +54 + 20 = 74 +54 + 21 = 75 +54 + 22 = 76 +54 + 23 = 77 +54 + 24 = 78 +54 + 25 = 79 +54 + 26 = 80 +54 + 27 = 81 +54 + 28 = 82 +54 + 29 = 83 +54 + 30 = 84 +54 + 31 = 85 +54 + 32 = 86 +54 + 33 = 87 +54 + 34 = 88 +54 + 35 = 89 +54 + 36 = 90 +54 + 37 = 91 +54 + 38 = 92 +54 + 39 = 93 +54 + 40 = 94 +54 + 41 = 95 +54 + 42 = 96 +54 + 43 = 97 +54 + 44 = 98 +54 + 45 = 99 +54 + 46 = 100 +54 + 47 = 101 +54 + 48 = 102 +54 + 49 = 103 +54 + 50 = 104 +54 + 51 = 105 +54 + 52 = 106 +54 + 53 = 107 +54 + 54 = 108 +54 + 55 = 109 +54 + 56 = 110 +54 + 57 = 111 +54 + 58 = 112 +54 + 59 = 113 +54 + 60 = 114 +54 + 61 = 115 +54 + 62 = 116 +54 + 63 = 117 +55 + 0 = 55 +55 + 1 = 56 +55 + 2 = 57 +55 + 3 = 58 +55 + 4 = 59 +55 + 5 = 60 +55 + 6 = 61 +55 + 7 = 62 +55 + 8 = 63 +55 + 9 = 64 +55 + 10 = 65 +55 + 11 = 66 +55 + 12 = 67 +55 + 13 = 68 +55 + 14 = 69 +55 + 15 = 70 +55 + 16 = 71 +55 + 17 = 72 +55 + 18 = 73 +55 + 19 = 74 +55 + 20 = 75 +55 + 21 = 76 +55 + 22 = 77 +55 + 23 = 78 +55 + 24 = 79 +55 + 25 = 80 +55 + 26 = 81 +55 + 27 = 82 +55 + 28 = 83 +55 + 29 = 84 +55 + 30 = 85 +55 + 31 = 86 +55 + 32 = 87 +55 + 33 = 88 +55 + 34 = 89 +55 + 35 = 90 +55 + 36 = 91 +55 + 37 = 92 +55 + 38 = 93 +55 + 39 = 94 +55 + 40 = 95 +55 + 41 = 96 +55 + 42 = 97 +55 + 43 = 98 +55 + 44 = 99 +55 + 45 = 100 +55 + 46 = 101 +55 + 47 = 102 +55 + 48 = 103 +55 + 49 = 104 +55 + 50 = 105 +55 + 51 = 106 +55 + 52 = 107 +55 + 53 = 108 +55 + 54 = 109 +55 + 55 = 110 +55 + 56 = 111 +55 + 57 = 112 +55 + 58 = 113 +55 + 59 = 114 +55 + 60 = 115 +55 + 61 = 116 +55 + 62 = 117 +55 + 63 = 118 +56 + 0 = 56 +56 + 1 = 57 +56 + 2 = 58 +56 + 3 = 59 +56 + 4 = 60 +56 + 5 = 61 +56 + 6 = 62 +56 + 7 = 63 +56 + 8 = 64 +56 + 9 = 65 +56 + 10 = 66 +56 + 11 = 67 +56 + 12 = 68 +56 + 13 = 69 +56 + 14 = 70 +56 + 15 = 71 +56 + 16 = 72 +56 + 17 = 73 +56 + 18 = 74 +56 + 19 = 75 +56 + 20 = 76 +56 + 21 = 77 +56 + 22 = 78 +56 + 23 = 79 +56 + 24 = 80 +56 + 25 = 81 +56 + 26 = 82 +56 + 27 = 83 +56 + 28 = 84 +56 + 29 = 85 +56 + 30 = 86 +56 + 31 = 87 +56 + 32 = 88 +56 + 33 = 89 +56 + 34 = 90 +56 + 35 = 91 +56 + 36 = 92 +56 + 37 = 93 +56 + 38 = 94 +56 + 39 = 95 +56 + 40 = 96 +56 + 41 = 97 +56 + 42 = 98 +56 + 43 = 99 +56 + 44 = 100 +56 + 45 = 101 +56 + 46 = 102 +56 + 47 = 103 +56 + 48 = 104 +56 + 49 = 105 +56 + 50 = 106 +56 + 51 = 107 +56 + 52 = 108 +56 + 53 = 109 +56 + 54 = 110 +56 + 55 = 111 +56 + 56 = 112 +56 + 57 = 113 +56 + 58 = 114 +56 + 59 = 115 +56 + 60 = 116 +56 + 61 = 117 +56 + 62 = 118 +56 + 63 = 119 +57 + 0 = 57 +57 + 1 = 58 +57 + 2 = 59 +57 + 3 = 60 +57 + 4 = 61 +57 + 5 = 62 +57 + 6 = 63 +57 + 7 = 64 +57 + 8 = 65 +57 + 9 = 66 +57 + 10 = 67 +57 + 11 = 68 +57 + 12 = 69 +57 + 13 = 70 +57 + 14 = 71 +57 + 15 = 72 +57 + 16 = 73 +57 + 17 = 74 +57 + 18 = 75 +57 + 19 = 76 +57 + 20 = 77 +57 + 21 = 78 +57 + 22 = 79 +57 + 23 = 80 +57 + 24 = 81 +57 + 25 = 82 +57 + 26 = 83 +57 + 27 = 84 +57 + 28 = 85 +57 + 29 = 86 +57 + 30 = 87 +57 + 31 = 88 +57 + 32 = 89 +57 + 33 = 90 +57 + 34 = 91 +57 + 35 = 92 +57 + 36 = 93 +57 + 37 = 94 +57 + 38 = 95 +57 + 39 = 96 +57 + 40 = 97 +57 + 41 = 98 +57 + 42 = 99 +57 + 43 = 100 +57 + 44 = 101 +57 + 45 = 102 +57 + 46 = 103 +57 + 47 = 104 +57 + 48 = 105 +57 + 49 = 106 +57 + 50 = 107 +57 + 51 = 108 +57 + 52 = 109 +57 + 53 = 110 +57 + 54 = 111 +57 + 55 = 112 +57 + 56 = 113 +57 + 57 = 114 +57 + 58 = 115 +57 + 59 = 116 +57 + 60 = 117 +57 + 61 = 118 +57 + 62 = 119 +57 + 63 = 120 +58 + 0 = 58 +58 + 1 = 59 +58 + 2 = 60 +58 + 3 = 61 +58 + 4 = 62 +58 + 5 = 63 +58 + 6 = 64 +58 + 7 = 65 +58 + 8 = 66 +58 + 9 = 67 +58 + 10 = 68 +58 + 11 = 69 +58 + 12 = 70 +58 + 13 = 71 +58 + 14 = 72 +58 + 15 = 73 +58 + 16 = 74 +58 + 17 = 75 +58 + 18 = 76 +58 + 19 = 77 +58 + 20 = 78 +58 + 21 = 79 +58 + 22 = 80 +58 + 23 = 81 +58 + 24 = 82 +58 + 25 = 83 +58 + 26 = 84 +58 + 27 = 85 +58 + 28 = 86 +58 + 29 = 87 +58 + 30 = 88 +58 + 31 = 89 +58 + 32 = 90 +58 + 33 = 91 +58 + 34 = 92 +58 + 35 = 93 +58 + 36 = 94 +58 + 37 = 95 +58 + 38 = 96 +58 + 39 = 97 +58 + 40 = 98 +58 + 41 = 99 +58 + 42 = 100 +58 + 43 = 101 +58 + 44 = 102 +58 + 45 = 103 +58 + 46 = 104 +58 + 47 = 105 +58 + 48 = 106 +58 + 49 = 107 +58 + 50 = 108 +58 + 51 = 109 +58 + 52 = 110 +58 + 53 = 111 +58 + 54 = 112 +58 + 55 = 113 +58 + 56 = 114 +58 + 57 = 115 +58 + 58 = 116 +58 + 59 = 117 +58 + 60 = 118 +58 + 61 = 119 +58 + 62 = 120 +58 + 63 = 121 +59 + 0 = 59 +59 + 1 = 60 +59 + 2 = 61 +59 + 3 = 62 +59 + 4 = 63 +59 + 5 = 64 +59 + 6 = 65 +59 + 7 = 66 +59 + 8 = 67 +59 + 9 = 68 +59 + 10 = 69 +59 + 11 = 70 +59 + 12 = 71 +59 + 13 = 72 +59 + 14 = 73 +59 + 15 = 74 +59 + 16 = 75 +59 + 17 = 76 +59 + 18 = 77 +59 + 19 = 78 +59 + 20 = 79 +59 + 21 = 80 +59 + 22 = 81 +59 + 23 = 82 +59 + 24 = 83 +59 + 25 = 84 +59 + 26 = 85 +59 + 27 = 86 +59 + 28 = 87 +59 + 29 = 88 +59 + 30 = 89 +59 + 31 = 90 +59 + 32 = 91 +59 + 33 = 92 +59 + 34 = 93 +59 + 35 = 94 +59 + 36 = 95 +59 + 37 = 96 +59 + 38 = 97 +59 + 39 = 98 +59 + 40 = 99 +59 + 41 = 100 +59 + 42 = 101 +59 + 43 = 102 +59 + 44 = 103 +59 + 45 = 104 +59 + 46 = 105 +59 + 47 = 106 +59 + 48 = 107 +59 + 49 = 108 +59 + 50 = 109 +59 + 51 = 110 +59 + 52 = 111 +59 + 53 = 112 +59 + 54 = 113 +59 + 55 = 114 +59 + 56 = 115 +59 + 57 = 116 +59 + 58 = 117 +59 + 59 = 118 +59 + 60 = 119 +59 + 61 = 120 +59 + 62 = 121 +59 + 63 = 122 +60 + 0 = 60 +60 + 1 = 61 +60 + 2 = 62 +60 + 3 = 63 +60 + 4 = 64 +60 + 5 = 65 +60 + 6 = 66 +60 + 7 = 67 +60 + 8 = 68 +60 + 9 = 69 +60 + 10 = 70 +60 + 11 = 71 +60 + 12 = 72 +60 + 13 = 73 +60 + 14 = 74 +60 + 15 = 75 +60 + 16 = 76 +60 + 17 = 77 +60 + 18 = 78 +60 + 19 = 79 +60 + 20 = 80 +60 + 21 = 81 +60 + 22 = 82 +60 + 23 = 83 +60 + 24 = 84 +60 + 25 = 85 +60 + 26 = 86 +60 + 27 = 87 +60 + 28 = 88 +60 + 29 = 89 +60 + 30 = 90 +60 + 31 = 91 +60 + 32 = 92 +60 + 33 = 93 +60 + 34 = 94 +60 + 35 = 95 +60 + 36 = 96 +60 + 37 = 97 +60 + 38 = 98 +60 + 39 = 99 +60 + 40 = 100 +60 + 41 = 101 +60 + 42 = 102 +60 + 43 = 103 +60 + 44 = 104 +60 + 45 = 105 +60 + 46 = 106 +60 + 47 = 107 +60 + 48 = 108 +60 + 49 = 109 +60 + 50 = 110 +60 + 51 = 111 +60 + 52 = 112 +60 + 53 = 113 +60 + 54 = 114 +60 + 55 = 115 +60 + 56 = 116 +60 + 57 = 117 +60 + 58 = 118 +60 + 59 = 119 +60 + 60 = 120 +60 + 61 = 121 +60 + 62 = 122 +60 + 63 = 123 +61 + 0 = 61 +61 + 1 = 62 +61 + 2 = 63 +61 + 3 = 64 +61 + 4 = 65 +61 + 5 = 66 +61 + 6 = 67 +61 + 7 = 68 +61 + 8 = 69 +61 + 9 = 70 +61 + 10 = 71 +61 + 11 = 72 +61 + 12 = 73 +61 + 13 = 74 +61 + 14 = 75 +61 + 15 = 76 +61 + 16 = 77 +61 + 17 = 78 +61 + 18 = 79 +61 + 19 = 80 +61 + 20 = 81 +61 + 21 = 82 +61 + 22 = 83 +61 + 23 = 84 +61 + 24 = 85 +61 + 25 = 86 +61 + 26 = 87 +61 + 27 = 88 +61 + 28 = 89 +61 + 29 = 90 +61 + 30 = 91 +61 + 31 = 92 +61 + 32 = 93 +61 + 33 = 94 +61 + 34 = 95 +61 + 35 = 96 +61 + 36 = 97 +61 + 37 = 98 +61 + 38 = 99 +61 + 39 = 100 +61 + 40 = 101 +61 + 41 = 102 +61 + 42 = 103 +61 + 43 = 104 +61 + 44 = 105 +61 + 45 = 106 +61 + 46 = 107 +61 + 47 = 108 +61 + 48 = 109 +61 + 49 = 110 +61 + 50 = 111 +61 + 51 = 112 +61 + 52 = 113 +61 + 53 = 114 +61 + 54 = 115 +61 + 55 = 116 +61 + 56 = 117 +61 + 57 = 118 +61 + 58 = 119 +61 + 59 = 120 +61 + 60 = 121 +61 + 61 = 122 +61 + 62 = 123 +61 + 63 = 124 +62 + 0 = 62 +62 + 1 = 63 +62 + 2 = 64 +62 + 3 = 65 +62 + 4 = 66 +62 + 5 = 67 +62 + 6 = 68 +62 + 7 = 69 +62 + 8 = 70 +62 + 9 = 71 +62 + 10 = 72 +62 + 11 = 73 +62 + 12 = 74 +62 + 13 = 75 +62 + 14 = 76 +62 + 15 = 77 +62 + 16 = 78 +62 + 17 = 79 +62 + 18 = 80 +62 + 19 = 81 +62 + 20 = 82 +62 + 21 = 83 +62 + 22 = 84 +62 + 23 = 85 +62 + 24 = 86 +62 + 25 = 87 +62 + 26 = 88 +62 + 27 = 89 +62 + 28 = 90 +62 + 29 = 91 +62 + 30 = 92 +62 + 31 = 93 +62 + 32 = 94 +62 + 33 = 95 +62 + 34 = 96 +62 + 35 = 97 +62 + 36 = 98 +62 + 37 = 99 +62 + 38 = 100 +62 + 39 = 101 +62 + 40 = 102 +62 + 41 = 103 +62 + 42 = 104 +62 + 43 = 105 +62 + 44 = 106 +62 + 45 = 107 +62 + 46 = 108 +62 + 47 = 109 +62 + 48 = 110 +62 + 49 = 111 +62 + 50 = 112 +62 + 51 = 113 +62 + 52 = 114 +62 + 53 = 115 +62 + 54 = 116 +62 + 55 = 117 +62 + 56 = 118 +62 + 57 = 119 +62 + 58 = 120 +62 + 59 = 121 +62 + 60 = 122 +62 + 61 = 123 +62 + 62 = 124 +62 + 63 = 125 +63 + 0 = 63 +63 + 1 = 64 +63 + 2 = 65 +63 + 3 = 66 +63 + 4 = 67 +63 + 5 = 68 +63 + 6 = 69 +63 + 7 = 70 +63 + 8 = 71 +63 + 9 = 72 +63 + 10 = 73 +63 + 11 = 74 +63 + 12 = 75 +63 + 13 = 76 +63 + 14 = 77 +63 + 15 = 78 +63 + 16 = 79 +63 + 17 = 80 +63 + 18 = 81 +63 + 19 = 82 +63 + 20 = 83 +63 + 21 = 84 +63 + 22 = 85 +63 + 23 = 86 +63 + 24 = 87 +63 + 25 = 88 +63 + 26 = 89 +63 + 27 = 90 +63 + 28 = 91 +63 + 29 = 92 +63 + 30 = 93 +63 + 31 = 94 +63 + 32 = 95 +63 + 33 = 96 +63 + 34 = 97 +63 + 35 = 98 +63 + 36 = 99 +63 + 37 = 100 +63 + 38 = 101 +63 + 39 = 102 +63 + 40 = 103 +63 + 41 = 104 +63 + 42 = 105 +63 + 43 = 106 +63 + 44 = 107 +63 + 45 = 108 +63 + 46 = 109 +63 + 47 = 110 +63 + 48 = 111 +63 + 49 = 112 +63 + 50 = 113 +63 + 51 = 114 +63 + 52 = 115 +63 + 53 = 116 +63 + 54 = 117 +63 + 55 = 118 +63 + 56 = 119 +63 + 57 = 120 +63 + 58 = 121 +63 + 59 = 122 +63 + 60 = 123 +63 + 61 = 124 +63 + 62 = 125 +63 + 63 = 126 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/main.cpp new file mode 100644 index 000000000..771aebbfa --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/main.cpp @@ -0,0 +1,71 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /***************************************/ + /* Main Filename: main.cc */ + /***************************************/ + /* */ + /* int = int + int */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /***************************************/ + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + sc_signal in1 ("in1"); + sc_signal in2 ("in2"); + sc_signal result ("result"); + sc_signal ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.cpp new file mode 100644 index 000000000..ac55101ee --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read() << " + " << in2.read() + << " = " << result.read() << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.h new file mode 100644 index 000000000..7e889295c --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/datawidth_int/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "systemc.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const sc_signal& result; + // Outputs + sc_signal& in1; + sc_signal& in2; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const sc_signal& RESULT, + sc_signal& IN1, + sc_signal& IN2, + sc_signal& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/common.h b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/common.h new file mode 100644 index 000000000..32dc0a213 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/common.h @@ -0,0 +1,46 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<7> bool_vector; +typedef sc_signal sc_signal_bool_vector; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.cpp new file mode 100644 index 000000000..d0534c61b --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.cpp @@ -0,0 +1,65 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + int tmp_a; + int tmp_b; + bool_vector tmp_result; + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + tmp_a = in1.read(); + tmp_b = in2.read(); + tmp_result = tmp_a + tmp_b; + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.h new file mode 100644 index 000000000..a30a68bd1 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/datawidth.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const sc_signal& in1; + const sc_signal& in2; + const sc_signal& ready; + // Outputs + sc_signal_bool_vector& result; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const sc_signal& IN1, + const sc_signal& IN2, + const sc_signal& READY, + sc_signal_bool_vector& RESULT ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/golden/int_to_bits.log b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/golden/int_to_bits.log new file mode 100644 index 000000000..b168b0482 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/golden/int_to_bits.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 +0 + 1 = 1 +0 + 2 = 2 +0 + 3 = 3 +0 + 4 = 4 +0 + 5 = 5 +0 + 6 = 6 +0 + 7 = 7 +0 + 8 = 8 +0 + 9 = 9 +0 + 10 = 10 +0 + 11 = 11 +0 + 12 = 12 +0 + 13 = 13 +0 + 14 = 14 +0 + 15 = 15 +0 + 16 = 16 +0 + 17 = 17 +0 + 18 = 18 +0 + 19 = 19 +0 + 20 = 20 +0 + 21 = 21 +0 + 22 = 22 +0 + 23 = 23 +0 + 24 = 24 +0 + 25 = 25 +0 + 26 = 26 +0 + 27 = 27 +0 + 28 = 28 +0 + 29 = 29 +0 + 30 = 30 +0 + 31 = 31 +0 + 32 = 32 +0 + 33 = 33 +0 + 34 = 34 +0 + 35 = 35 +0 + 36 = 36 +0 + 37 = 37 +0 + 38 = 38 +0 + 39 = 39 +0 + 40 = 40 +0 + 41 = 41 +0 + 42 = 42 +0 + 43 = 43 +0 + 44 = 44 +0 + 45 = 45 +0 + 46 = 46 +0 + 47 = 47 +0 + 48 = 48 +0 + 49 = 49 +0 + 50 = 50 +0 + 51 = 51 +0 + 52 = 52 +0 + 53 = 53 +0 + 54 = 54 +0 + 55 = 55 +0 + 56 = 56 +0 + 57 = 57 +0 + 58 = 58 +0 + 59 = 59 +0 + 60 = 60 +0 + 61 = 61 +0 + 62 = 62 +0 + 63 = 63 +1 + 0 = 1 +1 + 1 = 2 +1 + 2 = 3 +1 + 3 = 4 +1 + 4 = 5 +1 + 5 = 6 +1 + 6 = 7 +1 + 7 = 8 +1 + 8 = 9 +1 + 9 = 10 +1 + 10 = 11 +1 + 11 = 12 +1 + 12 = 13 +1 + 13 = 14 +1 + 14 = 15 +1 + 15 = 16 +1 + 16 = 17 +1 + 17 = 18 +1 + 18 = 19 +1 + 19 = 20 +1 + 20 = 21 +1 + 21 = 22 +1 + 22 = 23 +1 + 23 = 24 +1 + 24 = 25 +1 + 25 = 26 +1 + 26 = 27 +1 + 27 = 28 +1 + 28 = 29 +1 + 29 = 30 +1 + 30 = 31 +1 + 31 = 32 +1 + 32 = 33 +1 + 33 = 34 +1 + 34 = 35 +1 + 35 = 36 +1 + 36 = 37 +1 + 37 = 38 +1 + 38 = 39 +1 + 39 = 40 +1 + 40 = 41 +1 + 41 = 42 +1 + 42 = 43 +1 + 43 = 44 +1 + 44 = 45 +1 + 45 = 46 +1 + 46 = 47 +1 + 47 = 48 +1 + 48 = 49 +1 + 49 = 50 +1 + 50 = 51 +1 + 51 = 52 +1 + 52 = 53 +1 + 53 = 54 +1 + 54 = 55 +1 + 55 = 56 +1 + 56 = 57 +1 + 57 = 58 +1 + 58 = 59 +1 + 59 = 60 +1 + 60 = 61 +1 + 61 = 62 +1 + 62 = 63 +1 + 63 = 64 +2 + 0 = 2 +2 + 1 = 3 +2 + 2 = 4 +2 + 3 = 5 +2 + 4 = 6 +2 + 5 = 7 +2 + 6 = 8 +2 + 7 = 9 +2 + 8 = 10 +2 + 9 = 11 +2 + 10 = 12 +2 + 11 = 13 +2 + 12 = 14 +2 + 13 = 15 +2 + 14 = 16 +2 + 15 = 17 +2 + 16 = 18 +2 + 17 = 19 +2 + 18 = 20 +2 + 19 = 21 +2 + 20 = 22 +2 + 21 = 23 +2 + 22 = 24 +2 + 23 = 25 +2 + 24 = 26 +2 + 25 = 27 +2 + 26 = 28 +2 + 27 = 29 +2 + 28 = 30 +2 + 29 = 31 +2 + 30 = 32 +2 + 31 = 33 +2 + 32 = 34 +2 + 33 = 35 +2 + 34 = 36 +2 + 35 = 37 +2 + 36 = 38 +2 + 37 = 39 +2 + 38 = 40 +2 + 39 = 41 +2 + 40 = 42 +2 + 41 = 43 +2 + 42 = 44 +2 + 43 = 45 +2 + 44 = 46 +2 + 45 = 47 +2 + 46 = 48 +2 + 47 = 49 +2 + 48 = 50 +2 + 49 = 51 +2 + 50 = 52 +2 + 51 = 53 +2 + 52 = 54 +2 + 53 = 55 +2 + 54 = 56 +2 + 55 = 57 +2 + 56 = 58 +2 + 57 = 59 +2 + 58 = 60 +2 + 59 = 61 +2 + 60 = 62 +2 + 61 = 63 +2 + 62 = 64 +2 + 63 = 65 +3 + 0 = 3 +3 + 1 = 4 +3 + 2 = 5 +3 + 3 = 6 +3 + 4 = 7 +3 + 5 = 8 +3 + 6 = 9 +3 + 7 = 10 +3 + 8 = 11 +3 + 9 = 12 +3 + 10 = 13 +3 + 11 = 14 +3 + 12 = 15 +3 + 13 = 16 +3 + 14 = 17 +3 + 15 = 18 +3 + 16 = 19 +3 + 17 = 20 +3 + 18 = 21 +3 + 19 = 22 +3 + 20 = 23 +3 + 21 = 24 +3 + 22 = 25 +3 + 23 = 26 +3 + 24 = 27 +3 + 25 = 28 +3 + 26 = 29 +3 + 27 = 30 +3 + 28 = 31 +3 + 29 = 32 +3 + 30 = 33 +3 + 31 = 34 +3 + 32 = 35 +3 + 33 = 36 +3 + 34 = 37 +3 + 35 = 38 +3 + 36 = 39 +3 + 37 = 40 +3 + 38 = 41 +3 + 39 = 42 +3 + 40 = 43 +3 + 41 = 44 +3 + 42 = 45 +3 + 43 = 46 +3 + 44 = 47 +3 + 45 = 48 +3 + 46 = 49 +3 + 47 = 50 +3 + 48 = 51 +3 + 49 = 52 +3 + 50 = 53 +3 + 51 = 54 +3 + 52 = 55 +3 + 53 = 56 +3 + 54 = 57 +3 + 55 = 58 +3 + 56 = 59 +3 + 57 = 60 +3 + 58 = 61 +3 + 59 = 62 +3 + 60 = 63 +3 + 61 = 64 +3 + 62 = 65 +3 + 63 = 66 +4 + 0 = 4 +4 + 1 = 5 +4 + 2 = 6 +4 + 3 = 7 +4 + 4 = 8 +4 + 5 = 9 +4 + 6 = 10 +4 + 7 = 11 +4 + 8 = 12 +4 + 9 = 13 +4 + 10 = 14 +4 + 11 = 15 +4 + 12 = 16 +4 + 13 = 17 +4 + 14 = 18 +4 + 15 = 19 +4 + 16 = 20 +4 + 17 = 21 +4 + 18 = 22 +4 + 19 = 23 +4 + 20 = 24 +4 + 21 = 25 +4 + 22 = 26 +4 + 23 = 27 +4 + 24 = 28 +4 + 25 = 29 +4 + 26 = 30 +4 + 27 = 31 +4 + 28 = 32 +4 + 29 = 33 +4 + 30 = 34 +4 + 31 = 35 +4 + 32 = 36 +4 + 33 = 37 +4 + 34 = 38 +4 + 35 = 39 +4 + 36 = 40 +4 + 37 = 41 +4 + 38 = 42 +4 + 39 = 43 +4 + 40 = 44 +4 + 41 = 45 +4 + 42 = 46 +4 + 43 = 47 +4 + 44 = 48 +4 + 45 = 49 +4 + 46 = 50 +4 + 47 = 51 +4 + 48 = 52 +4 + 49 = 53 +4 + 50 = 54 +4 + 51 = 55 +4 + 52 = 56 +4 + 53 = 57 +4 + 54 = 58 +4 + 55 = 59 +4 + 56 = 60 +4 + 57 = 61 +4 + 58 = 62 +4 + 59 = 63 +4 + 60 = 64 +4 + 61 = 65 +4 + 62 = 66 +4 + 63 = 67 +5 + 0 = 5 +5 + 1 = 6 +5 + 2 = 7 +5 + 3 = 8 +5 + 4 = 9 +5 + 5 = 10 +5 + 6 = 11 +5 + 7 = 12 +5 + 8 = 13 +5 + 9 = 14 +5 + 10 = 15 +5 + 11 = 16 +5 + 12 = 17 +5 + 13 = 18 +5 + 14 = 19 +5 + 15 = 20 +5 + 16 = 21 +5 + 17 = 22 +5 + 18 = 23 +5 + 19 = 24 +5 + 20 = 25 +5 + 21 = 26 +5 + 22 = 27 +5 + 23 = 28 +5 + 24 = 29 +5 + 25 = 30 +5 + 26 = 31 +5 + 27 = 32 +5 + 28 = 33 +5 + 29 = 34 +5 + 30 = 35 +5 + 31 = 36 +5 + 32 = 37 +5 + 33 = 38 +5 + 34 = 39 +5 + 35 = 40 +5 + 36 = 41 +5 + 37 = 42 +5 + 38 = 43 +5 + 39 = 44 +5 + 40 = 45 +5 + 41 = 46 +5 + 42 = 47 +5 + 43 = 48 +5 + 44 = 49 +5 + 45 = 50 +5 + 46 = 51 +5 + 47 = 52 +5 + 48 = 53 +5 + 49 = 54 +5 + 50 = 55 +5 + 51 = 56 +5 + 52 = 57 +5 + 53 = 58 +5 + 54 = 59 +5 + 55 = 60 +5 + 56 = 61 +5 + 57 = 62 +5 + 58 = 63 +5 + 59 = 64 +5 + 60 = 65 +5 + 61 = 66 +5 + 62 = 67 +5 + 63 = 68 +6 + 0 = 6 +6 + 1 = 7 +6 + 2 = 8 +6 + 3 = 9 +6 + 4 = 10 +6 + 5 = 11 +6 + 6 = 12 +6 + 7 = 13 +6 + 8 = 14 +6 + 9 = 15 +6 + 10 = 16 +6 + 11 = 17 +6 + 12 = 18 +6 + 13 = 19 +6 + 14 = 20 +6 + 15 = 21 +6 + 16 = 22 +6 + 17 = 23 +6 + 18 = 24 +6 + 19 = 25 +6 + 20 = 26 +6 + 21 = 27 +6 + 22 = 28 +6 + 23 = 29 +6 + 24 = 30 +6 + 25 = 31 +6 + 26 = 32 +6 + 27 = 33 +6 + 28 = 34 +6 + 29 = 35 +6 + 30 = 36 +6 + 31 = 37 +6 + 32 = 38 +6 + 33 = 39 +6 + 34 = 40 +6 + 35 = 41 +6 + 36 = 42 +6 + 37 = 43 +6 + 38 = 44 +6 + 39 = 45 +6 + 40 = 46 +6 + 41 = 47 +6 + 42 = 48 +6 + 43 = 49 +6 + 44 = 50 +6 + 45 = 51 +6 + 46 = 52 +6 + 47 = 53 +6 + 48 = 54 +6 + 49 = 55 +6 + 50 = 56 +6 + 51 = 57 +6 + 52 = 58 +6 + 53 = 59 +6 + 54 = 60 +6 + 55 = 61 +6 + 56 = 62 +6 + 57 = 63 +6 + 58 = 64 +6 + 59 = 65 +6 + 60 = 66 +6 + 61 = 67 +6 + 62 = 68 +6 + 63 = 69 +7 + 0 = 7 +7 + 1 = 8 +7 + 2 = 9 +7 + 3 = 10 +7 + 4 = 11 +7 + 5 = 12 +7 + 6 = 13 +7 + 7 = 14 +7 + 8 = 15 +7 + 9 = 16 +7 + 10 = 17 +7 + 11 = 18 +7 + 12 = 19 +7 + 13 = 20 +7 + 14 = 21 +7 + 15 = 22 +7 + 16 = 23 +7 + 17 = 24 +7 + 18 = 25 +7 + 19 = 26 +7 + 20 = 27 +7 + 21 = 28 +7 + 22 = 29 +7 + 23 = 30 +7 + 24 = 31 +7 + 25 = 32 +7 + 26 = 33 +7 + 27 = 34 +7 + 28 = 35 +7 + 29 = 36 +7 + 30 = 37 +7 + 31 = 38 +7 + 32 = 39 +7 + 33 = 40 +7 + 34 = 41 +7 + 35 = 42 +7 + 36 = 43 +7 + 37 = 44 +7 + 38 = 45 +7 + 39 = 46 +7 + 40 = 47 +7 + 41 = 48 +7 + 42 = 49 +7 + 43 = 50 +7 + 44 = 51 +7 + 45 = 52 +7 + 46 = 53 +7 + 47 = 54 +7 + 48 = 55 +7 + 49 = 56 +7 + 50 = 57 +7 + 51 = 58 +7 + 52 = 59 +7 + 53 = 60 +7 + 54 = 61 +7 + 55 = 62 +7 + 56 = 63 +7 + 57 = 64 +7 + 58 = 65 +7 + 59 = 66 +7 + 60 = 67 +7 + 61 = 68 +7 + 62 = 69 +7 + 63 = 70 +8 + 0 = 8 +8 + 1 = 9 +8 + 2 = 10 +8 + 3 = 11 +8 + 4 = 12 +8 + 5 = 13 +8 + 6 = 14 +8 + 7 = 15 +8 + 8 = 16 +8 + 9 = 17 +8 + 10 = 18 +8 + 11 = 19 +8 + 12 = 20 +8 + 13 = 21 +8 + 14 = 22 +8 + 15 = 23 +8 + 16 = 24 +8 + 17 = 25 +8 + 18 = 26 +8 + 19 = 27 +8 + 20 = 28 +8 + 21 = 29 +8 + 22 = 30 +8 + 23 = 31 +8 + 24 = 32 +8 + 25 = 33 +8 + 26 = 34 +8 + 27 = 35 +8 + 28 = 36 +8 + 29 = 37 +8 + 30 = 38 +8 + 31 = 39 +8 + 32 = 40 +8 + 33 = 41 +8 + 34 = 42 +8 + 35 = 43 +8 + 36 = 44 +8 + 37 = 45 +8 + 38 = 46 +8 + 39 = 47 +8 + 40 = 48 +8 + 41 = 49 +8 + 42 = 50 +8 + 43 = 51 +8 + 44 = 52 +8 + 45 = 53 +8 + 46 = 54 +8 + 47 = 55 +8 + 48 = 56 +8 + 49 = 57 +8 + 50 = 58 +8 + 51 = 59 +8 + 52 = 60 +8 + 53 = 61 +8 + 54 = 62 +8 + 55 = 63 +8 + 56 = 64 +8 + 57 = 65 +8 + 58 = 66 +8 + 59 = 67 +8 + 60 = 68 +8 + 61 = 69 +8 + 62 = 70 +8 + 63 = 71 +9 + 0 = 9 +9 + 1 = 10 +9 + 2 = 11 +9 + 3 = 12 +9 + 4 = 13 +9 + 5 = 14 +9 + 6 = 15 +9 + 7 = 16 +9 + 8 = 17 +9 + 9 = 18 +9 + 10 = 19 +9 + 11 = 20 +9 + 12 = 21 +9 + 13 = 22 +9 + 14 = 23 +9 + 15 = 24 +9 + 16 = 25 +9 + 17 = 26 +9 + 18 = 27 +9 + 19 = 28 +9 + 20 = 29 +9 + 21 = 30 +9 + 22 = 31 +9 + 23 = 32 +9 + 24 = 33 +9 + 25 = 34 +9 + 26 = 35 +9 + 27 = 36 +9 + 28 = 37 +9 + 29 = 38 +9 + 30 = 39 +9 + 31 = 40 +9 + 32 = 41 +9 + 33 = 42 +9 + 34 = 43 +9 + 35 = 44 +9 + 36 = 45 +9 + 37 = 46 +9 + 38 = 47 +9 + 39 = 48 +9 + 40 = 49 +9 + 41 = 50 +9 + 42 = 51 +9 + 43 = 52 +9 + 44 = 53 +9 + 45 = 54 +9 + 46 = 55 +9 + 47 = 56 +9 + 48 = 57 +9 + 49 = 58 +9 + 50 = 59 +9 + 51 = 60 +9 + 52 = 61 +9 + 53 = 62 +9 + 54 = 63 +9 + 55 = 64 +9 + 56 = 65 +9 + 57 = 66 +9 + 58 = 67 +9 + 59 = 68 +9 + 60 = 69 +9 + 61 = 70 +9 + 62 = 71 +9 + 63 = 72 +10 + 0 = 10 +10 + 1 = 11 +10 + 2 = 12 +10 + 3 = 13 +10 + 4 = 14 +10 + 5 = 15 +10 + 6 = 16 +10 + 7 = 17 +10 + 8 = 18 +10 + 9 = 19 +10 + 10 = 20 +10 + 11 = 21 +10 + 12 = 22 +10 + 13 = 23 +10 + 14 = 24 +10 + 15 = 25 +10 + 16 = 26 +10 + 17 = 27 +10 + 18 = 28 +10 + 19 = 29 +10 + 20 = 30 +10 + 21 = 31 +10 + 22 = 32 +10 + 23 = 33 +10 + 24 = 34 +10 + 25 = 35 +10 + 26 = 36 +10 + 27 = 37 +10 + 28 = 38 +10 + 29 = 39 +10 + 30 = 40 +10 + 31 = 41 +10 + 32 = 42 +10 + 33 = 43 +10 + 34 = 44 +10 + 35 = 45 +10 + 36 = 46 +10 + 37 = 47 +10 + 38 = 48 +10 + 39 = 49 +10 + 40 = 50 +10 + 41 = 51 +10 + 42 = 52 +10 + 43 = 53 +10 + 44 = 54 +10 + 45 = 55 +10 + 46 = 56 +10 + 47 = 57 +10 + 48 = 58 +10 + 49 = 59 +10 + 50 = 60 +10 + 51 = 61 +10 + 52 = 62 +10 + 53 = 63 +10 + 54 = 64 +10 + 55 = 65 +10 + 56 = 66 +10 + 57 = 67 +10 + 58 = 68 +10 + 59 = 69 +10 + 60 = 70 +10 + 61 = 71 +10 + 62 = 72 +10 + 63 = 73 +11 + 0 = 11 +11 + 1 = 12 +11 + 2 = 13 +11 + 3 = 14 +11 + 4 = 15 +11 + 5 = 16 +11 + 6 = 17 +11 + 7 = 18 +11 + 8 = 19 +11 + 9 = 20 +11 + 10 = 21 +11 + 11 = 22 +11 + 12 = 23 +11 + 13 = 24 +11 + 14 = 25 +11 + 15 = 26 +11 + 16 = 27 +11 + 17 = 28 +11 + 18 = 29 +11 + 19 = 30 +11 + 20 = 31 +11 + 21 = 32 +11 + 22 = 33 +11 + 23 = 34 +11 + 24 = 35 +11 + 25 = 36 +11 + 26 = 37 +11 + 27 = 38 +11 + 28 = 39 +11 + 29 = 40 +11 + 30 = 41 +11 + 31 = 42 +11 + 32 = 43 +11 + 33 = 44 +11 + 34 = 45 +11 + 35 = 46 +11 + 36 = 47 +11 + 37 = 48 +11 + 38 = 49 +11 + 39 = 50 +11 + 40 = 51 +11 + 41 = 52 +11 + 42 = 53 +11 + 43 = 54 +11 + 44 = 55 +11 + 45 = 56 +11 + 46 = 57 +11 + 47 = 58 +11 + 48 = 59 +11 + 49 = 60 +11 + 50 = 61 +11 + 51 = 62 +11 + 52 = 63 +11 + 53 = 64 +11 + 54 = 65 +11 + 55 = 66 +11 + 56 = 67 +11 + 57 = 68 +11 + 58 = 69 +11 + 59 = 70 +11 + 60 = 71 +11 + 61 = 72 +11 + 62 = 73 +11 + 63 = 74 +12 + 0 = 12 +12 + 1 = 13 +12 + 2 = 14 +12 + 3 = 15 +12 + 4 = 16 +12 + 5 = 17 +12 + 6 = 18 +12 + 7 = 19 +12 + 8 = 20 +12 + 9 = 21 +12 + 10 = 22 +12 + 11 = 23 +12 + 12 = 24 +12 + 13 = 25 +12 + 14 = 26 +12 + 15 = 27 +12 + 16 = 28 +12 + 17 = 29 +12 + 18 = 30 +12 + 19 = 31 +12 + 20 = 32 +12 + 21 = 33 +12 + 22 = 34 +12 + 23 = 35 +12 + 24 = 36 +12 + 25 = 37 +12 + 26 = 38 +12 + 27 = 39 +12 + 28 = 40 +12 + 29 = 41 +12 + 30 = 42 +12 + 31 = 43 +12 + 32 = 44 +12 + 33 = 45 +12 + 34 = 46 +12 + 35 = 47 +12 + 36 = 48 +12 + 37 = 49 +12 + 38 = 50 +12 + 39 = 51 +12 + 40 = 52 +12 + 41 = 53 +12 + 42 = 54 +12 + 43 = 55 +12 + 44 = 56 +12 + 45 = 57 +12 + 46 = 58 +12 + 47 = 59 +12 + 48 = 60 +12 + 49 = 61 +12 + 50 = 62 +12 + 51 = 63 +12 + 52 = 64 +12 + 53 = 65 +12 + 54 = 66 +12 + 55 = 67 +12 + 56 = 68 +12 + 57 = 69 +12 + 58 = 70 +12 + 59 = 71 +12 + 60 = 72 +12 + 61 = 73 +12 + 62 = 74 +12 + 63 = 75 +13 + 0 = 13 +13 + 1 = 14 +13 + 2 = 15 +13 + 3 = 16 +13 + 4 = 17 +13 + 5 = 18 +13 + 6 = 19 +13 + 7 = 20 +13 + 8 = 21 +13 + 9 = 22 +13 + 10 = 23 +13 + 11 = 24 +13 + 12 = 25 +13 + 13 = 26 +13 + 14 = 27 +13 + 15 = 28 +13 + 16 = 29 +13 + 17 = 30 +13 + 18 = 31 +13 + 19 = 32 +13 + 20 = 33 +13 + 21 = 34 +13 + 22 = 35 +13 + 23 = 36 +13 + 24 = 37 +13 + 25 = 38 +13 + 26 = 39 +13 + 27 = 40 +13 + 28 = 41 +13 + 29 = 42 +13 + 30 = 43 +13 + 31 = 44 +13 + 32 = 45 +13 + 33 = 46 +13 + 34 = 47 +13 + 35 = 48 +13 + 36 = 49 +13 + 37 = 50 +13 + 38 = 51 +13 + 39 = 52 +13 + 40 = 53 +13 + 41 = 54 +13 + 42 = 55 +13 + 43 = 56 +13 + 44 = 57 +13 + 45 = 58 +13 + 46 = 59 +13 + 47 = 60 +13 + 48 = 61 +13 + 49 = 62 +13 + 50 = 63 +13 + 51 = 64 +13 + 52 = 65 +13 + 53 = 66 +13 + 54 = 67 +13 + 55 = 68 +13 + 56 = 69 +13 + 57 = 70 +13 + 58 = 71 +13 + 59 = 72 +13 + 60 = 73 +13 + 61 = 74 +13 + 62 = 75 +13 + 63 = 76 +14 + 0 = 14 +14 + 1 = 15 +14 + 2 = 16 +14 + 3 = 17 +14 + 4 = 18 +14 + 5 = 19 +14 + 6 = 20 +14 + 7 = 21 +14 + 8 = 22 +14 + 9 = 23 +14 + 10 = 24 +14 + 11 = 25 +14 + 12 = 26 +14 + 13 = 27 +14 + 14 = 28 +14 + 15 = 29 +14 + 16 = 30 +14 + 17 = 31 +14 + 18 = 32 +14 + 19 = 33 +14 + 20 = 34 +14 + 21 = 35 +14 + 22 = 36 +14 + 23 = 37 +14 + 24 = 38 +14 + 25 = 39 +14 + 26 = 40 +14 + 27 = 41 +14 + 28 = 42 +14 + 29 = 43 +14 + 30 = 44 +14 + 31 = 45 +14 + 32 = 46 +14 + 33 = 47 +14 + 34 = 48 +14 + 35 = 49 +14 + 36 = 50 +14 + 37 = 51 +14 + 38 = 52 +14 + 39 = 53 +14 + 40 = 54 +14 + 41 = 55 +14 + 42 = 56 +14 + 43 = 57 +14 + 44 = 58 +14 + 45 = 59 +14 + 46 = 60 +14 + 47 = 61 +14 + 48 = 62 +14 + 49 = 63 +14 + 50 = 64 +14 + 51 = 65 +14 + 52 = 66 +14 + 53 = 67 +14 + 54 = 68 +14 + 55 = 69 +14 + 56 = 70 +14 + 57 = 71 +14 + 58 = 72 +14 + 59 = 73 +14 + 60 = 74 +14 + 61 = 75 +14 + 62 = 76 +14 + 63 = 77 +15 + 0 = 15 +15 + 1 = 16 +15 + 2 = 17 +15 + 3 = 18 +15 + 4 = 19 +15 + 5 = 20 +15 + 6 = 21 +15 + 7 = 22 +15 + 8 = 23 +15 + 9 = 24 +15 + 10 = 25 +15 + 11 = 26 +15 + 12 = 27 +15 + 13 = 28 +15 + 14 = 29 +15 + 15 = 30 +15 + 16 = 31 +15 + 17 = 32 +15 + 18 = 33 +15 + 19 = 34 +15 + 20 = 35 +15 + 21 = 36 +15 + 22 = 37 +15 + 23 = 38 +15 + 24 = 39 +15 + 25 = 40 +15 + 26 = 41 +15 + 27 = 42 +15 + 28 = 43 +15 + 29 = 44 +15 + 30 = 45 +15 + 31 = 46 +15 + 32 = 47 +15 + 33 = 48 +15 + 34 = 49 +15 + 35 = 50 +15 + 36 = 51 +15 + 37 = 52 +15 + 38 = 53 +15 + 39 = 54 +15 + 40 = 55 +15 + 41 = 56 +15 + 42 = 57 +15 + 43 = 58 +15 + 44 = 59 +15 + 45 = 60 +15 + 46 = 61 +15 + 47 = 62 +15 + 48 = 63 +15 + 49 = 64 +15 + 50 = 65 +15 + 51 = 66 +15 + 52 = 67 +15 + 53 = 68 +15 + 54 = 69 +15 + 55 = 70 +15 + 56 = 71 +15 + 57 = 72 +15 + 58 = 73 +15 + 59 = 74 +15 + 60 = 75 +15 + 61 = 76 +15 + 62 = 77 +15 + 63 = 78 +16 + 0 = 16 +16 + 1 = 17 +16 + 2 = 18 +16 + 3 = 19 +16 + 4 = 20 +16 + 5 = 21 +16 + 6 = 22 +16 + 7 = 23 +16 + 8 = 24 +16 + 9 = 25 +16 + 10 = 26 +16 + 11 = 27 +16 + 12 = 28 +16 + 13 = 29 +16 + 14 = 30 +16 + 15 = 31 +16 + 16 = 32 +16 + 17 = 33 +16 + 18 = 34 +16 + 19 = 35 +16 + 20 = 36 +16 + 21 = 37 +16 + 22 = 38 +16 + 23 = 39 +16 + 24 = 40 +16 + 25 = 41 +16 + 26 = 42 +16 + 27 = 43 +16 + 28 = 44 +16 + 29 = 45 +16 + 30 = 46 +16 + 31 = 47 +16 + 32 = 48 +16 + 33 = 49 +16 + 34 = 50 +16 + 35 = 51 +16 + 36 = 52 +16 + 37 = 53 +16 + 38 = 54 +16 + 39 = 55 +16 + 40 = 56 +16 + 41 = 57 +16 + 42 = 58 +16 + 43 = 59 +16 + 44 = 60 +16 + 45 = 61 +16 + 46 = 62 +16 + 47 = 63 +16 + 48 = 64 +16 + 49 = 65 +16 + 50 = 66 +16 + 51 = 67 +16 + 52 = 68 +16 + 53 = 69 +16 + 54 = 70 +16 + 55 = 71 +16 + 56 = 72 +16 + 57 = 73 +16 + 58 = 74 +16 + 59 = 75 +16 + 60 = 76 +16 + 61 = 77 +16 + 62 = 78 +16 + 63 = 79 +17 + 0 = 17 +17 + 1 = 18 +17 + 2 = 19 +17 + 3 = 20 +17 + 4 = 21 +17 + 5 = 22 +17 + 6 = 23 +17 + 7 = 24 +17 + 8 = 25 +17 + 9 = 26 +17 + 10 = 27 +17 + 11 = 28 +17 + 12 = 29 +17 + 13 = 30 +17 + 14 = 31 +17 + 15 = 32 +17 + 16 = 33 +17 + 17 = 34 +17 + 18 = 35 +17 + 19 = 36 +17 + 20 = 37 +17 + 21 = 38 +17 + 22 = 39 +17 + 23 = 40 +17 + 24 = 41 +17 + 25 = 42 +17 + 26 = 43 +17 + 27 = 44 +17 + 28 = 45 +17 + 29 = 46 +17 + 30 = 47 +17 + 31 = 48 +17 + 32 = 49 +17 + 33 = 50 +17 + 34 = 51 +17 + 35 = 52 +17 + 36 = 53 +17 + 37 = 54 +17 + 38 = 55 +17 + 39 = 56 +17 + 40 = 57 +17 + 41 = 58 +17 + 42 = 59 +17 + 43 = 60 +17 + 44 = 61 +17 + 45 = 62 +17 + 46 = 63 +17 + 47 = 64 +17 + 48 = 65 +17 + 49 = 66 +17 + 50 = 67 +17 + 51 = 68 +17 + 52 = 69 +17 + 53 = 70 +17 + 54 = 71 +17 + 55 = 72 +17 + 56 = 73 +17 + 57 = 74 +17 + 58 = 75 +17 + 59 = 76 +17 + 60 = 77 +17 + 61 = 78 +17 + 62 = 79 +17 + 63 = 80 +18 + 0 = 18 +18 + 1 = 19 +18 + 2 = 20 +18 + 3 = 21 +18 + 4 = 22 +18 + 5 = 23 +18 + 6 = 24 +18 + 7 = 25 +18 + 8 = 26 +18 + 9 = 27 +18 + 10 = 28 +18 + 11 = 29 +18 + 12 = 30 +18 + 13 = 31 +18 + 14 = 32 +18 + 15 = 33 +18 + 16 = 34 +18 + 17 = 35 +18 + 18 = 36 +18 + 19 = 37 +18 + 20 = 38 +18 + 21 = 39 +18 + 22 = 40 +18 + 23 = 41 +18 + 24 = 42 +18 + 25 = 43 +18 + 26 = 44 +18 + 27 = 45 +18 + 28 = 46 +18 + 29 = 47 +18 + 30 = 48 +18 + 31 = 49 +18 + 32 = 50 +18 + 33 = 51 +18 + 34 = 52 +18 + 35 = 53 +18 + 36 = 54 +18 + 37 = 55 +18 + 38 = 56 +18 + 39 = 57 +18 + 40 = 58 +18 + 41 = 59 +18 + 42 = 60 +18 + 43 = 61 +18 + 44 = 62 +18 + 45 = 63 +18 + 46 = 64 +18 + 47 = 65 +18 + 48 = 66 +18 + 49 = 67 +18 + 50 = 68 +18 + 51 = 69 +18 + 52 = 70 +18 + 53 = 71 +18 + 54 = 72 +18 + 55 = 73 +18 + 56 = 74 +18 + 57 = 75 +18 + 58 = 76 +18 + 59 = 77 +18 + 60 = 78 +18 + 61 = 79 +18 + 62 = 80 +18 + 63 = 81 +19 + 0 = 19 +19 + 1 = 20 +19 + 2 = 21 +19 + 3 = 22 +19 + 4 = 23 +19 + 5 = 24 +19 + 6 = 25 +19 + 7 = 26 +19 + 8 = 27 +19 + 9 = 28 +19 + 10 = 29 +19 + 11 = 30 +19 + 12 = 31 +19 + 13 = 32 +19 + 14 = 33 +19 + 15 = 34 +19 + 16 = 35 +19 + 17 = 36 +19 + 18 = 37 +19 + 19 = 38 +19 + 20 = 39 +19 + 21 = 40 +19 + 22 = 41 +19 + 23 = 42 +19 + 24 = 43 +19 + 25 = 44 +19 + 26 = 45 +19 + 27 = 46 +19 + 28 = 47 +19 + 29 = 48 +19 + 30 = 49 +19 + 31 = 50 +19 + 32 = 51 +19 + 33 = 52 +19 + 34 = 53 +19 + 35 = 54 +19 + 36 = 55 +19 + 37 = 56 +19 + 38 = 57 +19 + 39 = 58 +19 + 40 = 59 +19 + 41 = 60 +19 + 42 = 61 +19 + 43 = 62 +19 + 44 = 63 +19 + 45 = 64 +19 + 46 = 65 +19 + 47 = 66 +19 + 48 = 67 +19 + 49 = 68 +19 + 50 = 69 +19 + 51 = 70 +19 + 52 = 71 +19 + 53 = 72 +19 + 54 = 73 +19 + 55 = 74 +19 + 56 = 75 +19 + 57 = 76 +19 + 58 = 77 +19 + 59 = 78 +19 + 60 = 79 +19 + 61 = 80 +19 + 62 = 81 +19 + 63 = 82 +20 + 0 = 20 +20 + 1 = 21 +20 + 2 = 22 +20 + 3 = 23 +20 + 4 = 24 +20 + 5 = 25 +20 + 6 = 26 +20 + 7 = 27 +20 + 8 = 28 +20 + 9 = 29 +20 + 10 = 30 +20 + 11 = 31 +20 + 12 = 32 +20 + 13 = 33 +20 + 14 = 34 +20 + 15 = 35 +20 + 16 = 36 +20 + 17 = 37 +20 + 18 = 38 +20 + 19 = 39 +20 + 20 = 40 +20 + 21 = 41 +20 + 22 = 42 +20 + 23 = 43 +20 + 24 = 44 +20 + 25 = 45 +20 + 26 = 46 +20 + 27 = 47 +20 + 28 = 48 +20 + 29 = 49 +20 + 30 = 50 +20 + 31 = 51 +20 + 32 = 52 +20 + 33 = 53 +20 + 34 = 54 +20 + 35 = 55 +20 + 36 = 56 +20 + 37 = 57 +20 + 38 = 58 +20 + 39 = 59 +20 + 40 = 60 +20 + 41 = 61 +20 + 42 = 62 +20 + 43 = 63 +20 + 44 = 64 +20 + 45 = 65 +20 + 46 = 66 +20 + 47 = 67 +20 + 48 = 68 +20 + 49 = 69 +20 + 50 = 70 +20 + 51 = 71 +20 + 52 = 72 +20 + 53 = 73 +20 + 54 = 74 +20 + 55 = 75 +20 + 56 = 76 +20 + 57 = 77 +20 + 58 = 78 +20 + 59 = 79 +20 + 60 = 80 +20 + 61 = 81 +20 + 62 = 82 +20 + 63 = 83 +21 + 0 = 21 +21 + 1 = 22 +21 + 2 = 23 +21 + 3 = 24 +21 + 4 = 25 +21 + 5 = 26 +21 + 6 = 27 +21 + 7 = 28 +21 + 8 = 29 +21 + 9 = 30 +21 + 10 = 31 +21 + 11 = 32 +21 + 12 = 33 +21 + 13 = 34 +21 + 14 = 35 +21 + 15 = 36 +21 + 16 = 37 +21 + 17 = 38 +21 + 18 = 39 +21 + 19 = 40 +21 + 20 = 41 +21 + 21 = 42 +21 + 22 = 43 +21 + 23 = 44 +21 + 24 = 45 +21 + 25 = 46 +21 + 26 = 47 +21 + 27 = 48 +21 + 28 = 49 +21 + 29 = 50 +21 + 30 = 51 +21 + 31 = 52 +21 + 32 = 53 +21 + 33 = 54 +21 + 34 = 55 +21 + 35 = 56 +21 + 36 = 57 +21 + 37 = 58 +21 + 38 = 59 +21 + 39 = 60 +21 + 40 = 61 +21 + 41 = 62 +21 + 42 = 63 +21 + 43 = 64 +21 + 44 = 65 +21 + 45 = 66 +21 + 46 = 67 +21 + 47 = 68 +21 + 48 = 69 +21 + 49 = 70 +21 + 50 = 71 +21 + 51 = 72 +21 + 52 = 73 +21 + 53 = 74 +21 + 54 = 75 +21 + 55 = 76 +21 + 56 = 77 +21 + 57 = 78 +21 + 58 = 79 +21 + 59 = 80 +21 + 60 = 81 +21 + 61 = 82 +21 + 62 = 83 +21 + 63 = 84 +22 + 0 = 22 +22 + 1 = 23 +22 + 2 = 24 +22 + 3 = 25 +22 + 4 = 26 +22 + 5 = 27 +22 + 6 = 28 +22 + 7 = 29 +22 + 8 = 30 +22 + 9 = 31 +22 + 10 = 32 +22 + 11 = 33 +22 + 12 = 34 +22 + 13 = 35 +22 + 14 = 36 +22 + 15 = 37 +22 + 16 = 38 +22 + 17 = 39 +22 + 18 = 40 +22 + 19 = 41 +22 + 20 = 42 +22 + 21 = 43 +22 + 22 = 44 +22 + 23 = 45 +22 + 24 = 46 +22 + 25 = 47 +22 + 26 = 48 +22 + 27 = 49 +22 + 28 = 50 +22 + 29 = 51 +22 + 30 = 52 +22 + 31 = 53 +22 + 32 = 54 +22 + 33 = 55 +22 + 34 = 56 +22 + 35 = 57 +22 + 36 = 58 +22 + 37 = 59 +22 + 38 = 60 +22 + 39 = 61 +22 + 40 = 62 +22 + 41 = 63 +22 + 42 = 64 +22 + 43 = 65 +22 + 44 = 66 +22 + 45 = 67 +22 + 46 = 68 +22 + 47 = 69 +22 + 48 = 70 +22 + 49 = 71 +22 + 50 = 72 +22 + 51 = 73 +22 + 52 = 74 +22 + 53 = 75 +22 + 54 = 76 +22 + 55 = 77 +22 + 56 = 78 +22 + 57 = 79 +22 + 58 = 80 +22 + 59 = 81 +22 + 60 = 82 +22 + 61 = 83 +22 + 62 = 84 +22 + 63 = 85 +23 + 0 = 23 +23 + 1 = 24 +23 + 2 = 25 +23 + 3 = 26 +23 + 4 = 27 +23 + 5 = 28 +23 + 6 = 29 +23 + 7 = 30 +23 + 8 = 31 +23 + 9 = 32 +23 + 10 = 33 +23 + 11 = 34 +23 + 12 = 35 +23 + 13 = 36 +23 + 14 = 37 +23 + 15 = 38 +23 + 16 = 39 +23 + 17 = 40 +23 + 18 = 41 +23 + 19 = 42 +23 + 20 = 43 +23 + 21 = 44 +23 + 22 = 45 +23 + 23 = 46 +23 + 24 = 47 +23 + 25 = 48 +23 + 26 = 49 +23 + 27 = 50 +23 + 28 = 51 +23 + 29 = 52 +23 + 30 = 53 +23 + 31 = 54 +23 + 32 = 55 +23 + 33 = 56 +23 + 34 = 57 +23 + 35 = 58 +23 + 36 = 59 +23 + 37 = 60 +23 + 38 = 61 +23 + 39 = 62 +23 + 40 = 63 +23 + 41 = 64 +23 + 42 = 65 +23 + 43 = 66 +23 + 44 = 67 +23 + 45 = 68 +23 + 46 = 69 +23 + 47 = 70 +23 + 48 = 71 +23 + 49 = 72 +23 + 50 = 73 +23 + 51 = 74 +23 + 52 = 75 +23 + 53 = 76 +23 + 54 = 77 +23 + 55 = 78 +23 + 56 = 79 +23 + 57 = 80 +23 + 58 = 81 +23 + 59 = 82 +23 + 60 = 83 +23 + 61 = 84 +23 + 62 = 85 +23 + 63 = 86 +24 + 0 = 24 +24 + 1 = 25 +24 + 2 = 26 +24 + 3 = 27 +24 + 4 = 28 +24 + 5 = 29 +24 + 6 = 30 +24 + 7 = 31 +24 + 8 = 32 +24 + 9 = 33 +24 + 10 = 34 +24 + 11 = 35 +24 + 12 = 36 +24 + 13 = 37 +24 + 14 = 38 +24 + 15 = 39 +24 + 16 = 40 +24 + 17 = 41 +24 + 18 = 42 +24 + 19 = 43 +24 + 20 = 44 +24 + 21 = 45 +24 + 22 = 46 +24 + 23 = 47 +24 + 24 = 48 +24 + 25 = 49 +24 + 26 = 50 +24 + 27 = 51 +24 + 28 = 52 +24 + 29 = 53 +24 + 30 = 54 +24 + 31 = 55 +24 + 32 = 56 +24 + 33 = 57 +24 + 34 = 58 +24 + 35 = 59 +24 + 36 = 60 +24 + 37 = 61 +24 + 38 = 62 +24 + 39 = 63 +24 + 40 = 64 +24 + 41 = 65 +24 + 42 = 66 +24 + 43 = 67 +24 + 44 = 68 +24 + 45 = 69 +24 + 46 = 70 +24 + 47 = 71 +24 + 48 = 72 +24 + 49 = 73 +24 + 50 = 74 +24 + 51 = 75 +24 + 52 = 76 +24 + 53 = 77 +24 + 54 = 78 +24 + 55 = 79 +24 + 56 = 80 +24 + 57 = 81 +24 + 58 = 82 +24 + 59 = 83 +24 + 60 = 84 +24 + 61 = 85 +24 + 62 = 86 +24 + 63 = 87 +25 + 0 = 25 +25 + 1 = 26 +25 + 2 = 27 +25 + 3 = 28 +25 + 4 = 29 +25 + 5 = 30 +25 + 6 = 31 +25 + 7 = 32 +25 + 8 = 33 +25 + 9 = 34 +25 + 10 = 35 +25 + 11 = 36 +25 + 12 = 37 +25 + 13 = 38 +25 + 14 = 39 +25 + 15 = 40 +25 + 16 = 41 +25 + 17 = 42 +25 + 18 = 43 +25 + 19 = 44 +25 + 20 = 45 +25 + 21 = 46 +25 + 22 = 47 +25 + 23 = 48 +25 + 24 = 49 +25 + 25 = 50 +25 + 26 = 51 +25 + 27 = 52 +25 + 28 = 53 +25 + 29 = 54 +25 + 30 = 55 +25 + 31 = 56 +25 + 32 = 57 +25 + 33 = 58 +25 + 34 = 59 +25 + 35 = 60 +25 + 36 = 61 +25 + 37 = 62 +25 + 38 = 63 +25 + 39 = 64 +25 + 40 = 65 +25 + 41 = 66 +25 + 42 = 67 +25 + 43 = 68 +25 + 44 = 69 +25 + 45 = 70 +25 + 46 = 71 +25 + 47 = 72 +25 + 48 = 73 +25 + 49 = 74 +25 + 50 = 75 +25 + 51 = 76 +25 + 52 = 77 +25 + 53 = 78 +25 + 54 = 79 +25 + 55 = 80 +25 + 56 = 81 +25 + 57 = 82 +25 + 58 = 83 +25 + 59 = 84 +25 + 60 = 85 +25 + 61 = 86 +25 + 62 = 87 +25 + 63 = 88 +26 + 0 = 26 +26 + 1 = 27 +26 + 2 = 28 +26 + 3 = 29 +26 + 4 = 30 +26 + 5 = 31 +26 + 6 = 32 +26 + 7 = 33 +26 + 8 = 34 +26 + 9 = 35 +26 + 10 = 36 +26 + 11 = 37 +26 + 12 = 38 +26 + 13 = 39 +26 + 14 = 40 +26 + 15 = 41 +26 + 16 = 42 +26 + 17 = 43 +26 + 18 = 44 +26 + 19 = 45 +26 + 20 = 46 +26 + 21 = 47 +26 + 22 = 48 +26 + 23 = 49 +26 + 24 = 50 +26 + 25 = 51 +26 + 26 = 52 +26 + 27 = 53 +26 + 28 = 54 +26 + 29 = 55 +26 + 30 = 56 +26 + 31 = 57 +26 + 32 = 58 +26 + 33 = 59 +26 + 34 = 60 +26 + 35 = 61 +26 + 36 = 62 +26 + 37 = 63 +26 + 38 = 64 +26 + 39 = 65 +26 + 40 = 66 +26 + 41 = 67 +26 + 42 = 68 +26 + 43 = 69 +26 + 44 = 70 +26 + 45 = 71 +26 + 46 = 72 +26 + 47 = 73 +26 + 48 = 74 +26 + 49 = 75 +26 + 50 = 76 +26 + 51 = 77 +26 + 52 = 78 +26 + 53 = 79 +26 + 54 = 80 +26 + 55 = 81 +26 + 56 = 82 +26 + 57 = 83 +26 + 58 = 84 +26 + 59 = 85 +26 + 60 = 86 +26 + 61 = 87 +26 + 62 = 88 +26 + 63 = 89 +27 + 0 = 27 +27 + 1 = 28 +27 + 2 = 29 +27 + 3 = 30 +27 + 4 = 31 +27 + 5 = 32 +27 + 6 = 33 +27 + 7 = 34 +27 + 8 = 35 +27 + 9 = 36 +27 + 10 = 37 +27 + 11 = 38 +27 + 12 = 39 +27 + 13 = 40 +27 + 14 = 41 +27 + 15 = 42 +27 + 16 = 43 +27 + 17 = 44 +27 + 18 = 45 +27 + 19 = 46 +27 + 20 = 47 +27 + 21 = 48 +27 + 22 = 49 +27 + 23 = 50 +27 + 24 = 51 +27 + 25 = 52 +27 + 26 = 53 +27 + 27 = 54 +27 + 28 = 55 +27 + 29 = 56 +27 + 30 = 57 +27 + 31 = 58 +27 + 32 = 59 +27 + 33 = 60 +27 + 34 = 61 +27 + 35 = 62 +27 + 36 = 63 +27 + 37 = 64 +27 + 38 = 65 +27 + 39 = 66 +27 + 40 = 67 +27 + 41 = 68 +27 + 42 = 69 +27 + 43 = 70 +27 + 44 = 71 +27 + 45 = 72 +27 + 46 = 73 +27 + 47 = 74 +27 + 48 = 75 +27 + 49 = 76 +27 + 50 = 77 +27 + 51 = 78 +27 + 52 = 79 +27 + 53 = 80 +27 + 54 = 81 +27 + 55 = 82 +27 + 56 = 83 +27 + 57 = 84 +27 + 58 = 85 +27 + 59 = 86 +27 + 60 = 87 +27 + 61 = 88 +27 + 62 = 89 +27 + 63 = 90 +28 + 0 = 28 +28 + 1 = 29 +28 + 2 = 30 +28 + 3 = 31 +28 + 4 = 32 +28 + 5 = 33 +28 + 6 = 34 +28 + 7 = 35 +28 + 8 = 36 +28 + 9 = 37 +28 + 10 = 38 +28 + 11 = 39 +28 + 12 = 40 +28 + 13 = 41 +28 + 14 = 42 +28 + 15 = 43 +28 + 16 = 44 +28 + 17 = 45 +28 + 18 = 46 +28 + 19 = 47 +28 + 20 = 48 +28 + 21 = 49 +28 + 22 = 50 +28 + 23 = 51 +28 + 24 = 52 +28 + 25 = 53 +28 + 26 = 54 +28 + 27 = 55 +28 + 28 = 56 +28 + 29 = 57 +28 + 30 = 58 +28 + 31 = 59 +28 + 32 = 60 +28 + 33 = 61 +28 + 34 = 62 +28 + 35 = 63 +28 + 36 = 64 +28 + 37 = 65 +28 + 38 = 66 +28 + 39 = 67 +28 + 40 = 68 +28 + 41 = 69 +28 + 42 = 70 +28 + 43 = 71 +28 + 44 = 72 +28 + 45 = 73 +28 + 46 = 74 +28 + 47 = 75 +28 + 48 = 76 +28 + 49 = 77 +28 + 50 = 78 +28 + 51 = 79 +28 + 52 = 80 +28 + 53 = 81 +28 + 54 = 82 +28 + 55 = 83 +28 + 56 = 84 +28 + 57 = 85 +28 + 58 = 86 +28 + 59 = 87 +28 + 60 = 88 +28 + 61 = 89 +28 + 62 = 90 +28 + 63 = 91 +29 + 0 = 29 +29 + 1 = 30 +29 + 2 = 31 +29 + 3 = 32 +29 + 4 = 33 +29 + 5 = 34 +29 + 6 = 35 +29 + 7 = 36 +29 + 8 = 37 +29 + 9 = 38 +29 + 10 = 39 +29 + 11 = 40 +29 + 12 = 41 +29 + 13 = 42 +29 + 14 = 43 +29 + 15 = 44 +29 + 16 = 45 +29 + 17 = 46 +29 + 18 = 47 +29 + 19 = 48 +29 + 20 = 49 +29 + 21 = 50 +29 + 22 = 51 +29 + 23 = 52 +29 + 24 = 53 +29 + 25 = 54 +29 + 26 = 55 +29 + 27 = 56 +29 + 28 = 57 +29 + 29 = 58 +29 + 30 = 59 +29 + 31 = 60 +29 + 32 = 61 +29 + 33 = 62 +29 + 34 = 63 +29 + 35 = 64 +29 + 36 = 65 +29 + 37 = 66 +29 + 38 = 67 +29 + 39 = 68 +29 + 40 = 69 +29 + 41 = 70 +29 + 42 = 71 +29 + 43 = 72 +29 + 44 = 73 +29 + 45 = 74 +29 + 46 = 75 +29 + 47 = 76 +29 + 48 = 77 +29 + 49 = 78 +29 + 50 = 79 +29 + 51 = 80 +29 + 52 = 81 +29 + 53 = 82 +29 + 54 = 83 +29 + 55 = 84 +29 + 56 = 85 +29 + 57 = 86 +29 + 58 = 87 +29 + 59 = 88 +29 + 60 = 89 +29 + 61 = 90 +29 + 62 = 91 +29 + 63 = 92 +30 + 0 = 30 +30 + 1 = 31 +30 + 2 = 32 +30 + 3 = 33 +30 + 4 = 34 +30 + 5 = 35 +30 + 6 = 36 +30 + 7 = 37 +30 + 8 = 38 +30 + 9 = 39 +30 + 10 = 40 +30 + 11 = 41 +30 + 12 = 42 +30 + 13 = 43 +30 + 14 = 44 +30 + 15 = 45 +30 + 16 = 46 +30 + 17 = 47 +30 + 18 = 48 +30 + 19 = 49 +30 + 20 = 50 +30 + 21 = 51 +30 + 22 = 52 +30 + 23 = 53 +30 + 24 = 54 +30 + 25 = 55 +30 + 26 = 56 +30 + 27 = 57 +30 + 28 = 58 +30 + 29 = 59 +30 + 30 = 60 +30 + 31 = 61 +30 + 32 = 62 +30 + 33 = 63 +30 + 34 = 64 +30 + 35 = 65 +30 + 36 = 66 +30 + 37 = 67 +30 + 38 = 68 +30 + 39 = 69 +30 + 40 = 70 +30 + 41 = 71 +30 + 42 = 72 +30 + 43 = 73 +30 + 44 = 74 +30 + 45 = 75 +30 + 46 = 76 +30 + 47 = 77 +30 + 48 = 78 +30 + 49 = 79 +30 + 50 = 80 +30 + 51 = 81 +30 + 52 = 82 +30 + 53 = 83 +30 + 54 = 84 +30 + 55 = 85 +30 + 56 = 86 +30 + 57 = 87 +30 + 58 = 88 +30 + 59 = 89 +30 + 60 = 90 +30 + 61 = 91 +30 + 62 = 92 +30 + 63 = 93 +31 + 0 = 31 +31 + 1 = 32 +31 + 2 = 33 +31 + 3 = 34 +31 + 4 = 35 +31 + 5 = 36 +31 + 6 = 37 +31 + 7 = 38 +31 + 8 = 39 +31 + 9 = 40 +31 + 10 = 41 +31 + 11 = 42 +31 + 12 = 43 +31 + 13 = 44 +31 + 14 = 45 +31 + 15 = 46 +31 + 16 = 47 +31 + 17 = 48 +31 + 18 = 49 +31 + 19 = 50 +31 + 20 = 51 +31 + 21 = 52 +31 + 22 = 53 +31 + 23 = 54 +31 + 24 = 55 +31 + 25 = 56 +31 + 26 = 57 +31 + 27 = 58 +31 + 28 = 59 +31 + 29 = 60 +31 + 30 = 61 +31 + 31 = 62 +31 + 32 = 63 +31 + 33 = 64 +31 + 34 = 65 +31 + 35 = 66 +31 + 36 = 67 +31 + 37 = 68 +31 + 38 = 69 +31 + 39 = 70 +31 + 40 = 71 +31 + 41 = 72 +31 + 42 = 73 +31 + 43 = 74 +31 + 44 = 75 +31 + 45 = 76 +31 + 46 = 77 +31 + 47 = 78 +31 + 48 = 79 +31 + 49 = 80 +31 + 50 = 81 +31 + 51 = 82 +31 + 52 = 83 +31 + 53 = 84 +31 + 54 = 85 +31 + 55 = 86 +31 + 56 = 87 +31 + 57 = 88 +31 + 58 = 89 +31 + 59 = 90 +31 + 60 = 91 +31 + 61 = 92 +31 + 62 = 93 +31 + 63 = 94 +32 + 0 = 32 +32 + 1 = 33 +32 + 2 = 34 +32 + 3 = 35 +32 + 4 = 36 +32 + 5 = 37 +32 + 6 = 38 +32 + 7 = 39 +32 + 8 = 40 +32 + 9 = 41 +32 + 10 = 42 +32 + 11 = 43 +32 + 12 = 44 +32 + 13 = 45 +32 + 14 = 46 +32 + 15 = 47 +32 + 16 = 48 +32 + 17 = 49 +32 + 18 = 50 +32 + 19 = 51 +32 + 20 = 52 +32 + 21 = 53 +32 + 22 = 54 +32 + 23 = 55 +32 + 24 = 56 +32 + 25 = 57 +32 + 26 = 58 +32 + 27 = 59 +32 + 28 = 60 +32 + 29 = 61 +32 + 30 = 62 +32 + 31 = 63 +32 + 32 = 64 +32 + 33 = 65 +32 + 34 = 66 +32 + 35 = 67 +32 + 36 = 68 +32 + 37 = 69 +32 + 38 = 70 +32 + 39 = 71 +32 + 40 = 72 +32 + 41 = 73 +32 + 42 = 74 +32 + 43 = 75 +32 + 44 = 76 +32 + 45 = 77 +32 + 46 = 78 +32 + 47 = 79 +32 + 48 = 80 +32 + 49 = 81 +32 + 50 = 82 +32 + 51 = 83 +32 + 52 = 84 +32 + 53 = 85 +32 + 54 = 86 +32 + 55 = 87 +32 + 56 = 88 +32 + 57 = 89 +32 + 58 = 90 +32 + 59 = 91 +32 + 60 = 92 +32 + 61 = 93 +32 + 62 = 94 +32 + 63 = 95 +33 + 0 = 33 +33 + 1 = 34 +33 + 2 = 35 +33 + 3 = 36 +33 + 4 = 37 +33 + 5 = 38 +33 + 6 = 39 +33 + 7 = 40 +33 + 8 = 41 +33 + 9 = 42 +33 + 10 = 43 +33 + 11 = 44 +33 + 12 = 45 +33 + 13 = 46 +33 + 14 = 47 +33 + 15 = 48 +33 + 16 = 49 +33 + 17 = 50 +33 + 18 = 51 +33 + 19 = 52 +33 + 20 = 53 +33 + 21 = 54 +33 + 22 = 55 +33 + 23 = 56 +33 + 24 = 57 +33 + 25 = 58 +33 + 26 = 59 +33 + 27 = 60 +33 + 28 = 61 +33 + 29 = 62 +33 + 30 = 63 +33 + 31 = 64 +33 + 32 = 65 +33 + 33 = 66 +33 + 34 = 67 +33 + 35 = 68 +33 + 36 = 69 +33 + 37 = 70 +33 + 38 = 71 +33 + 39 = 72 +33 + 40 = 73 +33 + 41 = 74 +33 + 42 = 75 +33 + 43 = 76 +33 + 44 = 77 +33 + 45 = 78 +33 + 46 = 79 +33 + 47 = 80 +33 + 48 = 81 +33 + 49 = 82 +33 + 50 = 83 +33 + 51 = 84 +33 + 52 = 85 +33 + 53 = 86 +33 + 54 = 87 +33 + 55 = 88 +33 + 56 = 89 +33 + 57 = 90 +33 + 58 = 91 +33 + 59 = 92 +33 + 60 = 93 +33 + 61 = 94 +33 + 62 = 95 +33 + 63 = 96 +34 + 0 = 34 +34 + 1 = 35 +34 + 2 = 36 +34 + 3 = 37 +34 + 4 = 38 +34 + 5 = 39 +34 + 6 = 40 +34 + 7 = 41 +34 + 8 = 42 +34 + 9 = 43 +34 + 10 = 44 +34 + 11 = 45 +34 + 12 = 46 +34 + 13 = 47 +34 + 14 = 48 +34 + 15 = 49 +34 + 16 = 50 +34 + 17 = 51 +34 + 18 = 52 +34 + 19 = 53 +34 + 20 = 54 +34 + 21 = 55 +34 + 22 = 56 +34 + 23 = 57 +34 + 24 = 58 +34 + 25 = 59 +34 + 26 = 60 +34 + 27 = 61 +34 + 28 = 62 +34 + 29 = 63 +34 + 30 = 64 +34 + 31 = 65 +34 + 32 = 66 +34 + 33 = 67 +34 + 34 = 68 +34 + 35 = 69 +34 + 36 = 70 +34 + 37 = 71 +34 + 38 = 72 +34 + 39 = 73 +34 + 40 = 74 +34 + 41 = 75 +34 + 42 = 76 +34 + 43 = 77 +34 + 44 = 78 +34 + 45 = 79 +34 + 46 = 80 +34 + 47 = 81 +34 + 48 = 82 +34 + 49 = 83 +34 + 50 = 84 +34 + 51 = 85 +34 + 52 = 86 +34 + 53 = 87 +34 + 54 = 88 +34 + 55 = 89 +34 + 56 = 90 +34 + 57 = 91 +34 + 58 = 92 +34 + 59 = 93 +34 + 60 = 94 +34 + 61 = 95 +34 + 62 = 96 +34 + 63 = 97 +35 + 0 = 35 +35 + 1 = 36 +35 + 2 = 37 +35 + 3 = 38 +35 + 4 = 39 +35 + 5 = 40 +35 + 6 = 41 +35 + 7 = 42 +35 + 8 = 43 +35 + 9 = 44 +35 + 10 = 45 +35 + 11 = 46 +35 + 12 = 47 +35 + 13 = 48 +35 + 14 = 49 +35 + 15 = 50 +35 + 16 = 51 +35 + 17 = 52 +35 + 18 = 53 +35 + 19 = 54 +35 + 20 = 55 +35 + 21 = 56 +35 + 22 = 57 +35 + 23 = 58 +35 + 24 = 59 +35 + 25 = 60 +35 + 26 = 61 +35 + 27 = 62 +35 + 28 = 63 +35 + 29 = 64 +35 + 30 = 65 +35 + 31 = 66 +35 + 32 = 67 +35 + 33 = 68 +35 + 34 = 69 +35 + 35 = 70 +35 + 36 = 71 +35 + 37 = 72 +35 + 38 = 73 +35 + 39 = 74 +35 + 40 = 75 +35 + 41 = 76 +35 + 42 = 77 +35 + 43 = 78 +35 + 44 = 79 +35 + 45 = 80 +35 + 46 = 81 +35 + 47 = 82 +35 + 48 = 83 +35 + 49 = 84 +35 + 50 = 85 +35 + 51 = 86 +35 + 52 = 87 +35 + 53 = 88 +35 + 54 = 89 +35 + 55 = 90 +35 + 56 = 91 +35 + 57 = 92 +35 + 58 = 93 +35 + 59 = 94 +35 + 60 = 95 +35 + 61 = 96 +35 + 62 = 97 +35 + 63 = 98 +36 + 0 = 36 +36 + 1 = 37 +36 + 2 = 38 +36 + 3 = 39 +36 + 4 = 40 +36 + 5 = 41 +36 + 6 = 42 +36 + 7 = 43 +36 + 8 = 44 +36 + 9 = 45 +36 + 10 = 46 +36 + 11 = 47 +36 + 12 = 48 +36 + 13 = 49 +36 + 14 = 50 +36 + 15 = 51 +36 + 16 = 52 +36 + 17 = 53 +36 + 18 = 54 +36 + 19 = 55 +36 + 20 = 56 +36 + 21 = 57 +36 + 22 = 58 +36 + 23 = 59 +36 + 24 = 60 +36 + 25 = 61 +36 + 26 = 62 +36 + 27 = 63 +36 + 28 = 64 +36 + 29 = 65 +36 + 30 = 66 +36 + 31 = 67 +36 + 32 = 68 +36 + 33 = 69 +36 + 34 = 70 +36 + 35 = 71 +36 + 36 = 72 +36 + 37 = 73 +36 + 38 = 74 +36 + 39 = 75 +36 + 40 = 76 +36 + 41 = 77 +36 + 42 = 78 +36 + 43 = 79 +36 + 44 = 80 +36 + 45 = 81 +36 + 46 = 82 +36 + 47 = 83 +36 + 48 = 84 +36 + 49 = 85 +36 + 50 = 86 +36 + 51 = 87 +36 + 52 = 88 +36 + 53 = 89 +36 + 54 = 90 +36 + 55 = 91 +36 + 56 = 92 +36 + 57 = 93 +36 + 58 = 94 +36 + 59 = 95 +36 + 60 = 96 +36 + 61 = 97 +36 + 62 = 98 +36 + 63 = 99 +37 + 0 = 37 +37 + 1 = 38 +37 + 2 = 39 +37 + 3 = 40 +37 + 4 = 41 +37 + 5 = 42 +37 + 6 = 43 +37 + 7 = 44 +37 + 8 = 45 +37 + 9 = 46 +37 + 10 = 47 +37 + 11 = 48 +37 + 12 = 49 +37 + 13 = 50 +37 + 14 = 51 +37 + 15 = 52 +37 + 16 = 53 +37 + 17 = 54 +37 + 18 = 55 +37 + 19 = 56 +37 + 20 = 57 +37 + 21 = 58 +37 + 22 = 59 +37 + 23 = 60 +37 + 24 = 61 +37 + 25 = 62 +37 + 26 = 63 +37 + 27 = 64 +37 + 28 = 65 +37 + 29 = 66 +37 + 30 = 67 +37 + 31 = 68 +37 + 32 = 69 +37 + 33 = 70 +37 + 34 = 71 +37 + 35 = 72 +37 + 36 = 73 +37 + 37 = 74 +37 + 38 = 75 +37 + 39 = 76 +37 + 40 = 77 +37 + 41 = 78 +37 + 42 = 79 +37 + 43 = 80 +37 + 44 = 81 +37 + 45 = 82 +37 + 46 = 83 +37 + 47 = 84 +37 + 48 = 85 +37 + 49 = 86 +37 + 50 = 87 +37 + 51 = 88 +37 + 52 = 89 +37 + 53 = 90 +37 + 54 = 91 +37 + 55 = 92 +37 + 56 = 93 +37 + 57 = 94 +37 + 58 = 95 +37 + 59 = 96 +37 + 60 = 97 +37 + 61 = 98 +37 + 62 = 99 +37 + 63 = 100 +38 + 0 = 38 +38 + 1 = 39 +38 + 2 = 40 +38 + 3 = 41 +38 + 4 = 42 +38 + 5 = 43 +38 + 6 = 44 +38 + 7 = 45 +38 + 8 = 46 +38 + 9 = 47 +38 + 10 = 48 +38 + 11 = 49 +38 + 12 = 50 +38 + 13 = 51 +38 + 14 = 52 +38 + 15 = 53 +38 + 16 = 54 +38 + 17 = 55 +38 + 18 = 56 +38 + 19 = 57 +38 + 20 = 58 +38 + 21 = 59 +38 + 22 = 60 +38 + 23 = 61 +38 + 24 = 62 +38 + 25 = 63 +38 + 26 = 64 +38 + 27 = 65 +38 + 28 = 66 +38 + 29 = 67 +38 + 30 = 68 +38 + 31 = 69 +38 + 32 = 70 +38 + 33 = 71 +38 + 34 = 72 +38 + 35 = 73 +38 + 36 = 74 +38 + 37 = 75 +38 + 38 = 76 +38 + 39 = 77 +38 + 40 = 78 +38 + 41 = 79 +38 + 42 = 80 +38 + 43 = 81 +38 + 44 = 82 +38 + 45 = 83 +38 + 46 = 84 +38 + 47 = 85 +38 + 48 = 86 +38 + 49 = 87 +38 + 50 = 88 +38 + 51 = 89 +38 + 52 = 90 +38 + 53 = 91 +38 + 54 = 92 +38 + 55 = 93 +38 + 56 = 94 +38 + 57 = 95 +38 + 58 = 96 +38 + 59 = 97 +38 + 60 = 98 +38 + 61 = 99 +38 + 62 = 100 +38 + 63 = 101 +39 + 0 = 39 +39 + 1 = 40 +39 + 2 = 41 +39 + 3 = 42 +39 + 4 = 43 +39 + 5 = 44 +39 + 6 = 45 +39 + 7 = 46 +39 + 8 = 47 +39 + 9 = 48 +39 + 10 = 49 +39 + 11 = 50 +39 + 12 = 51 +39 + 13 = 52 +39 + 14 = 53 +39 + 15 = 54 +39 + 16 = 55 +39 + 17 = 56 +39 + 18 = 57 +39 + 19 = 58 +39 + 20 = 59 +39 + 21 = 60 +39 + 22 = 61 +39 + 23 = 62 +39 + 24 = 63 +39 + 25 = 64 +39 + 26 = 65 +39 + 27 = 66 +39 + 28 = 67 +39 + 29 = 68 +39 + 30 = 69 +39 + 31 = 70 +39 + 32 = 71 +39 + 33 = 72 +39 + 34 = 73 +39 + 35 = 74 +39 + 36 = 75 +39 + 37 = 76 +39 + 38 = 77 +39 + 39 = 78 +39 + 40 = 79 +39 + 41 = 80 +39 + 42 = 81 +39 + 43 = 82 +39 + 44 = 83 +39 + 45 = 84 +39 + 46 = 85 +39 + 47 = 86 +39 + 48 = 87 +39 + 49 = 88 +39 + 50 = 89 +39 + 51 = 90 +39 + 52 = 91 +39 + 53 = 92 +39 + 54 = 93 +39 + 55 = 94 +39 + 56 = 95 +39 + 57 = 96 +39 + 58 = 97 +39 + 59 = 98 +39 + 60 = 99 +39 + 61 = 100 +39 + 62 = 101 +39 + 63 = 102 +40 + 0 = 40 +40 + 1 = 41 +40 + 2 = 42 +40 + 3 = 43 +40 + 4 = 44 +40 + 5 = 45 +40 + 6 = 46 +40 + 7 = 47 +40 + 8 = 48 +40 + 9 = 49 +40 + 10 = 50 +40 + 11 = 51 +40 + 12 = 52 +40 + 13 = 53 +40 + 14 = 54 +40 + 15 = 55 +40 + 16 = 56 +40 + 17 = 57 +40 + 18 = 58 +40 + 19 = 59 +40 + 20 = 60 +40 + 21 = 61 +40 + 22 = 62 +40 + 23 = 63 +40 + 24 = 64 +40 + 25 = 65 +40 + 26 = 66 +40 + 27 = 67 +40 + 28 = 68 +40 + 29 = 69 +40 + 30 = 70 +40 + 31 = 71 +40 + 32 = 72 +40 + 33 = 73 +40 + 34 = 74 +40 + 35 = 75 +40 + 36 = 76 +40 + 37 = 77 +40 + 38 = 78 +40 + 39 = 79 +40 + 40 = 80 +40 + 41 = 81 +40 + 42 = 82 +40 + 43 = 83 +40 + 44 = 84 +40 + 45 = 85 +40 + 46 = 86 +40 + 47 = 87 +40 + 48 = 88 +40 + 49 = 89 +40 + 50 = 90 +40 + 51 = 91 +40 + 52 = 92 +40 + 53 = 93 +40 + 54 = 94 +40 + 55 = 95 +40 + 56 = 96 +40 + 57 = 97 +40 + 58 = 98 +40 + 59 = 99 +40 + 60 = 100 +40 + 61 = 101 +40 + 62 = 102 +40 + 63 = 103 +41 + 0 = 41 +41 + 1 = 42 +41 + 2 = 43 +41 + 3 = 44 +41 + 4 = 45 +41 + 5 = 46 +41 + 6 = 47 +41 + 7 = 48 +41 + 8 = 49 +41 + 9 = 50 +41 + 10 = 51 +41 + 11 = 52 +41 + 12 = 53 +41 + 13 = 54 +41 + 14 = 55 +41 + 15 = 56 +41 + 16 = 57 +41 + 17 = 58 +41 + 18 = 59 +41 + 19 = 60 +41 + 20 = 61 +41 + 21 = 62 +41 + 22 = 63 +41 + 23 = 64 +41 + 24 = 65 +41 + 25 = 66 +41 + 26 = 67 +41 + 27 = 68 +41 + 28 = 69 +41 + 29 = 70 +41 + 30 = 71 +41 + 31 = 72 +41 + 32 = 73 +41 + 33 = 74 +41 + 34 = 75 +41 + 35 = 76 +41 + 36 = 77 +41 + 37 = 78 +41 + 38 = 79 +41 + 39 = 80 +41 + 40 = 81 +41 + 41 = 82 +41 + 42 = 83 +41 + 43 = 84 +41 + 44 = 85 +41 + 45 = 86 +41 + 46 = 87 +41 + 47 = 88 +41 + 48 = 89 +41 + 49 = 90 +41 + 50 = 91 +41 + 51 = 92 +41 + 52 = 93 +41 + 53 = 94 +41 + 54 = 95 +41 + 55 = 96 +41 + 56 = 97 +41 + 57 = 98 +41 + 58 = 99 +41 + 59 = 100 +41 + 60 = 101 +41 + 61 = 102 +41 + 62 = 103 +41 + 63 = 104 +42 + 0 = 42 +42 + 1 = 43 +42 + 2 = 44 +42 + 3 = 45 +42 + 4 = 46 +42 + 5 = 47 +42 + 6 = 48 +42 + 7 = 49 +42 + 8 = 50 +42 + 9 = 51 +42 + 10 = 52 +42 + 11 = 53 +42 + 12 = 54 +42 + 13 = 55 +42 + 14 = 56 +42 + 15 = 57 +42 + 16 = 58 +42 + 17 = 59 +42 + 18 = 60 +42 + 19 = 61 +42 + 20 = 62 +42 + 21 = 63 +42 + 22 = 64 +42 + 23 = 65 +42 + 24 = 66 +42 + 25 = 67 +42 + 26 = 68 +42 + 27 = 69 +42 + 28 = 70 +42 + 29 = 71 +42 + 30 = 72 +42 + 31 = 73 +42 + 32 = 74 +42 + 33 = 75 +42 + 34 = 76 +42 + 35 = 77 +42 + 36 = 78 +42 + 37 = 79 +42 + 38 = 80 +42 + 39 = 81 +42 + 40 = 82 +42 + 41 = 83 +42 + 42 = 84 +42 + 43 = 85 +42 + 44 = 86 +42 + 45 = 87 +42 + 46 = 88 +42 + 47 = 89 +42 + 48 = 90 +42 + 49 = 91 +42 + 50 = 92 +42 + 51 = 93 +42 + 52 = 94 +42 + 53 = 95 +42 + 54 = 96 +42 + 55 = 97 +42 + 56 = 98 +42 + 57 = 99 +42 + 58 = 100 +42 + 59 = 101 +42 + 60 = 102 +42 + 61 = 103 +42 + 62 = 104 +42 + 63 = 105 +43 + 0 = 43 +43 + 1 = 44 +43 + 2 = 45 +43 + 3 = 46 +43 + 4 = 47 +43 + 5 = 48 +43 + 6 = 49 +43 + 7 = 50 +43 + 8 = 51 +43 + 9 = 52 +43 + 10 = 53 +43 + 11 = 54 +43 + 12 = 55 +43 + 13 = 56 +43 + 14 = 57 +43 + 15 = 58 +43 + 16 = 59 +43 + 17 = 60 +43 + 18 = 61 +43 + 19 = 62 +43 + 20 = 63 +43 + 21 = 64 +43 + 22 = 65 +43 + 23 = 66 +43 + 24 = 67 +43 + 25 = 68 +43 + 26 = 69 +43 + 27 = 70 +43 + 28 = 71 +43 + 29 = 72 +43 + 30 = 73 +43 + 31 = 74 +43 + 32 = 75 +43 + 33 = 76 +43 + 34 = 77 +43 + 35 = 78 +43 + 36 = 79 +43 + 37 = 80 +43 + 38 = 81 +43 + 39 = 82 +43 + 40 = 83 +43 + 41 = 84 +43 + 42 = 85 +43 + 43 = 86 +43 + 44 = 87 +43 + 45 = 88 +43 + 46 = 89 +43 + 47 = 90 +43 + 48 = 91 +43 + 49 = 92 +43 + 50 = 93 +43 + 51 = 94 +43 + 52 = 95 +43 + 53 = 96 +43 + 54 = 97 +43 + 55 = 98 +43 + 56 = 99 +43 + 57 = 100 +43 + 58 = 101 +43 + 59 = 102 +43 + 60 = 103 +43 + 61 = 104 +43 + 62 = 105 +43 + 63 = 106 +44 + 0 = 44 +44 + 1 = 45 +44 + 2 = 46 +44 + 3 = 47 +44 + 4 = 48 +44 + 5 = 49 +44 + 6 = 50 +44 + 7 = 51 +44 + 8 = 52 +44 + 9 = 53 +44 + 10 = 54 +44 + 11 = 55 +44 + 12 = 56 +44 + 13 = 57 +44 + 14 = 58 +44 + 15 = 59 +44 + 16 = 60 +44 + 17 = 61 +44 + 18 = 62 +44 + 19 = 63 +44 + 20 = 64 +44 + 21 = 65 +44 + 22 = 66 +44 + 23 = 67 +44 + 24 = 68 +44 + 25 = 69 +44 + 26 = 70 +44 + 27 = 71 +44 + 28 = 72 +44 + 29 = 73 +44 + 30 = 74 +44 + 31 = 75 +44 + 32 = 76 +44 + 33 = 77 +44 + 34 = 78 +44 + 35 = 79 +44 + 36 = 80 +44 + 37 = 81 +44 + 38 = 82 +44 + 39 = 83 +44 + 40 = 84 +44 + 41 = 85 +44 + 42 = 86 +44 + 43 = 87 +44 + 44 = 88 +44 + 45 = 89 +44 + 46 = 90 +44 + 47 = 91 +44 + 48 = 92 +44 + 49 = 93 +44 + 50 = 94 +44 + 51 = 95 +44 + 52 = 96 +44 + 53 = 97 +44 + 54 = 98 +44 + 55 = 99 +44 + 56 = 100 +44 + 57 = 101 +44 + 58 = 102 +44 + 59 = 103 +44 + 60 = 104 +44 + 61 = 105 +44 + 62 = 106 +44 + 63 = 107 +45 + 0 = 45 +45 + 1 = 46 +45 + 2 = 47 +45 + 3 = 48 +45 + 4 = 49 +45 + 5 = 50 +45 + 6 = 51 +45 + 7 = 52 +45 + 8 = 53 +45 + 9 = 54 +45 + 10 = 55 +45 + 11 = 56 +45 + 12 = 57 +45 + 13 = 58 +45 + 14 = 59 +45 + 15 = 60 +45 + 16 = 61 +45 + 17 = 62 +45 + 18 = 63 +45 + 19 = 64 +45 + 20 = 65 +45 + 21 = 66 +45 + 22 = 67 +45 + 23 = 68 +45 + 24 = 69 +45 + 25 = 70 +45 + 26 = 71 +45 + 27 = 72 +45 + 28 = 73 +45 + 29 = 74 +45 + 30 = 75 +45 + 31 = 76 +45 + 32 = 77 +45 + 33 = 78 +45 + 34 = 79 +45 + 35 = 80 +45 + 36 = 81 +45 + 37 = 82 +45 + 38 = 83 +45 + 39 = 84 +45 + 40 = 85 +45 + 41 = 86 +45 + 42 = 87 +45 + 43 = 88 +45 + 44 = 89 +45 + 45 = 90 +45 + 46 = 91 +45 + 47 = 92 +45 + 48 = 93 +45 + 49 = 94 +45 + 50 = 95 +45 + 51 = 96 +45 + 52 = 97 +45 + 53 = 98 +45 + 54 = 99 +45 + 55 = 100 +45 + 56 = 101 +45 + 57 = 102 +45 + 58 = 103 +45 + 59 = 104 +45 + 60 = 105 +45 + 61 = 106 +45 + 62 = 107 +45 + 63 = 108 +46 + 0 = 46 +46 + 1 = 47 +46 + 2 = 48 +46 + 3 = 49 +46 + 4 = 50 +46 + 5 = 51 +46 + 6 = 52 +46 + 7 = 53 +46 + 8 = 54 +46 + 9 = 55 +46 + 10 = 56 +46 + 11 = 57 +46 + 12 = 58 +46 + 13 = 59 +46 + 14 = 60 +46 + 15 = 61 +46 + 16 = 62 +46 + 17 = 63 +46 + 18 = 64 +46 + 19 = 65 +46 + 20 = 66 +46 + 21 = 67 +46 + 22 = 68 +46 + 23 = 69 +46 + 24 = 70 +46 + 25 = 71 +46 + 26 = 72 +46 + 27 = 73 +46 + 28 = 74 +46 + 29 = 75 +46 + 30 = 76 +46 + 31 = 77 +46 + 32 = 78 +46 + 33 = 79 +46 + 34 = 80 +46 + 35 = 81 +46 + 36 = 82 +46 + 37 = 83 +46 + 38 = 84 +46 + 39 = 85 +46 + 40 = 86 +46 + 41 = 87 +46 + 42 = 88 +46 + 43 = 89 +46 + 44 = 90 +46 + 45 = 91 +46 + 46 = 92 +46 + 47 = 93 +46 + 48 = 94 +46 + 49 = 95 +46 + 50 = 96 +46 + 51 = 97 +46 + 52 = 98 +46 + 53 = 99 +46 + 54 = 100 +46 + 55 = 101 +46 + 56 = 102 +46 + 57 = 103 +46 + 58 = 104 +46 + 59 = 105 +46 + 60 = 106 +46 + 61 = 107 +46 + 62 = 108 +46 + 63 = 109 +47 + 0 = 47 +47 + 1 = 48 +47 + 2 = 49 +47 + 3 = 50 +47 + 4 = 51 +47 + 5 = 52 +47 + 6 = 53 +47 + 7 = 54 +47 + 8 = 55 +47 + 9 = 56 +47 + 10 = 57 +47 + 11 = 58 +47 + 12 = 59 +47 + 13 = 60 +47 + 14 = 61 +47 + 15 = 62 +47 + 16 = 63 +47 + 17 = 64 +47 + 18 = 65 +47 + 19 = 66 +47 + 20 = 67 +47 + 21 = 68 +47 + 22 = 69 +47 + 23 = 70 +47 + 24 = 71 +47 + 25 = 72 +47 + 26 = 73 +47 + 27 = 74 +47 + 28 = 75 +47 + 29 = 76 +47 + 30 = 77 +47 + 31 = 78 +47 + 32 = 79 +47 + 33 = 80 +47 + 34 = 81 +47 + 35 = 82 +47 + 36 = 83 +47 + 37 = 84 +47 + 38 = 85 +47 + 39 = 86 +47 + 40 = 87 +47 + 41 = 88 +47 + 42 = 89 +47 + 43 = 90 +47 + 44 = 91 +47 + 45 = 92 +47 + 46 = 93 +47 + 47 = 94 +47 + 48 = 95 +47 + 49 = 96 +47 + 50 = 97 +47 + 51 = 98 +47 + 52 = 99 +47 + 53 = 100 +47 + 54 = 101 +47 + 55 = 102 +47 + 56 = 103 +47 + 57 = 104 +47 + 58 = 105 +47 + 59 = 106 +47 + 60 = 107 +47 + 61 = 108 +47 + 62 = 109 +47 + 63 = 110 +48 + 0 = 48 +48 + 1 = 49 +48 + 2 = 50 +48 + 3 = 51 +48 + 4 = 52 +48 + 5 = 53 +48 + 6 = 54 +48 + 7 = 55 +48 + 8 = 56 +48 + 9 = 57 +48 + 10 = 58 +48 + 11 = 59 +48 + 12 = 60 +48 + 13 = 61 +48 + 14 = 62 +48 + 15 = 63 +48 + 16 = 64 +48 + 17 = 65 +48 + 18 = 66 +48 + 19 = 67 +48 + 20 = 68 +48 + 21 = 69 +48 + 22 = 70 +48 + 23 = 71 +48 + 24 = 72 +48 + 25 = 73 +48 + 26 = 74 +48 + 27 = 75 +48 + 28 = 76 +48 + 29 = 77 +48 + 30 = 78 +48 + 31 = 79 +48 + 32 = 80 +48 + 33 = 81 +48 + 34 = 82 +48 + 35 = 83 +48 + 36 = 84 +48 + 37 = 85 +48 + 38 = 86 +48 + 39 = 87 +48 + 40 = 88 +48 + 41 = 89 +48 + 42 = 90 +48 + 43 = 91 +48 + 44 = 92 +48 + 45 = 93 +48 + 46 = 94 +48 + 47 = 95 +48 + 48 = 96 +48 + 49 = 97 +48 + 50 = 98 +48 + 51 = 99 +48 + 52 = 100 +48 + 53 = 101 +48 + 54 = 102 +48 + 55 = 103 +48 + 56 = 104 +48 + 57 = 105 +48 + 58 = 106 +48 + 59 = 107 +48 + 60 = 108 +48 + 61 = 109 +48 + 62 = 110 +48 + 63 = 111 +49 + 0 = 49 +49 + 1 = 50 +49 + 2 = 51 +49 + 3 = 52 +49 + 4 = 53 +49 + 5 = 54 +49 + 6 = 55 +49 + 7 = 56 +49 + 8 = 57 +49 + 9 = 58 +49 + 10 = 59 +49 + 11 = 60 +49 + 12 = 61 +49 + 13 = 62 +49 + 14 = 63 +49 + 15 = 64 +49 + 16 = 65 +49 + 17 = 66 +49 + 18 = 67 +49 + 19 = 68 +49 + 20 = 69 +49 + 21 = 70 +49 + 22 = 71 +49 + 23 = 72 +49 + 24 = 73 +49 + 25 = 74 +49 + 26 = 75 +49 + 27 = 76 +49 + 28 = 77 +49 + 29 = 78 +49 + 30 = 79 +49 + 31 = 80 +49 + 32 = 81 +49 + 33 = 82 +49 + 34 = 83 +49 + 35 = 84 +49 + 36 = 85 +49 + 37 = 86 +49 + 38 = 87 +49 + 39 = 88 +49 + 40 = 89 +49 + 41 = 90 +49 + 42 = 91 +49 + 43 = 92 +49 + 44 = 93 +49 + 45 = 94 +49 + 46 = 95 +49 + 47 = 96 +49 + 48 = 97 +49 + 49 = 98 +49 + 50 = 99 +49 + 51 = 100 +49 + 52 = 101 +49 + 53 = 102 +49 + 54 = 103 +49 + 55 = 104 +49 + 56 = 105 +49 + 57 = 106 +49 + 58 = 107 +49 + 59 = 108 +49 + 60 = 109 +49 + 61 = 110 +49 + 62 = 111 +49 + 63 = 112 +50 + 0 = 50 +50 + 1 = 51 +50 + 2 = 52 +50 + 3 = 53 +50 + 4 = 54 +50 + 5 = 55 +50 + 6 = 56 +50 + 7 = 57 +50 + 8 = 58 +50 + 9 = 59 +50 + 10 = 60 +50 + 11 = 61 +50 + 12 = 62 +50 + 13 = 63 +50 + 14 = 64 +50 + 15 = 65 +50 + 16 = 66 +50 + 17 = 67 +50 + 18 = 68 +50 + 19 = 69 +50 + 20 = 70 +50 + 21 = 71 +50 + 22 = 72 +50 + 23 = 73 +50 + 24 = 74 +50 + 25 = 75 +50 + 26 = 76 +50 + 27 = 77 +50 + 28 = 78 +50 + 29 = 79 +50 + 30 = 80 +50 + 31 = 81 +50 + 32 = 82 +50 + 33 = 83 +50 + 34 = 84 +50 + 35 = 85 +50 + 36 = 86 +50 + 37 = 87 +50 + 38 = 88 +50 + 39 = 89 +50 + 40 = 90 +50 + 41 = 91 +50 + 42 = 92 +50 + 43 = 93 +50 + 44 = 94 +50 + 45 = 95 +50 + 46 = 96 +50 + 47 = 97 +50 + 48 = 98 +50 + 49 = 99 +50 + 50 = 100 +50 + 51 = 101 +50 + 52 = 102 +50 + 53 = 103 +50 + 54 = 104 +50 + 55 = 105 +50 + 56 = 106 +50 + 57 = 107 +50 + 58 = 108 +50 + 59 = 109 +50 + 60 = 110 +50 + 61 = 111 +50 + 62 = 112 +50 + 63 = 113 +51 + 0 = 51 +51 + 1 = 52 +51 + 2 = 53 +51 + 3 = 54 +51 + 4 = 55 +51 + 5 = 56 +51 + 6 = 57 +51 + 7 = 58 +51 + 8 = 59 +51 + 9 = 60 +51 + 10 = 61 +51 + 11 = 62 +51 + 12 = 63 +51 + 13 = 64 +51 + 14 = 65 +51 + 15 = 66 +51 + 16 = 67 +51 + 17 = 68 +51 + 18 = 69 +51 + 19 = 70 +51 + 20 = 71 +51 + 21 = 72 +51 + 22 = 73 +51 + 23 = 74 +51 + 24 = 75 +51 + 25 = 76 +51 + 26 = 77 +51 + 27 = 78 +51 + 28 = 79 +51 + 29 = 80 +51 + 30 = 81 +51 + 31 = 82 +51 + 32 = 83 +51 + 33 = 84 +51 + 34 = 85 +51 + 35 = 86 +51 + 36 = 87 +51 + 37 = 88 +51 + 38 = 89 +51 + 39 = 90 +51 + 40 = 91 +51 + 41 = 92 +51 + 42 = 93 +51 + 43 = 94 +51 + 44 = 95 +51 + 45 = 96 +51 + 46 = 97 +51 + 47 = 98 +51 + 48 = 99 +51 + 49 = 100 +51 + 50 = 101 +51 + 51 = 102 +51 + 52 = 103 +51 + 53 = 104 +51 + 54 = 105 +51 + 55 = 106 +51 + 56 = 107 +51 + 57 = 108 +51 + 58 = 109 +51 + 59 = 110 +51 + 60 = 111 +51 + 61 = 112 +51 + 62 = 113 +51 + 63 = 114 +52 + 0 = 52 +52 + 1 = 53 +52 + 2 = 54 +52 + 3 = 55 +52 + 4 = 56 +52 + 5 = 57 +52 + 6 = 58 +52 + 7 = 59 +52 + 8 = 60 +52 + 9 = 61 +52 + 10 = 62 +52 + 11 = 63 +52 + 12 = 64 +52 + 13 = 65 +52 + 14 = 66 +52 + 15 = 67 +52 + 16 = 68 +52 + 17 = 69 +52 + 18 = 70 +52 + 19 = 71 +52 + 20 = 72 +52 + 21 = 73 +52 + 22 = 74 +52 + 23 = 75 +52 + 24 = 76 +52 + 25 = 77 +52 + 26 = 78 +52 + 27 = 79 +52 + 28 = 80 +52 + 29 = 81 +52 + 30 = 82 +52 + 31 = 83 +52 + 32 = 84 +52 + 33 = 85 +52 + 34 = 86 +52 + 35 = 87 +52 + 36 = 88 +52 + 37 = 89 +52 + 38 = 90 +52 + 39 = 91 +52 + 40 = 92 +52 + 41 = 93 +52 + 42 = 94 +52 + 43 = 95 +52 + 44 = 96 +52 + 45 = 97 +52 + 46 = 98 +52 + 47 = 99 +52 + 48 = 100 +52 + 49 = 101 +52 + 50 = 102 +52 + 51 = 103 +52 + 52 = 104 +52 + 53 = 105 +52 + 54 = 106 +52 + 55 = 107 +52 + 56 = 108 +52 + 57 = 109 +52 + 58 = 110 +52 + 59 = 111 +52 + 60 = 112 +52 + 61 = 113 +52 + 62 = 114 +52 + 63 = 115 +53 + 0 = 53 +53 + 1 = 54 +53 + 2 = 55 +53 + 3 = 56 +53 + 4 = 57 +53 + 5 = 58 +53 + 6 = 59 +53 + 7 = 60 +53 + 8 = 61 +53 + 9 = 62 +53 + 10 = 63 +53 + 11 = 64 +53 + 12 = 65 +53 + 13 = 66 +53 + 14 = 67 +53 + 15 = 68 +53 + 16 = 69 +53 + 17 = 70 +53 + 18 = 71 +53 + 19 = 72 +53 + 20 = 73 +53 + 21 = 74 +53 + 22 = 75 +53 + 23 = 76 +53 + 24 = 77 +53 + 25 = 78 +53 + 26 = 79 +53 + 27 = 80 +53 + 28 = 81 +53 + 29 = 82 +53 + 30 = 83 +53 + 31 = 84 +53 + 32 = 85 +53 + 33 = 86 +53 + 34 = 87 +53 + 35 = 88 +53 + 36 = 89 +53 + 37 = 90 +53 + 38 = 91 +53 + 39 = 92 +53 + 40 = 93 +53 + 41 = 94 +53 + 42 = 95 +53 + 43 = 96 +53 + 44 = 97 +53 + 45 = 98 +53 + 46 = 99 +53 + 47 = 100 +53 + 48 = 101 +53 + 49 = 102 +53 + 50 = 103 +53 + 51 = 104 +53 + 52 = 105 +53 + 53 = 106 +53 + 54 = 107 +53 + 55 = 108 +53 + 56 = 109 +53 + 57 = 110 +53 + 58 = 111 +53 + 59 = 112 +53 + 60 = 113 +53 + 61 = 114 +53 + 62 = 115 +53 + 63 = 116 +54 + 0 = 54 +54 + 1 = 55 +54 + 2 = 56 +54 + 3 = 57 +54 + 4 = 58 +54 + 5 = 59 +54 + 6 = 60 +54 + 7 = 61 +54 + 8 = 62 +54 + 9 = 63 +54 + 10 = 64 +54 + 11 = 65 +54 + 12 = 66 +54 + 13 = 67 +54 + 14 = 68 +54 + 15 = 69 +54 + 16 = 70 +54 + 17 = 71 +54 + 18 = 72 +54 + 19 = 73 +54 + 20 = 74 +54 + 21 = 75 +54 + 22 = 76 +54 + 23 = 77 +54 + 24 = 78 +54 + 25 = 79 +54 + 26 = 80 +54 + 27 = 81 +54 + 28 = 82 +54 + 29 = 83 +54 + 30 = 84 +54 + 31 = 85 +54 + 32 = 86 +54 + 33 = 87 +54 + 34 = 88 +54 + 35 = 89 +54 + 36 = 90 +54 + 37 = 91 +54 + 38 = 92 +54 + 39 = 93 +54 + 40 = 94 +54 + 41 = 95 +54 + 42 = 96 +54 + 43 = 97 +54 + 44 = 98 +54 + 45 = 99 +54 + 46 = 100 +54 + 47 = 101 +54 + 48 = 102 +54 + 49 = 103 +54 + 50 = 104 +54 + 51 = 105 +54 + 52 = 106 +54 + 53 = 107 +54 + 54 = 108 +54 + 55 = 109 +54 + 56 = 110 +54 + 57 = 111 +54 + 58 = 112 +54 + 59 = 113 +54 + 60 = 114 +54 + 61 = 115 +54 + 62 = 116 +54 + 63 = 117 +55 + 0 = 55 +55 + 1 = 56 +55 + 2 = 57 +55 + 3 = 58 +55 + 4 = 59 +55 + 5 = 60 +55 + 6 = 61 +55 + 7 = 62 +55 + 8 = 63 +55 + 9 = 64 +55 + 10 = 65 +55 + 11 = 66 +55 + 12 = 67 +55 + 13 = 68 +55 + 14 = 69 +55 + 15 = 70 +55 + 16 = 71 +55 + 17 = 72 +55 + 18 = 73 +55 + 19 = 74 +55 + 20 = 75 +55 + 21 = 76 +55 + 22 = 77 +55 + 23 = 78 +55 + 24 = 79 +55 + 25 = 80 +55 + 26 = 81 +55 + 27 = 82 +55 + 28 = 83 +55 + 29 = 84 +55 + 30 = 85 +55 + 31 = 86 +55 + 32 = 87 +55 + 33 = 88 +55 + 34 = 89 +55 + 35 = 90 +55 + 36 = 91 +55 + 37 = 92 +55 + 38 = 93 +55 + 39 = 94 +55 + 40 = 95 +55 + 41 = 96 +55 + 42 = 97 +55 + 43 = 98 +55 + 44 = 99 +55 + 45 = 100 +55 + 46 = 101 +55 + 47 = 102 +55 + 48 = 103 +55 + 49 = 104 +55 + 50 = 105 +55 + 51 = 106 +55 + 52 = 107 +55 + 53 = 108 +55 + 54 = 109 +55 + 55 = 110 +55 + 56 = 111 +55 + 57 = 112 +55 + 58 = 113 +55 + 59 = 114 +55 + 60 = 115 +55 + 61 = 116 +55 + 62 = 117 +55 + 63 = 118 +56 + 0 = 56 +56 + 1 = 57 +56 + 2 = 58 +56 + 3 = 59 +56 + 4 = 60 +56 + 5 = 61 +56 + 6 = 62 +56 + 7 = 63 +56 + 8 = 64 +56 + 9 = 65 +56 + 10 = 66 +56 + 11 = 67 +56 + 12 = 68 +56 + 13 = 69 +56 + 14 = 70 +56 + 15 = 71 +56 + 16 = 72 +56 + 17 = 73 +56 + 18 = 74 +56 + 19 = 75 +56 + 20 = 76 +56 + 21 = 77 +56 + 22 = 78 +56 + 23 = 79 +56 + 24 = 80 +56 + 25 = 81 +56 + 26 = 82 +56 + 27 = 83 +56 + 28 = 84 +56 + 29 = 85 +56 + 30 = 86 +56 + 31 = 87 +56 + 32 = 88 +56 + 33 = 89 +56 + 34 = 90 +56 + 35 = 91 +56 + 36 = 92 +56 + 37 = 93 +56 + 38 = 94 +56 + 39 = 95 +56 + 40 = 96 +56 + 41 = 97 +56 + 42 = 98 +56 + 43 = 99 +56 + 44 = 100 +56 + 45 = 101 +56 + 46 = 102 +56 + 47 = 103 +56 + 48 = 104 +56 + 49 = 105 +56 + 50 = 106 +56 + 51 = 107 +56 + 52 = 108 +56 + 53 = 109 +56 + 54 = 110 +56 + 55 = 111 +56 + 56 = 112 +56 + 57 = 113 +56 + 58 = 114 +56 + 59 = 115 +56 + 60 = 116 +56 + 61 = 117 +56 + 62 = 118 +56 + 63 = 119 +57 + 0 = 57 +57 + 1 = 58 +57 + 2 = 59 +57 + 3 = 60 +57 + 4 = 61 +57 + 5 = 62 +57 + 6 = 63 +57 + 7 = 64 +57 + 8 = 65 +57 + 9 = 66 +57 + 10 = 67 +57 + 11 = 68 +57 + 12 = 69 +57 + 13 = 70 +57 + 14 = 71 +57 + 15 = 72 +57 + 16 = 73 +57 + 17 = 74 +57 + 18 = 75 +57 + 19 = 76 +57 + 20 = 77 +57 + 21 = 78 +57 + 22 = 79 +57 + 23 = 80 +57 + 24 = 81 +57 + 25 = 82 +57 + 26 = 83 +57 + 27 = 84 +57 + 28 = 85 +57 + 29 = 86 +57 + 30 = 87 +57 + 31 = 88 +57 + 32 = 89 +57 + 33 = 90 +57 + 34 = 91 +57 + 35 = 92 +57 + 36 = 93 +57 + 37 = 94 +57 + 38 = 95 +57 + 39 = 96 +57 + 40 = 97 +57 + 41 = 98 +57 + 42 = 99 +57 + 43 = 100 +57 + 44 = 101 +57 + 45 = 102 +57 + 46 = 103 +57 + 47 = 104 +57 + 48 = 105 +57 + 49 = 106 +57 + 50 = 107 +57 + 51 = 108 +57 + 52 = 109 +57 + 53 = 110 +57 + 54 = 111 +57 + 55 = 112 +57 + 56 = 113 +57 + 57 = 114 +57 + 58 = 115 +57 + 59 = 116 +57 + 60 = 117 +57 + 61 = 118 +57 + 62 = 119 +57 + 63 = 120 +58 + 0 = 58 +58 + 1 = 59 +58 + 2 = 60 +58 + 3 = 61 +58 + 4 = 62 +58 + 5 = 63 +58 + 6 = 64 +58 + 7 = 65 +58 + 8 = 66 +58 + 9 = 67 +58 + 10 = 68 +58 + 11 = 69 +58 + 12 = 70 +58 + 13 = 71 +58 + 14 = 72 +58 + 15 = 73 +58 + 16 = 74 +58 + 17 = 75 +58 + 18 = 76 +58 + 19 = 77 +58 + 20 = 78 +58 + 21 = 79 +58 + 22 = 80 +58 + 23 = 81 +58 + 24 = 82 +58 + 25 = 83 +58 + 26 = 84 +58 + 27 = 85 +58 + 28 = 86 +58 + 29 = 87 +58 + 30 = 88 +58 + 31 = 89 +58 + 32 = 90 +58 + 33 = 91 +58 + 34 = 92 +58 + 35 = 93 +58 + 36 = 94 +58 + 37 = 95 +58 + 38 = 96 +58 + 39 = 97 +58 + 40 = 98 +58 + 41 = 99 +58 + 42 = 100 +58 + 43 = 101 +58 + 44 = 102 +58 + 45 = 103 +58 + 46 = 104 +58 + 47 = 105 +58 + 48 = 106 +58 + 49 = 107 +58 + 50 = 108 +58 + 51 = 109 +58 + 52 = 110 +58 + 53 = 111 +58 + 54 = 112 +58 + 55 = 113 +58 + 56 = 114 +58 + 57 = 115 +58 + 58 = 116 +58 + 59 = 117 +58 + 60 = 118 +58 + 61 = 119 +58 + 62 = 120 +58 + 63 = 121 +59 + 0 = 59 +59 + 1 = 60 +59 + 2 = 61 +59 + 3 = 62 +59 + 4 = 63 +59 + 5 = 64 +59 + 6 = 65 +59 + 7 = 66 +59 + 8 = 67 +59 + 9 = 68 +59 + 10 = 69 +59 + 11 = 70 +59 + 12 = 71 +59 + 13 = 72 +59 + 14 = 73 +59 + 15 = 74 +59 + 16 = 75 +59 + 17 = 76 +59 + 18 = 77 +59 + 19 = 78 +59 + 20 = 79 +59 + 21 = 80 +59 + 22 = 81 +59 + 23 = 82 +59 + 24 = 83 +59 + 25 = 84 +59 + 26 = 85 +59 + 27 = 86 +59 + 28 = 87 +59 + 29 = 88 +59 + 30 = 89 +59 + 31 = 90 +59 + 32 = 91 +59 + 33 = 92 +59 + 34 = 93 +59 + 35 = 94 +59 + 36 = 95 +59 + 37 = 96 +59 + 38 = 97 +59 + 39 = 98 +59 + 40 = 99 +59 + 41 = 100 +59 + 42 = 101 +59 + 43 = 102 +59 + 44 = 103 +59 + 45 = 104 +59 + 46 = 105 +59 + 47 = 106 +59 + 48 = 107 +59 + 49 = 108 +59 + 50 = 109 +59 + 51 = 110 +59 + 52 = 111 +59 + 53 = 112 +59 + 54 = 113 +59 + 55 = 114 +59 + 56 = 115 +59 + 57 = 116 +59 + 58 = 117 +59 + 59 = 118 +59 + 60 = 119 +59 + 61 = 120 +59 + 62 = 121 +59 + 63 = 122 +60 + 0 = 60 +60 + 1 = 61 +60 + 2 = 62 +60 + 3 = 63 +60 + 4 = 64 +60 + 5 = 65 +60 + 6 = 66 +60 + 7 = 67 +60 + 8 = 68 +60 + 9 = 69 +60 + 10 = 70 +60 + 11 = 71 +60 + 12 = 72 +60 + 13 = 73 +60 + 14 = 74 +60 + 15 = 75 +60 + 16 = 76 +60 + 17 = 77 +60 + 18 = 78 +60 + 19 = 79 +60 + 20 = 80 +60 + 21 = 81 +60 + 22 = 82 +60 + 23 = 83 +60 + 24 = 84 +60 + 25 = 85 +60 + 26 = 86 +60 + 27 = 87 +60 + 28 = 88 +60 + 29 = 89 +60 + 30 = 90 +60 + 31 = 91 +60 + 32 = 92 +60 + 33 = 93 +60 + 34 = 94 +60 + 35 = 95 +60 + 36 = 96 +60 + 37 = 97 +60 + 38 = 98 +60 + 39 = 99 +60 + 40 = 100 +60 + 41 = 101 +60 + 42 = 102 +60 + 43 = 103 +60 + 44 = 104 +60 + 45 = 105 +60 + 46 = 106 +60 + 47 = 107 +60 + 48 = 108 +60 + 49 = 109 +60 + 50 = 110 +60 + 51 = 111 +60 + 52 = 112 +60 + 53 = 113 +60 + 54 = 114 +60 + 55 = 115 +60 + 56 = 116 +60 + 57 = 117 +60 + 58 = 118 +60 + 59 = 119 +60 + 60 = 120 +60 + 61 = 121 +60 + 62 = 122 +60 + 63 = 123 +61 + 0 = 61 +61 + 1 = 62 +61 + 2 = 63 +61 + 3 = 64 +61 + 4 = 65 +61 + 5 = 66 +61 + 6 = 67 +61 + 7 = 68 +61 + 8 = 69 +61 + 9 = 70 +61 + 10 = 71 +61 + 11 = 72 +61 + 12 = 73 +61 + 13 = 74 +61 + 14 = 75 +61 + 15 = 76 +61 + 16 = 77 +61 + 17 = 78 +61 + 18 = 79 +61 + 19 = 80 +61 + 20 = 81 +61 + 21 = 82 +61 + 22 = 83 +61 + 23 = 84 +61 + 24 = 85 +61 + 25 = 86 +61 + 26 = 87 +61 + 27 = 88 +61 + 28 = 89 +61 + 29 = 90 +61 + 30 = 91 +61 + 31 = 92 +61 + 32 = 93 +61 + 33 = 94 +61 + 34 = 95 +61 + 35 = 96 +61 + 36 = 97 +61 + 37 = 98 +61 + 38 = 99 +61 + 39 = 100 +61 + 40 = 101 +61 + 41 = 102 +61 + 42 = 103 +61 + 43 = 104 +61 + 44 = 105 +61 + 45 = 106 +61 + 46 = 107 +61 + 47 = 108 +61 + 48 = 109 +61 + 49 = 110 +61 + 50 = 111 +61 + 51 = 112 +61 + 52 = 113 +61 + 53 = 114 +61 + 54 = 115 +61 + 55 = 116 +61 + 56 = 117 +61 + 57 = 118 +61 + 58 = 119 +61 + 59 = 120 +61 + 60 = 121 +61 + 61 = 122 +61 + 62 = 123 +61 + 63 = 124 +62 + 0 = 62 +62 + 1 = 63 +62 + 2 = 64 +62 + 3 = 65 +62 + 4 = 66 +62 + 5 = 67 +62 + 6 = 68 +62 + 7 = 69 +62 + 8 = 70 +62 + 9 = 71 +62 + 10 = 72 +62 + 11 = 73 +62 + 12 = 74 +62 + 13 = 75 +62 + 14 = 76 +62 + 15 = 77 +62 + 16 = 78 +62 + 17 = 79 +62 + 18 = 80 +62 + 19 = 81 +62 + 20 = 82 +62 + 21 = 83 +62 + 22 = 84 +62 + 23 = 85 +62 + 24 = 86 +62 + 25 = 87 +62 + 26 = 88 +62 + 27 = 89 +62 + 28 = 90 +62 + 29 = 91 +62 + 30 = 92 +62 + 31 = 93 +62 + 32 = 94 +62 + 33 = 95 +62 + 34 = 96 +62 + 35 = 97 +62 + 36 = 98 +62 + 37 = 99 +62 + 38 = 100 +62 + 39 = 101 +62 + 40 = 102 +62 + 41 = 103 +62 + 42 = 104 +62 + 43 = 105 +62 + 44 = 106 +62 + 45 = 107 +62 + 46 = 108 +62 + 47 = 109 +62 + 48 = 110 +62 + 49 = 111 +62 + 50 = 112 +62 + 51 = 113 +62 + 52 = 114 +62 + 53 = 115 +62 + 54 = 116 +62 + 55 = 117 +62 + 56 = 118 +62 + 57 = 119 +62 + 58 = 120 +62 + 59 = 121 +62 + 60 = 122 +62 + 61 = 123 +62 + 62 = 124 +62 + 63 = 125 +63 + 0 = 63 +63 + 1 = 64 +63 + 2 = 65 +63 + 3 = 66 +63 + 4 = 67 +63 + 5 = 68 +63 + 6 = 69 +63 + 7 = 70 +63 + 8 = 71 +63 + 9 = 72 +63 + 10 = 73 +63 + 11 = 74 +63 + 12 = 75 +63 + 13 = 76 +63 + 14 = 77 +63 + 15 = 78 +63 + 16 = 79 +63 + 17 = 80 +63 + 18 = 81 +63 + 19 = 82 +63 + 20 = 83 +63 + 21 = 84 +63 + 22 = 85 +63 + 23 = 86 +63 + 24 = 87 +63 + 25 = 88 +63 + 26 = 89 +63 + 27 = 90 +63 + 28 = 91 +63 + 29 = 92 +63 + 30 = 93 +63 + 31 = 94 +63 + 32 = 95 +63 + 33 = 96 +63 + 34 = 97 +63 + 35 = 98 +63 + 36 = 99 +63 + 37 = 100 +63 + 38 = 101 +63 + 39 = 102 +63 + 40 = 103 +63 + 41 = 104 +63 + 42 = 105 +63 + 43 = 106 +63 + 44 = 107 +63 + 45 = 108 +63 + 46 = 109 +63 + 47 = 110 +63 + 48 = 111 +63 + 49 = 112 +63 + 50 = 113 +63 + 51 = 114 +63 + 52 = 115 +63 + 53 = 116 +63 + 54 = 117 +63 + 55 = 118 +63 + 56 = 119 +63 + 57 = 120 +63 + 58 = 121 +63 + 59 = 122 +63 + 60 = 123 +63 + 61 = 124 +63 + 62 = 125 +63 + 63 = 126 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/int_to_bits.f b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/int_to_bits.f new file mode 100644 index 000000000..6ec30baa4 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/int_to_bits.f @@ -0,0 +1,3 @@ +int_to_bits/datawidth.cpp +int_to_bits/stimgen.cpp +int_to_bits/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/main.cpp new file mode 100644 index 000000000..c4d9d6a59 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/main.cpp @@ -0,0 +1,72 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /***************************************/ + /* Main Filename: main.cc */ + /***************************************/ + /* */ + /* 7-bit bool = int + int */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /***************************************/ + + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + sc_signal in1 ("in1"); + sc_signal in2 ("in2"); + sc_signal_bool_vector result ("result"); + sc_signal ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.cpp new file mode 100644 index 000000000..44e604d6c --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read() << " + " << in2.read() + << " = " << result.read().to_uint() << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.h new file mode 100644 index 000000000..0d2e45deb --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/int_to_bits/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const sc_signal_bool_vector& result; + // Outputs + sc_signal& in1; + sc_signal& in2; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const sc_signal_bool_vector& RESULT, + sc_signal& IN1, + sc_signal& IN2, + sc_signal& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/common.h b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/common.h new file mode 100644 index 000000000..004591939 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/common.h @@ -0,0 +1,48 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + common.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#ifndef COMMON_H +#define COMMON_H + +#include "systemc.h" + +typedef sc_bv<6> bool_vector6; +typedef sc_bv<7> bool_vector7; +typedef sc_signal sc_signal_bool_vector6; +typedef sc_signal sc_signal_bool_vector7; + +#endif diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.cpp b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.cpp new file mode 100644 index 000000000..dabfea208 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.cpp @@ -0,0 +1,67 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*******************************************/ + /* Implementation Filename: datawidth.cc */ + /*******************************************/ + +#include "datawidth.h" + +void +datawidth::entry() +{ + bool_vector7 tmp_a; + bool_vector7 tmp_b; + bool_vector7 tmp_result; + + while (true) { + + // HANDSHAKING + do { wait(); } while (ready != 1); + + // COMPUTATION + // tmp_a = ('0', in1.read()); // extend in1 with 0 to make 7-bit + tmp_a = ("0", in1.read()); // extend in1 with 0 to make 7-bit + // tmp_b = ('0', in2.read()); // extend in2 with 0 to make 7-bit + tmp_b = ("0", in2.read()); // extend in2 with 0 to make 7-bit + tmp_result = tmp_a.to_uint() + tmp_b.to_uint(); + + // WRITE OUTPUT + result.write(tmp_result); // result = in1 + in2 + wait(); + } +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.h b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.h new file mode 100644 index 000000000..82a1b838d --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/datawidth.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + datawidth.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /**************************************/ + /* Interface Filename: datawidth.h */ + /**************************************/ + +#include "common.h" + +SC_MODULE( datawidth ) +{ + SC_HAS_PROCESS( datawidth ); + + sc_in_clk clk; + + // Inputs + const sc_signal_bool_vector6& in1; + const sc_signal_bool_vector6& in2; + const sc_signal& ready; + // Outputs + sc_signal_bool_vector7& result; + + // Constructor + datawidth (sc_module_name NAME, + sc_clock& TICK, + const sc_signal_bool_vector6& IN1, + const sc_signal_bool_vector6& IN2, + const sc_signal& READY, + sc_signal_bool_vector7& RESULT ) + + : + in1 (IN1), + in2 (IN2), + ready (READY), + result (RESULT) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/golden/promote_add.log b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/golden/promote_add.log new file mode 100644 index 000000000..b168b0482 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/golden/promote_add.log @@ -0,0 +1,4099 @@ +SystemC Simulation +0 + 0 = 0 +0 + 1 = 1 +0 + 2 = 2 +0 + 3 = 3 +0 + 4 = 4 +0 + 5 = 5 +0 + 6 = 6 +0 + 7 = 7 +0 + 8 = 8 +0 + 9 = 9 +0 + 10 = 10 +0 + 11 = 11 +0 + 12 = 12 +0 + 13 = 13 +0 + 14 = 14 +0 + 15 = 15 +0 + 16 = 16 +0 + 17 = 17 +0 + 18 = 18 +0 + 19 = 19 +0 + 20 = 20 +0 + 21 = 21 +0 + 22 = 22 +0 + 23 = 23 +0 + 24 = 24 +0 + 25 = 25 +0 + 26 = 26 +0 + 27 = 27 +0 + 28 = 28 +0 + 29 = 29 +0 + 30 = 30 +0 + 31 = 31 +0 + 32 = 32 +0 + 33 = 33 +0 + 34 = 34 +0 + 35 = 35 +0 + 36 = 36 +0 + 37 = 37 +0 + 38 = 38 +0 + 39 = 39 +0 + 40 = 40 +0 + 41 = 41 +0 + 42 = 42 +0 + 43 = 43 +0 + 44 = 44 +0 + 45 = 45 +0 + 46 = 46 +0 + 47 = 47 +0 + 48 = 48 +0 + 49 = 49 +0 + 50 = 50 +0 + 51 = 51 +0 + 52 = 52 +0 + 53 = 53 +0 + 54 = 54 +0 + 55 = 55 +0 + 56 = 56 +0 + 57 = 57 +0 + 58 = 58 +0 + 59 = 59 +0 + 60 = 60 +0 + 61 = 61 +0 + 62 = 62 +0 + 63 = 63 +1 + 0 = 1 +1 + 1 = 2 +1 + 2 = 3 +1 + 3 = 4 +1 + 4 = 5 +1 + 5 = 6 +1 + 6 = 7 +1 + 7 = 8 +1 + 8 = 9 +1 + 9 = 10 +1 + 10 = 11 +1 + 11 = 12 +1 + 12 = 13 +1 + 13 = 14 +1 + 14 = 15 +1 + 15 = 16 +1 + 16 = 17 +1 + 17 = 18 +1 + 18 = 19 +1 + 19 = 20 +1 + 20 = 21 +1 + 21 = 22 +1 + 22 = 23 +1 + 23 = 24 +1 + 24 = 25 +1 + 25 = 26 +1 + 26 = 27 +1 + 27 = 28 +1 + 28 = 29 +1 + 29 = 30 +1 + 30 = 31 +1 + 31 = 32 +1 + 32 = 33 +1 + 33 = 34 +1 + 34 = 35 +1 + 35 = 36 +1 + 36 = 37 +1 + 37 = 38 +1 + 38 = 39 +1 + 39 = 40 +1 + 40 = 41 +1 + 41 = 42 +1 + 42 = 43 +1 + 43 = 44 +1 + 44 = 45 +1 + 45 = 46 +1 + 46 = 47 +1 + 47 = 48 +1 + 48 = 49 +1 + 49 = 50 +1 + 50 = 51 +1 + 51 = 52 +1 + 52 = 53 +1 + 53 = 54 +1 + 54 = 55 +1 + 55 = 56 +1 + 56 = 57 +1 + 57 = 58 +1 + 58 = 59 +1 + 59 = 60 +1 + 60 = 61 +1 + 61 = 62 +1 + 62 = 63 +1 + 63 = 64 +2 + 0 = 2 +2 + 1 = 3 +2 + 2 = 4 +2 + 3 = 5 +2 + 4 = 6 +2 + 5 = 7 +2 + 6 = 8 +2 + 7 = 9 +2 + 8 = 10 +2 + 9 = 11 +2 + 10 = 12 +2 + 11 = 13 +2 + 12 = 14 +2 + 13 = 15 +2 + 14 = 16 +2 + 15 = 17 +2 + 16 = 18 +2 + 17 = 19 +2 + 18 = 20 +2 + 19 = 21 +2 + 20 = 22 +2 + 21 = 23 +2 + 22 = 24 +2 + 23 = 25 +2 + 24 = 26 +2 + 25 = 27 +2 + 26 = 28 +2 + 27 = 29 +2 + 28 = 30 +2 + 29 = 31 +2 + 30 = 32 +2 + 31 = 33 +2 + 32 = 34 +2 + 33 = 35 +2 + 34 = 36 +2 + 35 = 37 +2 + 36 = 38 +2 + 37 = 39 +2 + 38 = 40 +2 + 39 = 41 +2 + 40 = 42 +2 + 41 = 43 +2 + 42 = 44 +2 + 43 = 45 +2 + 44 = 46 +2 + 45 = 47 +2 + 46 = 48 +2 + 47 = 49 +2 + 48 = 50 +2 + 49 = 51 +2 + 50 = 52 +2 + 51 = 53 +2 + 52 = 54 +2 + 53 = 55 +2 + 54 = 56 +2 + 55 = 57 +2 + 56 = 58 +2 + 57 = 59 +2 + 58 = 60 +2 + 59 = 61 +2 + 60 = 62 +2 + 61 = 63 +2 + 62 = 64 +2 + 63 = 65 +3 + 0 = 3 +3 + 1 = 4 +3 + 2 = 5 +3 + 3 = 6 +3 + 4 = 7 +3 + 5 = 8 +3 + 6 = 9 +3 + 7 = 10 +3 + 8 = 11 +3 + 9 = 12 +3 + 10 = 13 +3 + 11 = 14 +3 + 12 = 15 +3 + 13 = 16 +3 + 14 = 17 +3 + 15 = 18 +3 + 16 = 19 +3 + 17 = 20 +3 + 18 = 21 +3 + 19 = 22 +3 + 20 = 23 +3 + 21 = 24 +3 + 22 = 25 +3 + 23 = 26 +3 + 24 = 27 +3 + 25 = 28 +3 + 26 = 29 +3 + 27 = 30 +3 + 28 = 31 +3 + 29 = 32 +3 + 30 = 33 +3 + 31 = 34 +3 + 32 = 35 +3 + 33 = 36 +3 + 34 = 37 +3 + 35 = 38 +3 + 36 = 39 +3 + 37 = 40 +3 + 38 = 41 +3 + 39 = 42 +3 + 40 = 43 +3 + 41 = 44 +3 + 42 = 45 +3 + 43 = 46 +3 + 44 = 47 +3 + 45 = 48 +3 + 46 = 49 +3 + 47 = 50 +3 + 48 = 51 +3 + 49 = 52 +3 + 50 = 53 +3 + 51 = 54 +3 + 52 = 55 +3 + 53 = 56 +3 + 54 = 57 +3 + 55 = 58 +3 + 56 = 59 +3 + 57 = 60 +3 + 58 = 61 +3 + 59 = 62 +3 + 60 = 63 +3 + 61 = 64 +3 + 62 = 65 +3 + 63 = 66 +4 + 0 = 4 +4 + 1 = 5 +4 + 2 = 6 +4 + 3 = 7 +4 + 4 = 8 +4 + 5 = 9 +4 + 6 = 10 +4 + 7 = 11 +4 + 8 = 12 +4 + 9 = 13 +4 + 10 = 14 +4 + 11 = 15 +4 + 12 = 16 +4 + 13 = 17 +4 + 14 = 18 +4 + 15 = 19 +4 + 16 = 20 +4 + 17 = 21 +4 + 18 = 22 +4 + 19 = 23 +4 + 20 = 24 +4 + 21 = 25 +4 + 22 = 26 +4 + 23 = 27 +4 + 24 = 28 +4 + 25 = 29 +4 + 26 = 30 +4 + 27 = 31 +4 + 28 = 32 +4 + 29 = 33 +4 + 30 = 34 +4 + 31 = 35 +4 + 32 = 36 +4 + 33 = 37 +4 + 34 = 38 +4 + 35 = 39 +4 + 36 = 40 +4 + 37 = 41 +4 + 38 = 42 +4 + 39 = 43 +4 + 40 = 44 +4 + 41 = 45 +4 + 42 = 46 +4 + 43 = 47 +4 + 44 = 48 +4 + 45 = 49 +4 + 46 = 50 +4 + 47 = 51 +4 + 48 = 52 +4 + 49 = 53 +4 + 50 = 54 +4 + 51 = 55 +4 + 52 = 56 +4 + 53 = 57 +4 + 54 = 58 +4 + 55 = 59 +4 + 56 = 60 +4 + 57 = 61 +4 + 58 = 62 +4 + 59 = 63 +4 + 60 = 64 +4 + 61 = 65 +4 + 62 = 66 +4 + 63 = 67 +5 + 0 = 5 +5 + 1 = 6 +5 + 2 = 7 +5 + 3 = 8 +5 + 4 = 9 +5 + 5 = 10 +5 + 6 = 11 +5 + 7 = 12 +5 + 8 = 13 +5 + 9 = 14 +5 + 10 = 15 +5 + 11 = 16 +5 + 12 = 17 +5 + 13 = 18 +5 + 14 = 19 +5 + 15 = 20 +5 + 16 = 21 +5 + 17 = 22 +5 + 18 = 23 +5 + 19 = 24 +5 + 20 = 25 +5 + 21 = 26 +5 + 22 = 27 +5 + 23 = 28 +5 + 24 = 29 +5 + 25 = 30 +5 + 26 = 31 +5 + 27 = 32 +5 + 28 = 33 +5 + 29 = 34 +5 + 30 = 35 +5 + 31 = 36 +5 + 32 = 37 +5 + 33 = 38 +5 + 34 = 39 +5 + 35 = 40 +5 + 36 = 41 +5 + 37 = 42 +5 + 38 = 43 +5 + 39 = 44 +5 + 40 = 45 +5 + 41 = 46 +5 + 42 = 47 +5 + 43 = 48 +5 + 44 = 49 +5 + 45 = 50 +5 + 46 = 51 +5 + 47 = 52 +5 + 48 = 53 +5 + 49 = 54 +5 + 50 = 55 +5 + 51 = 56 +5 + 52 = 57 +5 + 53 = 58 +5 + 54 = 59 +5 + 55 = 60 +5 + 56 = 61 +5 + 57 = 62 +5 + 58 = 63 +5 + 59 = 64 +5 + 60 = 65 +5 + 61 = 66 +5 + 62 = 67 +5 + 63 = 68 +6 + 0 = 6 +6 + 1 = 7 +6 + 2 = 8 +6 + 3 = 9 +6 + 4 = 10 +6 + 5 = 11 +6 + 6 = 12 +6 + 7 = 13 +6 + 8 = 14 +6 + 9 = 15 +6 + 10 = 16 +6 + 11 = 17 +6 + 12 = 18 +6 + 13 = 19 +6 + 14 = 20 +6 + 15 = 21 +6 + 16 = 22 +6 + 17 = 23 +6 + 18 = 24 +6 + 19 = 25 +6 + 20 = 26 +6 + 21 = 27 +6 + 22 = 28 +6 + 23 = 29 +6 + 24 = 30 +6 + 25 = 31 +6 + 26 = 32 +6 + 27 = 33 +6 + 28 = 34 +6 + 29 = 35 +6 + 30 = 36 +6 + 31 = 37 +6 + 32 = 38 +6 + 33 = 39 +6 + 34 = 40 +6 + 35 = 41 +6 + 36 = 42 +6 + 37 = 43 +6 + 38 = 44 +6 + 39 = 45 +6 + 40 = 46 +6 + 41 = 47 +6 + 42 = 48 +6 + 43 = 49 +6 + 44 = 50 +6 + 45 = 51 +6 + 46 = 52 +6 + 47 = 53 +6 + 48 = 54 +6 + 49 = 55 +6 + 50 = 56 +6 + 51 = 57 +6 + 52 = 58 +6 + 53 = 59 +6 + 54 = 60 +6 + 55 = 61 +6 + 56 = 62 +6 + 57 = 63 +6 + 58 = 64 +6 + 59 = 65 +6 + 60 = 66 +6 + 61 = 67 +6 + 62 = 68 +6 + 63 = 69 +7 + 0 = 7 +7 + 1 = 8 +7 + 2 = 9 +7 + 3 = 10 +7 + 4 = 11 +7 + 5 = 12 +7 + 6 = 13 +7 + 7 = 14 +7 + 8 = 15 +7 + 9 = 16 +7 + 10 = 17 +7 + 11 = 18 +7 + 12 = 19 +7 + 13 = 20 +7 + 14 = 21 +7 + 15 = 22 +7 + 16 = 23 +7 + 17 = 24 +7 + 18 = 25 +7 + 19 = 26 +7 + 20 = 27 +7 + 21 = 28 +7 + 22 = 29 +7 + 23 = 30 +7 + 24 = 31 +7 + 25 = 32 +7 + 26 = 33 +7 + 27 = 34 +7 + 28 = 35 +7 + 29 = 36 +7 + 30 = 37 +7 + 31 = 38 +7 + 32 = 39 +7 + 33 = 40 +7 + 34 = 41 +7 + 35 = 42 +7 + 36 = 43 +7 + 37 = 44 +7 + 38 = 45 +7 + 39 = 46 +7 + 40 = 47 +7 + 41 = 48 +7 + 42 = 49 +7 + 43 = 50 +7 + 44 = 51 +7 + 45 = 52 +7 + 46 = 53 +7 + 47 = 54 +7 + 48 = 55 +7 + 49 = 56 +7 + 50 = 57 +7 + 51 = 58 +7 + 52 = 59 +7 + 53 = 60 +7 + 54 = 61 +7 + 55 = 62 +7 + 56 = 63 +7 + 57 = 64 +7 + 58 = 65 +7 + 59 = 66 +7 + 60 = 67 +7 + 61 = 68 +7 + 62 = 69 +7 + 63 = 70 +8 + 0 = 8 +8 + 1 = 9 +8 + 2 = 10 +8 + 3 = 11 +8 + 4 = 12 +8 + 5 = 13 +8 + 6 = 14 +8 + 7 = 15 +8 + 8 = 16 +8 + 9 = 17 +8 + 10 = 18 +8 + 11 = 19 +8 + 12 = 20 +8 + 13 = 21 +8 + 14 = 22 +8 + 15 = 23 +8 + 16 = 24 +8 + 17 = 25 +8 + 18 = 26 +8 + 19 = 27 +8 + 20 = 28 +8 + 21 = 29 +8 + 22 = 30 +8 + 23 = 31 +8 + 24 = 32 +8 + 25 = 33 +8 + 26 = 34 +8 + 27 = 35 +8 + 28 = 36 +8 + 29 = 37 +8 + 30 = 38 +8 + 31 = 39 +8 + 32 = 40 +8 + 33 = 41 +8 + 34 = 42 +8 + 35 = 43 +8 + 36 = 44 +8 + 37 = 45 +8 + 38 = 46 +8 + 39 = 47 +8 + 40 = 48 +8 + 41 = 49 +8 + 42 = 50 +8 + 43 = 51 +8 + 44 = 52 +8 + 45 = 53 +8 + 46 = 54 +8 + 47 = 55 +8 + 48 = 56 +8 + 49 = 57 +8 + 50 = 58 +8 + 51 = 59 +8 + 52 = 60 +8 + 53 = 61 +8 + 54 = 62 +8 + 55 = 63 +8 + 56 = 64 +8 + 57 = 65 +8 + 58 = 66 +8 + 59 = 67 +8 + 60 = 68 +8 + 61 = 69 +8 + 62 = 70 +8 + 63 = 71 +9 + 0 = 9 +9 + 1 = 10 +9 + 2 = 11 +9 + 3 = 12 +9 + 4 = 13 +9 + 5 = 14 +9 + 6 = 15 +9 + 7 = 16 +9 + 8 = 17 +9 + 9 = 18 +9 + 10 = 19 +9 + 11 = 20 +9 + 12 = 21 +9 + 13 = 22 +9 + 14 = 23 +9 + 15 = 24 +9 + 16 = 25 +9 + 17 = 26 +9 + 18 = 27 +9 + 19 = 28 +9 + 20 = 29 +9 + 21 = 30 +9 + 22 = 31 +9 + 23 = 32 +9 + 24 = 33 +9 + 25 = 34 +9 + 26 = 35 +9 + 27 = 36 +9 + 28 = 37 +9 + 29 = 38 +9 + 30 = 39 +9 + 31 = 40 +9 + 32 = 41 +9 + 33 = 42 +9 + 34 = 43 +9 + 35 = 44 +9 + 36 = 45 +9 + 37 = 46 +9 + 38 = 47 +9 + 39 = 48 +9 + 40 = 49 +9 + 41 = 50 +9 + 42 = 51 +9 + 43 = 52 +9 + 44 = 53 +9 + 45 = 54 +9 + 46 = 55 +9 + 47 = 56 +9 + 48 = 57 +9 + 49 = 58 +9 + 50 = 59 +9 + 51 = 60 +9 + 52 = 61 +9 + 53 = 62 +9 + 54 = 63 +9 + 55 = 64 +9 + 56 = 65 +9 + 57 = 66 +9 + 58 = 67 +9 + 59 = 68 +9 + 60 = 69 +9 + 61 = 70 +9 + 62 = 71 +9 + 63 = 72 +10 + 0 = 10 +10 + 1 = 11 +10 + 2 = 12 +10 + 3 = 13 +10 + 4 = 14 +10 + 5 = 15 +10 + 6 = 16 +10 + 7 = 17 +10 + 8 = 18 +10 + 9 = 19 +10 + 10 = 20 +10 + 11 = 21 +10 + 12 = 22 +10 + 13 = 23 +10 + 14 = 24 +10 + 15 = 25 +10 + 16 = 26 +10 + 17 = 27 +10 + 18 = 28 +10 + 19 = 29 +10 + 20 = 30 +10 + 21 = 31 +10 + 22 = 32 +10 + 23 = 33 +10 + 24 = 34 +10 + 25 = 35 +10 + 26 = 36 +10 + 27 = 37 +10 + 28 = 38 +10 + 29 = 39 +10 + 30 = 40 +10 + 31 = 41 +10 + 32 = 42 +10 + 33 = 43 +10 + 34 = 44 +10 + 35 = 45 +10 + 36 = 46 +10 + 37 = 47 +10 + 38 = 48 +10 + 39 = 49 +10 + 40 = 50 +10 + 41 = 51 +10 + 42 = 52 +10 + 43 = 53 +10 + 44 = 54 +10 + 45 = 55 +10 + 46 = 56 +10 + 47 = 57 +10 + 48 = 58 +10 + 49 = 59 +10 + 50 = 60 +10 + 51 = 61 +10 + 52 = 62 +10 + 53 = 63 +10 + 54 = 64 +10 + 55 = 65 +10 + 56 = 66 +10 + 57 = 67 +10 + 58 = 68 +10 + 59 = 69 +10 + 60 = 70 +10 + 61 = 71 +10 + 62 = 72 +10 + 63 = 73 +11 + 0 = 11 +11 + 1 = 12 +11 + 2 = 13 +11 + 3 = 14 +11 + 4 = 15 +11 + 5 = 16 +11 + 6 = 17 +11 + 7 = 18 +11 + 8 = 19 +11 + 9 = 20 +11 + 10 = 21 +11 + 11 = 22 +11 + 12 = 23 +11 + 13 = 24 +11 + 14 = 25 +11 + 15 = 26 +11 + 16 = 27 +11 + 17 = 28 +11 + 18 = 29 +11 + 19 = 30 +11 + 20 = 31 +11 + 21 = 32 +11 + 22 = 33 +11 + 23 = 34 +11 + 24 = 35 +11 + 25 = 36 +11 + 26 = 37 +11 + 27 = 38 +11 + 28 = 39 +11 + 29 = 40 +11 + 30 = 41 +11 + 31 = 42 +11 + 32 = 43 +11 + 33 = 44 +11 + 34 = 45 +11 + 35 = 46 +11 + 36 = 47 +11 + 37 = 48 +11 + 38 = 49 +11 + 39 = 50 +11 + 40 = 51 +11 + 41 = 52 +11 + 42 = 53 +11 + 43 = 54 +11 + 44 = 55 +11 + 45 = 56 +11 + 46 = 57 +11 + 47 = 58 +11 + 48 = 59 +11 + 49 = 60 +11 + 50 = 61 +11 + 51 = 62 +11 + 52 = 63 +11 + 53 = 64 +11 + 54 = 65 +11 + 55 = 66 +11 + 56 = 67 +11 + 57 = 68 +11 + 58 = 69 +11 + 59 = 70 +11 + 60 = 71 +11 + 61 = 72 +11 + 62 = 73 +11 + 63 = 74 +12 + 0 = 12 +12 + 1 = 13 +12 + 2 = 14 +12 + 3 = 15 +12 + 4 = 16 +12 + 5 = 17 +12 + 6 = 18 +12 + 7 = 19 +12 + 8 = 20 +12 + 9 = 21 +12 + 10 = 22 +12 + 11 = 23 +12 + 12 = 24 +12 + 13 = 25 +12 + 14 = 26 +12 + 15 = 27 +12 + 16 = 28 +12 + 17 = 29 +12 + 18 = 30 +12 + 19 = 31 +12 + 20 = 32 +12 + 21 = 33 +12 + 22 = 34 +12 + 23 = 35 +12 + 24 = 36 +12 + 25 = 37 +12 + 26 = 38 +12 + 27 = 39 +12 + 28 = 40 +12 + 29 = 41 +12 + 30 = 42 +12 + 31 = 43 +12 + 32 = 44 +12 + 33 = 45 +12 + 34 = 46 +12 + 35 = 47 +12 + 36 = 48 +12 + 37 = 49 +12 + 38 = 50 +12 + 39 = 51 +12 + 40 = 52 +12 + 41 = 53 +12 + 42 = 54 +12 + 43 = 55 +12 + 44 = 56 +12 + 45 = 57 +12 + 46 = 58 +12 + 47 = 59 +12 + 48 = 60 +12 + 49 = 61 +12 + 50 = 62 +12 + 51 = 63 +12 + 52 = 64 +12 + 53 = 65 +12 + 54 = 66 +12 + 55 = 67 +12 + 56 = 68 +12 + 57 = 69 +12 + 58 = 70 +12 + 59 = 71 +12 + 60 = 72 +12 + 61 = 73 +12 + 62 = 74 +12 + 63 = 75 +13 + 0 = 13 +13 + 1 = 14 +13 + 2 = 15 +13 + 3 = 16 +13 + 4 = 17 +13 + 5 = 18 +13 + 6 = 19 +13 + 7 = 20 +13 + 8 = 21 +13 + 9 = 22 +13 + 10 = 23 +13 + 11 = 24 +13 + 12 = 25 +13 + 13 = 26 +13 + 14 = 27 +13 + 15 = 28 +13 + 16 = 29 +13 + 17 = 30 +13 + 18 = 31 +13 + 19 = 32 +13 + 20 = 33 +13 + 21 = 34 +13 + 22 = 35 +13 + 23 = 36 +13 + 24 = 37 +13 + 25 = 38 +13 + 26 = 39 +13 + 27 = 40 +13 + 28 = 41 +13 + 29 = 42 +13 + 30 = 43 +13 + 31 = 44 +13 + 32 = 45 +13 + 33 = 46 +13 + 34 = 47 +13 + 35 = 48 +13 + 36 = 49 +13 + 37 = 50 +13 + 38 = 51 +13 + 39 = 52 +13 + 40 = 53 +13 + 41 = 54 +13 + 42 = 55 +13 + 43 = 56 +13 + 44 = 57 +13 + 45 = 58 +13 + 46 = 59 +13 + 47 = 60 +13 + 48 = 61 +13 + 49 = 62 +13 + 50 = 63 +13 + 51 = 64 +13 + 52 = 65 +13 + 53 = 66 +13 + 54 = 67 +13 + 55 = 68 +13 + 56 = 69 +13 + 57 = 70 +13 + 58 = 71 +13 + 59 = 72 +13 + 60 = 73 +13 + 61 = 74 +13 + 62 = 75 +13 + 63 = 76 +14 + 0 = 14 +14 + 1 = 15 +14 + 2 = 16 +14 + 3 = 17 +14 + 4 = 18 +14 + 5 = 19 +14 + 6 = 20 +14 + 7 = 21 +14 + 8 = 22 +14 + 9 = 23 +14 + 10 = 24 +14 + 11 = 25 +14 + 12 = 26 +14 + 13 = 27 +14 + 14 = 28 +14 + 15 = 29 +14 + 16 = 30 +14 + 17 = 31 +14 + 18 = 32 +14 + 19 = 33 +14 + 20 = 34 +14 + 21 = 35 +14 + 22 = 36 +14 + 23 = 37 +14 + 24 = 38 +14 + 25 = 39 +14 + 26 = 40 +14 + 27 = 41 +14 + 28 = 42 +14 + 29 = 43 +14 + 30 = 44 +14 + 31 = 45 +14 + 32 = 46 +14 + 33 = 47 +14 + 34 = 48 +14 + 35 = 49 +14 + 36 = 50 +14 + 37 = 51 +14 + 38 = 52 +14 + 39 = 53 +14 + 40 = 54 +14 + 41 = 55 +14 + 42 = 56 +14 + 43 = 57 +14 + 44 = 58 +14 + 45 = 59 +14 + 46 = 60 +14 + 47 = 61 +14 + 48 = 62 +14 + 49 = 63 +14 + 50 = 64 +14 + 51 = 65 +14 + 52 = 66 +14 + 53 = 67 +14 + 54 = 68 +14 + 55 = 69 +14 + 56 = 70 +14 + 57 = 71 +14 + 58 = 72 +14 + 59 = 73 +14 + 60 = 74 +14 + 61 = 75 +14 + 62 = 76 +14 + 63 = 77 +15 + 0 = 15 +15 + 1 = 16 +15 + 2 = 17 +15 + 3 = 18 +15 + 4 = 19 +15 + 5 = 20 +15 + 6 = 21 +15 + 7 = 22 +15 + 8 = 23 +15 + 9 = 24 +15 + 10 = 25 +15 + 11 = 26 +15 + 12 = 27 +15 + 13 = 28 +15 + 14 = 29 +15 + 15 = 30 +15 + 16 = 31 +15 + 17 = 32 +15 + 18 = 33 +15 + 19 = 34 +15 + 20 = 35 +15 + 21 = 36 +15 + 22 = 37 +15 + 23 = 38 +15 + 24 = 39 +15 + 25 = 40 +15 + 26 = 41 +15 + 27 = 42 +15 + 28 = 43 +15 + 29 = 44 +15 + 30 = 45 +15 + 31 = 46 +15 + 32 = 47 +15 + 33 = 48 +15 + 34 = 49 +15 + 35 = 50 +15 + 36 = 51 +15 + 37 = 52 +15 + 38 = 53 +15 + 39 = 54 +15 + 40 = 55 +15 + 41 = 56 +15 + 42 = 57 +15 + 43 = 58 +15 + 44 = 59 +15 + 45 = 60 +15 + 46 = 61 +15 + 47 = 62 +15 + 48 = 63 +15 + 49 = 64 +15 + 50 = 65 +15 + 51 = 66 +15 + 52 = 67 +15 + 53 = 68 +15 + 54 = 69 +15 + 55 = 70 +15 + 56 = 71 +15 + 57 = 72 +15 + 58 = 73 +15 + 59 = 74 +15 + 60 = 75 +15 + 61 = 76 +15 + 62 = 77 +15 + 63 = 78 +16 + 0 = 16 +16 + 1 = 17 +16 + 2 = 18 +16 + 3 = 19 +16 + 4 = 20 +16 + 5 = 21 +16 + 6 = 22 +16 + 7 = 23 +16 + 8 = 24 +16 + 9 = 25 +16 + 10 = 26 +16 + 11 = 27 +16 + 12 = 28 +16 + 13 = 29 +16 + 14 = 30 +16 + 15 = 31 +16 + 16 = 32 +16 + 17 = 33 +16 + 18 = 34 +16 + 19 = 35 +16 + 20 = 36 +16 + 21 = 37 +16 + 22 = 38 +16 + 23 = 39 +16 + 24 = 40 +16 + 25 = 41 +16 + 26 = 42 +16 + 27 = 43 +16 + 28 = 44 +16 + 29 = 45 +16 + 30 = 46 +16 + 31 = 47 +16 + 32 = 48 +16 + 33 = 49 +16 + 34 = 50 +16 + 35 = 51 +16 + 36 = 52 +16 + 37 = 53 +16 + 38 = 54 +16 + 39 = 55 +16 + 40 = 56 +16 + 41 = 57 +16 + 42 = 58 +16 + 43 = 59 +16 + 44 = 60 +16 + 45 = 61 +16 + 46 = 62 +16 + 47 = 63 +16 + 48 = 64 +16 + 49 = 65 +16 + 50 = 66 +16 + 51 = 67 +16 + 52 = 68 +16 + 53 = 69 +16 + 54 = 70 +16 + 55 = 71 +16 + 56 = 72 +16 + 57 = 73 +16 + 58 = 74 +16 + 59 = 75 +16 + 60 = 76 +16 + 61 = 77 +16 + 62 = 78 +16 + 63 = 79 +17 + 0 = 17 +17 + 1 = 18 +17 + 2 = 19 +17 + 3 = 20 +17 + 4 = 21 +17 + 5 = 22 +17 + 6 = 23 +17 + 7 = 24 +17 + 8 = 25 +17 + 9 = 26 +17 + 10 = 27 +17 + 11 = 28 +17 + 12 = 29 +17 + 13 = 30 +17 + 14 = 31 +17 + 15 = 32 +17 + 16 = 33 +17 + 17 = 34 +17 + 18 = 35 +17 + 19 = 36 +17 + 20 = 37 +17 + 21 = 38 +17 + 22 = 39 +17 + 23 = 40 +17 + 24 = 41 +17 + 25 = 42 +17 + 26 = 43 +17 + 27 = 44 +17 + 28 = 45 +17 + 29 = 46 +17 + 30 = 47 +17 + 31 = 48 +17 + 32 = 49 +17 + 33 = 50 +17 + 34 = 51 +17 + 35 = 52 +17 + 36 = 53 +17 + 37 = 54 +17 + 38 = 55 +17 + 39 = 56 +17 + 40 = 57 +17 + 41 = 58 +17 + 42 = 59 +17 + 43 = 60 +17 + 44 = 61 +17 + 45 = 62 +17 + 46 = 63 +17 + 47 = 64 +17 + 48 = 65 +17 + 49 = 66 +17 + 50 = 67 +17 + 51 = 68 +17 + 52 = 69 +17 + 53 = 70 +17 + 54 = 71 +17 + 55 = 72 +17 + 56 = 73 +17 + 57 = 74 +17 + 58 = 75 +17 + 59 = 76 +17 + 60 = 77 +17 + 61 = 78 +17 + 62 = 79 +17 + 63 = 80 +18 + 0 = 18 +18 + 1 = 19 +18 + 2 = 20 +18 + 3 = 21 +18 + 4 = 22 +18 + 5 = 23 +18 + 6 = 24 +18 + 7 = 25 +18 + 8 = 26 +18 + 9 = 27 +18 + 10 = 28 +18 + 11 = 29 +18 + 12 = 30 +18 + 13 = 31 +18 + 14 = 32 +18 + 15 = 33 +18 + 16 = 34 +18 + 17 = 35 +18 + 18 = 36 +18 + 19 = 37 +18 + 20 = 38 +18 + 21 = 39 +18 + 22 = 40 +18 + 23 = 41 +18 + 24 = 42 +18 + 25 = 43 +18 + 26 = 44 +18 + 27 = 45 +18 + 28 = 46 +18 + 29 = 47 +18 + 30 = 48 +18 + 31 = 49 +18 + 32 = 50 +18 + 33 = 51 +18 + 34 = 52 +18 + 35 = 53 +18 + 36 = 54 +18 + 37 = 55 +18 + 38 = 56 +18 + 39 = 57 +18 + 40 = 58 +18 + 41 = 59 +18 + 42 = 60 +18 + 43 = 61 +18 + 44 = 62 +18 + 45 = 63 +18 + 46 = 64 +18 + 47 = 65 +18 + 48 = 66 +18 + 49 = 67 +18 + 50 = 68 +18 + 51 = 69 +18 + 52 = 70 +18 + 53 = 71 +18 + 54 = 72 +18 + 55 = 73 +18 + 56 = 74 +18 + 57 = 75 +18 + 58 = 76 +18 + 59 = 77 +18 + 60 = 78 +18 + 61 = 79 +18 + 62 = 80 +18 + 63 = 81 +19 + 0 = 19 +19 + 1 = 20 +19 + 2 = 21 +19 + 3 = 22 +19 + 4 = 23 +19 + 5 = 24 +19 + 6 = 25 +19 + 7 = 26 +19 + 8 = 27 +19 + 9 = 28 +19 + 10 = 29 +19 + 11 = 30 +19 + 12 = 31 +19 + 13 = 32 +19 + 14 = 33 +19 + 15 = 34 +19 + 16 = 35 +19 + 17 = 36 +19 + 18 = 37 +19 + 19 = 38 +19 + 20 = 39 +19 + 21 = 40 +19 + 22 = 41 +19 + 23 = 42 +19 + 24 = 43 +19 + 25 = 44 +19 + 26 = 45 +19 + 27 = 46 +19 + 28 = 47 +19 + 29 = 48 +19 + 30 = 49 +19 + 31 = 50 +19 + 32 = 51 +19 + 33 = 52 +19 + 34 = 53 +19 + 35 = 54 +19 + 36 = 55 +19 + 37 = 56 +19 + 38 = 57 +19 + 39 = 58 +19 + 40 = 59 +19 + 41 = 60 +19 + 42 = 61 +19 + 43 = 62 +19 + 44 = 63 +19 + 45 = 64 +19 + 46 = 65 +19 + 47 = 66 +19 + 48 = 67 +19 + 49 = 68 +19 + 50 = 69 +19 + 51 = 70 +19 + 52 = 71 +19 + 53 = 72 +19 + 54 = 73 +19 + 55 = 74 +19 + 56 = 75 +19 + 57 = 76 +19 + 58 = 77 +19 + 59 = 78 +19 + 60 = 79 +19 + 61 = 80 +19 + 62 = 81 +19 + 63 = 82 +20 + 0 = 20 +20 + 1 = 21 +20 + 2 = 22 +20 + 3 = 23 +20 + 4 = 24 +20 + 5 = 25 +20 + 6 = 26 +20 + 7 = 27 +20 + 8 = 28 +20 + 9 = 29 +20 + 10 = 30 +20 + 11 = 31 +20 + 12 = 32 +20 + 13 = 33 +20 + 14 = 34 +20 + 15 = 35 +20 + 16 = 36 +20 + 17 = 37 +20 + 18 = 38 +20 + 19 = 39 +20 + 20 = 40 +20 + 21 = 41 +20 + 22 = 42 +20 + 23 = 43 +20 + 24 = 44 +20 + 25 = 45 +20 + 26 = 46 +20 + 27 = 47 +20 + 28 = 48 +20 + 29 = 49 +20 + 30 = 50 +20 + 31 = 51 +20 + 32 = 52 +20 + 33 = 53 +20 + 34 = 54 +20 + 35 = 55 +20 + 36 = 56 +20 + 37 = 57 +20 + 38 = 58 +20 + 39 = 59 +20 + 40 = 60 +20 + 41 = 61 +20 + 42 = 62 +20 + 43 = 63 +20 + 44 = 64 +20 + 45 = 65 +20 + 46 = 66 +20 + 47 = 67 +20 + 48 = 68 +20 + 49 = 69 +20 + 50 = 70 +20 + 51 = 71 +20 + 52 = 72 +20 + 53 = 73 +20 + 54 = 74 +20 + 55 = 75 +20 + 56 = 76 +20 + 57 = 77 +20 + 58 = 78 +20 + 59 = 79 +20 + 60 = 80 +20 + 61 = 81 +20 + 62 = 82 +20 + 63 = 83 +21 + 0 = 21 +21 + 1 = 22 +21 + 2 = 23 +21 + 3 = 24 +21 + 4 = 25 +21 + 5 = 26 +21 + 6 = 27 +21 + 7 = 28 +21 + 8 = 29 +21 + 9 = 30 +21 + 10 = 31 +21 + 11 = 32 +21 + 12 = 33 +21 + 13 = 34 +21 + 14 = 35 +21 + 15 = 36 +21 + 16 = 37 +21 + 17 = 38 +21 + 18 = 39 +21 + 19 = 40 +21 + 20 = 41 +21 + 21 = 42 +21 + 22 = 43 +21 + 23 = 44 +21 + 24 = 45 +21 + 25 = 46 +21 + 26 = 47 +21 + 27 = 48 +21 + 28 = 49 +21 + 29 = 50 +21 + 30 = 51 +21 + 31 = 52 +21 + 32 = 53 +21 + 33 = 54 +21 + 34 = 55 +21 + 35 = 56 +21 + 36 = 57 +21 + 37 = 58 +21 + 38 = 59 +21 + 39 = 60 +21 + 40 = 61 +21 + 41 = 62 +21 + 42 = 63 +21 + 43 = 64 +21 + 44 = 65 +21 + 45 = 66 +21 + 46 = 67 +21 + 47 = 68 +21 + 48 = 69 +21 + 49 = 70 +21 + 50 = 71 +21 + 51 = 72 +21 + 52 = 73 +21 + 53 = 74 +21 + 54 = 75 +21 + 55 = 76 +21 + 56 = 77 +21 + 57 = 78 +21 + 58 = 79 +21 + 59 = 80 +21 + 60 = 81 +21 + 61 = 82 +21 + 62 = 83 +21 + 63 = 84 +22 + 0 = 22 +22 + 1 = 23 +22 + 2 = 24 +22 + 3 = 25 +22 + 4 = 26 +22 + 5 = 27 +22 + 6 = 28 +22 + 7 = 29 +22 + 8 = 30 +22 + 9 = 31 +22 + 10 = 32 +22 + 11 = 33 +22 + 12 = 34 +22 + 13 = 35 +22 + 14 = 36 +22 + 15 = 37 +22 + 16 = 38 +22 + 17 = 39 +22 + 18 = 40 +22 + 19 = 41 +22 + 20 = 42 +22 + 21 = 43 +22 + 22 = 44 +22 + 23 = 45 +22 + 24 = 46 +22 + 25 = 47 +22 + 26 = 48 +22 + 27 = 49 +22 + 28 = 50 +22 + 29 = 51 +22 + 30 = 52 +22 + 31 = 53 +22 + 32 = 54 +22 + 33 = 55 +22 + 34 = 56 +22 + 35 = 57 +22 + 36 = 58 +22 + 37 = 59 +22 + 38 = 60 +22 + 39 = 61 +22 + 40 = 62 +22 + 41 = 63 +22 + 42 = 64 +22 + 43 = 65 +22 + 44 = 66 +22 + 45 = 67 +22 + 46 = 68 +22 + 47 = 69 +22 + 48 = 70 +22 + 49 = 71 +22 + 50 = 72 +22 + 51 = 73 +22 + 52 = 74 +22 + 53 = 75 +22 + 54 = 76 +22 + 55 = 77 +22 + 56 = 78 +22 + 57 = 79 +22 + 58 = 80 +22 + 59 = 81 +22 + 60 = 82 +22 + 61 = 83 +22 + 62 = 84 +22 + 63 = 85 +23 + 0 = 23 +23 + 1 = 24 +23 + 2 = 25 +23 + 3 = 26 +23 + 4 = 27 +23 + 5 = 28 +23 + 6 = 29 +23 + 7 = 30 +23 + 8 = 31 +23 + 9 = 32 +23 + 10 = 33 +23 + 11 = 34 +23 + 12 = 35 +23 + 13 = 36 +23 + 14 = 37 +23 + 15 = 38 +23 + 16 = 39 +23 + 17 = 40 +23 + 18 = 41 +23 + 19 = 42 +23 + 20 = 43 +23 + 21 = 44 +23 + 22 = 45 +23 + 23 = 46 +23 + 24 = 47 +23 + 25 = 48 +23 + 26 = 49 +23 + 27 = 50 +23 + 28 = 51 +23 + 29 = 52 +23 + 30 = 53 +23 + 31 = 54 +23 + 32 = 55 +23 + 33 = 56 +23 + 34 = 57 +23 + 35 = 58 +23 + 36 = 59 +23 + 37 = 60 +23 + 38 = 61 +23 + 39 = 62 +23 + 40 = 63 +23 + 41 = 64 +23 + 42 = 65 +23 + 43 = 66 +23 + 44 = 67 +23 + 45 = 68 +23 + 46 = 69 +23 + 47 = 70 +23 + 48 = 71 +23 + 49 = 72 +23 + 50 = 73 +23 + 51 = 74 +23 + 52 = 75 +23 + 53 = 76 +23 + 54 = 77 +23 + 55 = 78 +23 + 56 = 79 +23 + 57 = 80 +23 + 58 = 81 +23 + 59 = 82 +23 + 60 = 83 +23 + 61 = 84 +23 + 62 = 85 +23 + 63 = 86 +24 + 0 = 24 +24 + 1 = 25 +24 + 2 = 26 +24 + 3 = 27 +24 + 4 = 28 +24 + 5 = 29 +24 + 6 = 30 +24 + 7 = 31 +24 + 8 = 32 +24 + 9 = 33 +24 + 10 = 34 +24 + 11 = 35 +24 + 12 = 36 +24 + 13 = 37 +24 + 14 = 38 +24 + 15 = 39 +24 + 16 = 40 +24 + 17 = 41 +24 + 18 = 42 +24 + 19 = 43 +24 + 20 = 44 +24 + 21 = 45 +24 + 22 = 46 +24 + 23 = 47 +24 + 24 = 48 +24 + 25 = 49 +24 + 26 = 50 +24 + 27 = 51 +24 + 28 = 52 +24 + 29 = 53 +24 + 30 = 54 +24 + 31 = 55 +24 + 32 = 56 +24 + 33 = 57 +24 + 34 = 58 +24 + 35 = 59 +24 + 36 = 60 +24 + 37 = 61 +24 + 38 = 62 +24 + 39 = 63 +24 + 40 = 64 +24 + 41 = 65 +24 + 42 = 66 +24 + 43 = 67 +24 + 44 = 68 +24 + 45 = 69 +24 + 46 = 70 +24 + 47 = 71 +24 + 48 = 72 +24 + 49 = 73 +24 + 50 = 74 +24 + 51 = 75 +24 + 52 = 76 +24 + 53 = 77 +24 + 54 = 78 +24 + 55 = 79 +24 + 56 = 80 +24 + 57 = 81 +24 + 58 = 82 +24 + 59 = 83 +24 + 60 = 84 +24 + 61 = 85 +24 + 62 = 86 +24 + 63 = 87 +25 + 0 = 25 +25 + 1 = 26 +25 + 2 = 27 +25 + 3 = 28 +25 + 4 = 29 +25 + 5 = 30 +25 + 6 = 31 +25 + 7 = 32 +25 + 8 = 33 +25 + 9 = 34 +25 + 10 = 35 +25 + 11 = 36 +25 + 12 = 37 +25 + 13 = 38 +25 + 14 = 39 +25 + 15 = 40 +25 + 16 = 41 +25 + 17 = 42 +25 + 18 = 43 +25 + 19 = 44 +25 + 20 = 45 +25 + 21 = 46 +25 + 22 = 47 +25 + 23 = 48 +25 + 24 = 49 +25 + 25 = 50 +25 + 26 = 51 +25 + 27 = 52 +25 + 28 = 53 +25 + 29 = 54 +25 + 30 = 55 +25 + 31 = 56 +25 + 32 = 57 +25 + 33 = 58 +25 + 34 = 59 +25 + 35 = 60 +25 + 36 = 61 +25 + 37 = 62 +25 + 38 = 63 +25 + 39 = 64 +25 + 40 = 65 +25 + 41 = 66 +25 + 42 = 67 +25 + 43 = 68 +25 + 44 = 69 +25 + 45 = 70 +25 + 46 = 71 +25 + 47 = 72 +25 + 48 = 73 +25 + 49 = 74 +25 + 50 = 75 +25 + 51 = 76 +25 + 52 = 77 +25 + 53 = 78 +25 + 54 = 79 +25 + 55 = 80 +25 + 56 = 81 +25 + 57 = 82 +25 + 58 = 83 +25 + 59 = 84 +25 + 60 = 85 +25 + 61 = 86 +25 + 62 = 87 +25 + 63 = 88 +26 + 0 = 26 +26 + 1 = 27 +26 + 2 = 28 +26 + 3 = 29 +26 + 4 = 30 +26 + 5 = 31 +26 + 6 = 32 +26 + 7 = 33 +26 + 8 = 34 +26 + 9 = 35 +26 + 10 = 36 +26 + 11 = 37 +26 + 12 = 38 +26 + 13 = 39 +26 + 14 = 40 +26 + 15 = 41 +26 + 16 = 42 +26 + 17 = 43 +26 + 18 = 44 +26 + 19 = 45 +26 + 20 = 46 +26 + 21 = 47 +26 + 22 = 48 +26 + 23 = 49 +26 + 24 = 50 +26 + 25 = 51 +26 + 26 = 52 +26 + 27 = 53 +26 + 28 = 54 +26 + 29 = 55 +26 + 30 = 56 +26 + 31 = 57 +26 + 32 = 58 +26 + 33 = 59 +26 + 34 = 60 +26 + 35 = 61 +26 + 36 = 62 +26 + 37 = 63 +26 + 38 = 64 +26 + 39 = 65 +26 + 40 = 66 +26 + 41 = 67 +26 + 42 = 68 +26 + 43 = 69 +26 + 44 = 70 +26 + 45 = 71 +26 + 46 = 72 +26 + 47 = 73 +26 + 48 = 74 +26 + 49 = 75 +26 + 50 = 76 +26 + 51 = 77 +26 + 52 = 78 +26 + 53 = 79 +26 + 54 = 80 +26 + 55 = 81 +26 + 56 = 82 +26 + 57 = 83 +26 + 58 = 84 +26 + 59 = 85 +26 + 60 = 86 +26 + 61 = 87 +26 + 62 = 88 +26 + 63 = 89 +27 + 0 = 27 +27 + 1 = 28 +27 + 2 = 29 +27 + 3 = 30 +27 + 4 = 31 +27 + 5 = 32 +27 + 6 = 33 +27 + 7 = 34 +27 + 8 = 35 +27 + 9 = 36 +27 + 10 = 37 +27 + 11 = 38 +27 + 12 = 39 +27 + 13 = 40 +27 + 14 = 41 +27 + 15 = 42 +27 + 16 = 43 +27 + 17 = 44 +27 + 18 = 45 +27 + 19 = 46 +27 + 20 = 47 +27 + 21 = 48 +27 + 22 = 49 +27 + 23 = 50 +27 + 24 = 51 +27 + 25 = 52 +27 + 26 = 53 +27 + 27 = 54 +27 + 28 = 55 +27 + 29 = 56 +27 + 30 = 57 +27 + 31 = 58 +27 + 32 = 59 +27 + 33 = 60 +27 + 34 = 61 +27 + 35 = 62 +27 + 36 = 63 +27 + 37 = 64 +27 + 38 = 65 +27 + 39 = 66 +27 + 40 = 67 +27 + 41 = 68 +27 + 42 = 69 +27 + 43 = 70 +27 + 44 = 71 +27 + 45 = 72 +27 + 46 = 73 +27 + 47 = 74 +27 + 48 = 75 +27 + 49 = 76 +27 + 50 = 77 +27 + 51 = 78 +27 + 52 = 79 +27 + 53 = 80 +27 + 54 = 81 +27 + 55 = 82 +27 + 56 = 83 +27 + 57 = 84 +27 + 58 = 85 +27 + 59 = 86 +27 + 60 = 87 +27 + 61 = 88 +27 + 62 = 89 +27 + 63 = 90 +28 + 0 = 28 +28 + 1 = 29 +28 + 2 = 30 +28 + 3 = 31 +28 + 4 = 32 +28 + 5 = 33 +28 + 6 = 34 +28 + 7 = 35 +28 + 8 = 36 +28 + 9 = 37 +28 + 10 = 38 +28 + 11 = 39 +28 + 12 = 40 +28 + 13 = 41 +28 + 14 = 42 +28 + 15 = 43 +28 + 16 = 44 +28 + 17 = 45 +28 + 18 = 46 +28 + 19 = 47 +28 + 20 = 48 +28 + 21 = 49 +28 + 22 = 50 +28 + 23 = 51 +28 + 24 = 52 +28 + 25 = 53 +28 + 26 = 54 +28 + 27 = 55 +28 + 28 = 56 +28 + 29 = 57 +28 + 30 = 58 +28 + 31 = 59 +28 + 32 = 60 +28 + 33 = 61 +28 + 34 = 62 +28 + 35 = 63 +28 + 36 = 64 +28 + 37 = 65 +28 + 38 = 66 +28 + 39 = 67 +28 + 40 = 68 +28 + 41 = 69 +28 + 42 = 70 +28 + 43 = 71 +28 + 44 = 72 +28 + 45 = 73 +28 + 46 = 74 +28 + 47 = 75 +28 + 48 = 76 +28 + 49 = 77 +28 + 50 = 78 +28 + 51 = 79 +28 + 52 = 80 +28 + 53 = 81 +28 + 54 = 82 +28 + 55 = 83 +28 + 56 = 84 +28 + 57 = 85 +28 + 58 = 86 +28 + 59 = 87 +28 + 60 = 88 +28 + 61 = 89 +28 + 62 = 90 +28 + 63 = 91 +29 + 0 = 29 +29 + 1 = 30 +29 + 2 = 31 +29 + 3 = 32 +29 + 4 = 33 +29 + 5 = 34 +29 + 6 = 35 +29 + 7 = 36 +29 + 8 = 37 +29 + 9 = 38 +29 + 10 = 39 +29 + 11 = 40 +29 + 12 = 41 +29 + 13 = 42 +29 + 14 = 43 +29 + 15 = 44 +29 + 16 = 45 +29 + 17 = 46 +29 + 18 = 47 +29 + 19 = 48 +29 + 20 = 49 +29 + 21 = 50 +29 + 22 = 51 +29 + 23 = 52 +29 + 24 = 53 +29 + 25 = 54 +29 + 26 = 55 +29 + 27 = 56 +29 + 28 = 57 +29 + 29 = 58 +29 + 30 = 59 +29 + 31 = 60 +29 + 32 = 61 +29 + 33 = 62 +29 + 34 = 63 +29 + 35 = 64 +29 + 36 = 65 +29 + 37 = 66 +29 + 38 = 67 +29 + 39 = 68 +29 + 40 = 69 +29 + 41 = 70 +29 + 42 = 71 +29 + 43 = 72 +29 + 44 = 73 +29 + 45 = 74 +29 + 46 = 75 +29 + 47 = 76 +29 + 48 = 77 +29 + 49 = 78 +29 + 50 = 79 +29 + 51 = 80 +29 + 52 = 81 +29 + 53 = 82 +29 + 54 = 83 +29 + 55 = 84 +29 + 56 = 85 +29 + 57 = 86 +29 + 58 = 87 +29 + 59 = 88 +29 + 60 = 89 +29 + 61 = 90 +29 + 62 = 91 +29 + 63 = 92 +30 + 0 = 30 +30 + 1 = 31 +30 + 2 = 32 +30 + 3 = 33 +30 + 4 = 34 +30 + 5 = 35 +30 + 6 = 36 +30 + 7 = 37 +30 + 8 = 38 +30 + 9 = 39 +30 + 10 = 40 +30 + 11 = 41 +30 + 12 = 42 +30 + 13 = 43 +30 + 14 = 44 +30 + 15 = 45 +30 + 16 = 46 +30 + 17 = 47 +30 + 18 = 48 +30 + 19 = 49 +30 + 20 = 50 +30 + 21 = 51 +30 + 22 = 52 +30 + 23 = 53 +30 + 24 = 54 +30 + 25 = 55 +30 + 26 = 56 +30 + 27 = 57 +30 + 28 = 58 +30 + 29 = 59 +30 + 30 = 60 +30 + 31 = 61 +30 + 32 = 62 +30 + 33 = 63 +30 + 34 = 64 +30 + 35 = 65 +30 + 36 = 66 +30 + 37 = 67 +30 + 38 = 68 +30 + 39 = 69 +30 + 40 = 70 +30 + 41 = 71 +30 + 42 = 72 +30 + 43 = 73 +30 + 44 = 74 +30 + 45 = 75 +30 + 46 = 76 +30 + 47 = 77 +30 + 48 = 78 +30 + 49 = 79 +30 + 50 = 80 +30 + 51 = 81 +30 + 52 = 82 +30 + 53 = 83 +30 + 54 = 84 +30 + 55 = 85 +30 + 56 = 86 +30 + 57 = 87 +30 + 58 = 88 +30 + 59 = 89 +30 + 60 = 90 +30 + 61 = 91 +30 + 62 = 92 +30 + 63 = 93 +31 + 0 = 31 +31 + 1 = 32 +31 + 2 = 33 +31 + 3 = 34 +31 + 4 = 35 +31 + 5 = 36 +31 + 6 = 37 +31 + 7 = 38 +31 + 8 = 39 +31 + 9 = 40 +31 + 10 = 41 +31 + 11 = 42 +31 + 12 = 43 +31 + 13 = 44 +31 + 14 = 45 +31 + 15 = 46 +31 + 16 = 47 +31 + 17 = 48 +31 + 18 = 49 +31 + 19 = 50 +31 + 20 = 51 +31 + 21 = 52 +31 + 22 = 53 +31 + 23 = 54 +31 + 24 = 55 +31 + 25 = 56 +31 + 26 = 57 +31 + 27 = 58 +31 + 28 = 59 +31 + 29 = 60 +31 + 30 = 61 +31 + 31 = 62 +31 + 32 = 63 +31 + 33 = 64 +31 + 34 = 65 +31 + 35 = 66 +31 + 36 = 67 +31 + 37 = 68 +31 + 38 = 69 +31 + 39 = 70 +31 + 40 = 71 +31 + 41 = 72 +31 + 42 = 73 +31 + 43 = 74 +31 + 44 = 75 +31 + 45 = 76 +31 + 46 = 77 +31 + 47 = 78 +31 + 48 = 79 +31 + 49 = 80 +31 + 50 = 81 +31 + 51 = 82 +31 + 52 = 83 +31 + 53 = 84 +31 + 54 = 85 +31 + 55 = 86 +31 + 56 = 87 +31 + 57 = 88 +31 + 58 = 89 +31 + 59 = 90 +31 + 60 = 91 +31 + 61 = 92 +31 + 62 = 93 +31 + 63 = 94 +32 + 0 = 32 +32 + 1 = 33 +32 + 2 = 34 +32 + 3 = 35 +32 + 4 = 36 +32 + 5 = 37 +32 + 6 = 38 +32 + 7 = 39 +32 + 8 = 40 +32 + 9 = 41 +32 + 10 = 42 +32 + 11 = 43 +32 + 12 = 44 +32 + 13 = 45 +32 + 14 = 46 +32 + 15 = 47 +32 + 16 = 48 +32 + 17 = 49 +32 + 18 = 50 +32 + 19 = 51 +32 + 20 = 52 +32 + 21 = 53 +32 + 22 = 54 +32 + 23 = 55 +32 + 24 = 56 +32 + 25 = 57 +32 + 26 = 58 +32 + 27 = 59 +32 + 28 = 60 +32 + 29 = 61 +32 + 30 = 62 +32 + 31 = 63 +32 + 32 = 64 +32 + 33 = 65 +32 + 34 = 66 +32 + 35 = 67 +32 + 36 = 68 +32 + 37 = 69 +32 + 38 = 70 +32 + 39 = 71 +32 + 40 = 72 +32 + 41 = 73 +32 + 42 = 74 +32 + 43 = 75 +32 + 44 = 76 +32 + 45 = 77 +32 + 46 = 78 +32 + 47 = 79 +32 + 48 = 80 +32 + 49 = 81 +32 + 50 = 82 +32 + 51 = 83 +32 + 52 = 84 +32 + 53 = 85 +32 + 54 = 86 +32 + 55 = 87 +32 + 56 = 88 +32 + 57 = 89 +32 + 58 = 90 +32 + 59 = 91 +32 + 60 = 92 +32 + 61 = 93 +32 + 62 = 94 +32 + 63 = 95 +33 + 0 = 33 +33 + 1 = 34 +33 + 2 = 35 +33 + 3 = 36 +33 + 4 = 37 +33 + 5 = 38 +33 + 6 = 39 +33 + 7 = 40 +33 + 8 = 41 +33 + 9 = 42 +33 + 10 = 43 +33 + 11 = 44 +33 + 12 = 45 +33 + 13 = 46 +33 + 14 = 47 +33 + 15 = 48 +33 + 16 = 49 +33 + 17 = 50 +33 + 18 = 51 +33 + 19 = 52 +33 + 20 = 53 +33 + 21 = 54 +33 + 22 = 55 +33 + 23 = 56 +33 + 24 = 57 +33 + 25 = 58 +33 + 26 = 59 +33 + 27 = 60 +33 + 28 = 61 +33 + 29 = 62 +33 + 30 = 63 +33 + 31 = 64 +33 + 32 = 65 +33 + 33 = 66 +33 + 34 = 67 +33 + 35 = 68 +33 + 36 = 69 +33 + 37 = 70 +33 + 38 = 71 +33 + 39 = 72 +33 + 40 = 73 +33 + 41 = 74 +33 + 42 = 75 +33 + 43 = 76 +33 + 44 = 77 +33 + 45 = 78 +33 + 46 = 79 +33 + 47 = 80 +33 + 48 = 81 +33 + 49 = 82 +33 + 50 = 83 +33 + 51 = 84 +33 + 52 = 85 +33 + 53 = 86 +33 + 54 = 87 +33 + 55 = 88 +33 + 56 = 89 +33 + 57 = 90 +33 + 58 = 91 +33 + 59 = 92 +33 + 60 = 93 +33 + 61 = 94 +33 + 62 = 95 +33 + 63 = 96 +34 + 0 = 34 +34 + 1 = 35 +34 + 2 = 36 +34 + 3 = 37 +34 + 4 = 38 +34 + 5 = 39 +34 + 6 = 40 +34 + 7 = 41 +34 + 8 = 42 +34 + 9 = 43 +34 + 10 = 44 +34 + 11 = 45 +34 + 12 = 46 +34 + 13 = 47 +34 + 14 = 48 +34 + 15 = 49 +34 + 16 = 50 +34 + 17 = 51 +34 + 18 = 52 +34 + 19 = 53 +34 + 20 = 54 +34 + 21 = 55 +34 + 22 = 56 +34 + 23 = 57 +34 + 24 = 58 +34 + 25 = 59 +34 + 26 = 60 +34 + 27 = 61 +34 + 28 = 62 +34 + 29 = 63 +34 + 30 = 64 +34 + 31 = 65 +34 + 32 = 66 +34 + 33 = 67 +34 + 34 = 68 +34 + 35 = 69 +34 + 36 = 70 +34 + 37 = 71 +34 + 38 = 72 +34 + 39 = 73 +34 + 40 = 74 +34 + 41 = 75 +34 + 42 = 76 +34 + 43 = 77 +34 + 44 = 78 +34 + 45 = 79 +34 + 46 = 80 +34 + 47 = 81 +34 + 48 = 82 +34 + 49 = 83 +34 + 50 = 84 +34 + 51 = 85 +34 + 52 = 86 +34 + 53 = 87 +34 + 54 = 88 +34 + 55 = 89 +34 + 56 = 90 +34 + 57 = 91 +34 + 58 = 92 +34 + 59 = 93 +34 + 60 = 94 +34 + 61 = 95 +34 + 62 = 96 +34 + 63 = 97 +35 + 0 = 35 +35 + 1 = 36 +35 + 2 = 37 +35 + 3 = 38 +35 + 4 = 39 +35 + 5 = 40 +35 + 6 = 41 +35 + 7 = 42 +35 + 8 = 43 +35 + 9 = 44 +35 + 10 = 45 +35 + 11 = 46 +35 + 12 = 47 +35 + 13 = 48 +35 + 14 = 49 +35 + 15 = 50 +35 + 16 = 51 +35 + 17 = 52 +35 + 18 = 53 +35 + 19 = 54 +35 + 20 = 55 +35 + 21 = 56 +35 + 22 = 57 +35 + 23 = 58 +35 + 24 = 59 +35 + 25 = 60 +35 + 26 = 61 +35 + 27 = 62 +35 + 28 = 63 +35 + 29 = 64 +35 + 30 = 65 +35 + 31 = 66 +35 + 32 = 67 +35 + 33 = 68 +35 + 34 = 69 +35 + 35 = 70 +35 + 36 = 71 +35 + 37 = 72 +35 + 38 = 73 +35 + 39 = 74 +35 + 40 = 75 +35 + 41 = 76 +35 + 42 = 77 +35 + 43 = 78 +35 + 44 = 79 +35 + 45 = 80 +35 + 46 = 81 +35 + 47 = 82 +35 + 48 = 83 +35 + 49 = 84 +35 + 50 = 85 +35 + 51 = 86 +35 + 52 = 87 +35 + 53 = 88 +35 + 54 = 89 +35 + 55 = 90 +35 + 56 = 91 +35 + 57 = 92 +35 + 58 = 93 +35 + 59 = 94 +35 + 60 = 95 +35 + 61 = 96 +35 + 62 = 97 +35 + 63 = 98 +36 + 0 = 36 +36 + 1 = 37 +36 + 2 = 38 +36 + 3 = 39 +36 + 4 = 40 +36 + 5 = 41 +36 + 6 = 42 +36 + 7 = 43 +36 + 8 = 44 +36 + 9 = 45 +36 + 10 = 46 +36 + 11 = 47 +36 + 12 = 48 +36 + 13 = 49 +36 + 14 = 50 +36 + 15 = 51 +36 + 16 = 52 +36 + 17 = 53 +36 + 18 = 54 +36 + 19 = 55 +36 + 20 = 56 +36 + 21 = 57 +36 + 22 = 58 +36 + 23 = 59 +36 + 24 = 60 +36 + 25 = 61 +36 + 26 = 62 +36 + 27 = 63 +36 + 28 = 64 +36 + 29 = 65 +36 + 30 = 66 +36 + 31 = 67 +36 + 32 = 68 +36 + 33 = 69 +36 + 34 = 70 +36 + 35 = 71 +36 + 36 = 72 +36 + 37 = 73 +36 + 38 = 74 +36 + 39 = 75 +36 + 40 = 76 +36 + 41 = 77 +36 + 42 = 78 +36 + 43 = 79 +36 + 44 = 80 +36 + 45 = 81 +36 + 46 = 82 +36 + 47 = 83 +36 + 48 = 84 +36 + 49 = 85 +36 + 50 = 86 +36 + 51 = 87 +36 + 52 = 88 +36 + 53 = 89 +36 + 54 = 90 +36 + 55 = 91 +36 + 56 = 92 +36 + 57 = 93 +36 + 58 = 94 +36 + 59 = 95 +36 + 60 = 96 +36 + 61 = 97 +36 + 62 = 98 +36 + 63 = 99 +37 + 0 = 37 +37 + 1 = 38 +37 + 2 = 39 +37 + 3 = 40 +37 + 4 = 41 +37 + 5 = 42 +37 + 6 = 43 +37 + 7 = 44 +37 + 8 = 45 +37 + 9 = 46 +37 + 10 = 47 +37 + 11 = 48 +37 + 12 = 49 +37 + 13 = 50 +37 + 14 = 51 +37 + 15 = 52 +37 + 16 = 53 +37 + 17 = 54 +37 + 18 = 55 +37 + 19 = 56 +37 + 20 = 57 +37 + 21 = 58 +37 + 22 = 59 +37 + 23 = 60 +37 + 24 = 61 +37 + 25 = 62 +37 + 26 = 63 +37 + 27 = 64 +37 + 28 = 65 +37 + 29 = 66 +37 + 30 = 67 +37 + 31 = 68 +37 + 32 = 69 +37 + 33 = 70 +37 + 34 = 71 +37 + 35 = 72 +37 + 36 = 73 +37 + 37 = 74 +37 + 38 = 75 +37 + 39 = 76 +37 + 40 = 77 +37 + 41 = 78 +37 + 42 = 79 +37 + 43 = 80 +37 + 44 = 81 +37 + 45 = 82 +37 + 46 = 83 +37 + 47 = 84 +37 + 48 = 85 +37 + 49 = 86 +37 + 50 = 87 +37 + 51 = 88 +37 + 52 = 89 +37 + 53 = 90 +37 + 54 = 91 +37 + 55 = 92 +37 + 56 = 93 +37 + 57 = 94 +37 + 58 = 95 +37 + 59 = 96 +37 + 60 = 97 +37 + 61 = 98 +37 + 62 = 99 +37 + 63 = 100 +38 + 0 = 38 +38 + 1 = 39 +38 + 2 = 40 +38 + 3 = 41 +38 + 4 = 42 +38 + 5 = 43 +38 + 6 = 44 +38 + 7 = 45 +38 + 8 = 46 +38 + 9 = 47 +38 + 10 = 48 +38 + 11 = 49 +38 + 12 = 50 +38 + 13 = 51 +38 + 14 = 52 +38 + 15 = 53 +38 + 16 = 54 +38 + 17 = 55 +38 + 18 = 56 +38 + 19 = 57 +38 + 20 = 58 +38 + 21 = 59 +38 + 22 = 60 +38 + 23 = 61 +38 + 24 = 62 +38 + 25 = 63 +38 + 26 = 64 +38 + 27 = 65 +38 + 28 = 66 +38 + 29 = 67 +38 + 30 = 68 +38 + 31 = 69 +38 + 32 = 70 +38 + 33 = 71 +38 + 34 = 72 +38 + 35 = 73 +38 + 36 = 74 +38 + 37 = 75 +38 + 38 = 76 +38 + 39 = 77 +38 + 40 = 78 +38 + 41 = 79 +38 + 42 = 80 +38 + 43 = 81 +38 + 44 = 82 +38 + 45 = 83 +38 + 46 = 84 +38 + 47 = 85 +38 + 48 = 86 +38 + 49 = 87 +38 + 50 = 88 +38 + 51 = 89 +38 + 52 = 90 +38 + 53 = 91 +38 + 54 = 92 +38 + 55 = 93 +38 + 56 = 94 +38 + 57 = 95 +38 + 58 = 96 +38 + 59 = 97 +38 + 60 = 98 +38 + 61 = 99 +38 + 62 = 100 +38 + 63 = 101 +39 + 0 = 39 +39 + 1 = 40 +39 + 2 = 41 +39 + 3 = 42 +39 + 4 = 43 +39 + 5 = 44 +39 + 6 = 45 +39 + 7 = 46 +39 + 8 = 47 +39 + 9 = 48 +39 + 10 = 49 +39 + 11 = 50 +39 + 12 = 51 +39 + 13 = 52 +39 + 14 = 53 +39 + 15 = 54 +39 + 16 = 55 +39 + 17 = 56 +39 + 18 = 57 +39 + 19 = 58 +39 + 20 = 59 +39 + 21 = 60 +39 + 22 = 61 +39 + 23 = 62 +39 + 24 = 63 +39 + 25 = 64 +39 + 26 = 65 +39 + 27 = 66 +39 + 28 = 67 +39 + 29 = 68 +39 + 30 = 69 +39 + 31 = 70 +39 + 32 = 71 +39 + 33 = 72 +39 + 34 = 73 +39 + 35 = 74 +39 + 36 = 75 +39 + 37 = 76 +39 + 38 = 77 +39 + 39 = 78 +39 + 40 = 79 +39 + 41 = 80 +39 + 42 = 81 +39 + 43 = 82 +39 + 44 = 83 +39 + 45 = 84 +39 + 46 = 85 +39 + 47 = 86 +39 + 48 = 87 +39 + 49 = 88 +39 + 50 = 89 +39 + 51 = 90 +39 + 52 = 91 +39 + 53 = 92 +39 + 54 = 93 +39 + 55 = 94 +39 + 56 = 95 +39 + 57 = 96 +39 + 58 = 97 +39 + 59 = 98 +39 + 60 = 99 +39 + 61 = 100 +39 + 62 = 101 +39 + 63 = 102 +40 + 0 = 40 +40 + 1 = 41 +40 + 2 = 42 +40 + 3 = 43 +40 + 4 = 44 +40 + 5 = 45 +40 + 6 = 46 +40 + 7 = 47 +40 + 8 = 48 +40 + 9 = 49 +40 + 10 = 50 +40 + 11 = 51 +40 + 12 = 52 +40 + 13 = 53 +40 + 14 = 54 +40 + 15 = 55 +40 + 16 = 56 +40 + 17 = 57 +40 + 18 = 58 +40 + 19 = 59 +40 + 20 = 60 +40 + 21 = 61 +40 + 22 = 62 +40 + 23 = 63 +40 + 24 = 64 +40 + 25 = 65 +40 + 26 = 66 +40 + 27 = 67 +40 + 28 = 68 +40 + 29 = 69 +40 + 30 = 70 +40 + 31 = 71 +40 + 32 = 72 +40 + 33 = 73 +40 + 34 = 74 +40 + 35 = 75 +40 + 36 = 76 +40 + 37 = 77 +40 + 38 = 78 +40 + 39 = 79 +40 + 40 = 80 +40 + 41 = 81 +40 + 42 = 82 +40 + 43 = 83 +40 + 44 = 84 +40 + 45 = 85 +40 + 46 = 86 +40 + 47 = 87 +40 + 48 = 88 +40 + 49 = 89 +40 + 50 = 90 +40 + 51 = 91 +40 + 52 = 92 +40 + 53 = 93 +40 + 54 = 94 +40 + 55 = 95 +40 + 56 = 96 +40 + 57 = 97 +40 + 58 = 98 +40 + 59 = 99 +40 + 60 = 100 +40 + 61 = 101 +40 + 62 = 102 +40 + 63 = 103 +41 + 0 = 41 +41 + 1 = 42 +41 + 2 = 43 +41 + 3 = 44 +41 + 4 = 45 +41 + 5 = 46 +41 + 6 = 47 +41 + 7 = 48 +41 + 8 = 49 +41 + 9 = 50 +41 + 10 = 51 +41 + 11 = 52 +41 + 12 = 53 +41 + 13 = 54 +41 + 14 = 55 +41 + 15 = 56 +41 + 16 = 57 +41 + 17 = 58 +41 + 18 = 59 +41 + 19 = 60 +41 + 20 = 61 +41 + 21 = 62 +41 + 22 = 63 +41 + 23 = 64 +41 + 24 = 65 +41 + 25 = 66 +41 + 26 = 67 +41 + 27 = 68 +41 + 28 = 69 +41 + 29 = 70 +41 + 30 = 71 +41 + 31 = 72 +41 + 32 = 73 +41 + 33 = 74 +41 + 34 = 75 +41 + 35 = 76 +41 + 36 = 77 +41 + 37 = 78 +41 + 38 = 79 +41 + 39 = 80 +41 + 40 = 81 +41 + 41 = 82 +41 + 42 = 83 +41 + 43 = 84 +41 + 44 = 85 +41 + 45 = 86 +41 + 46 = 87 +41 + 47 = 88 +41 + 48 = 89 +41 + 49 = 90 +41 + 50 = 91 +41 + 51 = 92 +41 + 52 = 93 +41 + 53 = 94 +41 + 54 = 95 +41 + 55 = 96 +41 + 56 = 97 +41 + 57 = 98 +41 + 58 = 99 +41 + 59 = 100 +41 + 60 = 101 +41 + 61 = 102 +41 + 62 = 103 +41 + 63 = 104 +42 + 0 = 42 +42 + 1 = 43 +42 + 2 = 44 +42 + 3 = 45 +42 + 4 = 46 +42 + 5 = 47 +42 + 6 = 48 +42 + 7 = 49 +42 + 8 = 50 +42 + 9 = 51 +42 + 10 = 52 +42 + 11 = 53 +42 + 12 = 54 +42 + 13 = 55 +42 + 14 = 56 +42 + 15 = 57 +42 + 16 = 58 +42 + 17 = 59 +42 + 18 = 60 +42 + 19 = 61 +42 + 20 = 62 +42 + 21 = 63 +42 + 22 = 64 +42 + 23 = 65 +42 + 24 = 66 +42 + 25 = 67 +42 + 26 = 68 +42 + 27 = 69 +42 + 28 = 70 +42 + 29 = 71 +42 + 30 = 72 +42 + 31 = 73 +42 + 32 = 74 +42 + 33 = 75 +42 + 34 = 76 +42 + 35 = 77 +42 + 36 = 78 +42 + 37 = 79 +42 + 38 = 80 +42 + 39 = 81 +42 + 40 = 82 +42 + 41 = 83 +42 + 42 = 84 +42 + 43 = 85 +42 + 44 = 86 +42 + 45 = 87 +42 + 46 = 88 +42 + 47 = 89 +42 + 48 = 90 +42 + 49 = 91 +42 + 50 = 92 +42 + 51 = 93 +42 + 52 = 94 +42 + 53 = 95 +42 + 54 = 96 +42 + 55 = 97 +42 + 56 = 98 +42 + 57 = 99 +42 + 58 = 100 +42 + 59 = 101 +42 + 60 = 102 +42 + 61 = 103 +42 + 62 = 104 +42 + 63 = 105 +43 + 0 = 43 +43 + 1 = 44 +43 + 2 = 45 +43 + 3 = 46 +43 + 4 = 47 +43 + 5 = 48 +43 + 6 = 49 +43 + 7 = 50 +43 + 8 = 51 +43 + 9 = 52 +43 + 10 = 53 +43 + 11 = 54 +43 + 12 = 55 +43 + 13 = 56 +43 + 14 = 57 +43 + 15 = 58 +43 + 16 = 59 +43 + 17 = 60 +43 + 18 = 61 +43 + 19 = 62 +43 + 20 = 63 +43 + 21 = 64 +43 + 22 = 65 +43 + 23 = 66 +43 + 24 = 67 +43 + 25 = 68 +43 + 26 = 69 +43 + 27 = 70 +43 + 28 = 71 +43 + 29 = 72 +43 + 30 = 73 +43 + 31 = 74 +43 + 32 = 75 +43 + 33 = 76 +43 + 34 = 77 +43 + 35 = 78 +43 + 36 = 79 +43 + 37 = 80 +43 + 38 = 81 +43 + 39 = 82 +43 + 40 = 83 +43 + 41 = 84 +43 + 42 = 85 +43 + 43 = 86 +43 + 44 = 87 +43 + 45 = 88 +43 + 46 = 89 +43 + 47 = 90 +43 + 48 = 91 +43 + 49 = 92 +43 + 50 = 93 +43 + 51 = 94 +43 + 52 = 95 +43 + 53 = 96 +43 + 54 = 97 +43 + 55 = 98 +43 + 56 = 99 +43 + 57 = 100 +43 + 58 = 101 +43 + 59 = 102 +43 + 60 = 103 +43 + 61 = 104 +43 + 62 = 105 +43 + 63 = 106 +44 + 0 = 44 +44 + 1 = 45 +44 + 2 = 46 +44 + 3 = 47 +44 + 4 = 48 +44 + 5 = 49 +44 + 6 = 50 +44 + 7 = 51 +44 + 8 = 52 +44 + 9 = 53 +44 + 10 = 54 +44 + 11 = 55 +44 + 12 = 56 +44 + 13 = 57 +44 + 14 = 58 +44 + 15 = 59 +44 + 16 = 60 +44 + 17 = 61 +44 + 18 = 62 +44 + 19 = 63 +44 + 20 = 64 +44 + 21 = 65 +44 + 22 = 66 +44 + 23 = 67 +44 + 24 = 68 +44 + 25 = 69 +44 + 26 = 70 +44 + 27 = 71 +44 + 28 = 72 +44 + 29 = 73 +44 + 30 = 74 +44 + 31 = 75 +44 + 32 = 76 +44 + 33 = 77 +44 + 34 = 78 +44 + 35 = 79 +44 + 36 = 80 +44 + 37 = 81 +44 + 38 = 82 +44 + 39 = 83 +44 + 40 = 84 +44 + 41 = 85 +44 + 42 = 86 +44 + 43 = 87 +44 + 44 = 88 +44 + 45 = 89 +44 + 46 = 90 +44 + 47 = 91 +44 + 48 = 92 +44 + 49 = 93 +44 + 50 = 94 +44 + 51 = 95 +44 + 52 = 96 +44 + 53 = 97 +44 + 54 = 98 +44 + 55 = 99 +44 + 56 = 100 +44 + 57 = 101 +44 + 58 = 102 +44 + 59 = 103 +44 + 60 = 104 +44 + 61 = 105 +44 + 62 = 106 +44 + 63 = 107 +45 + 0 = 45 +45 + 1 = 46 +45 + 2 = 47 +45 + 3 = 48 +45 + 4 = 49 +45 + 5 = 50 +45 + 6 = 51 +45 + 7 = 52 +45 + 8 = 53 +45 + 9 = 54 +45 + 10 = 55 +45 + 11 = 56 +45 + 12 = 57 +45 + 13 = 58 +45 + 14 = 59 +45 + 15 = 60 +45 + 16 = 61 +45 + 17 = 62 +45 + 18 = 63 +45 + 19 = 64 +45 + 20 = 65 +45 + 21 = 66 +45 + 22 = 67 +45 + 23 = 68 +45 + 24 = 69 +45 + 25 = 70 +45 + 26 = 71 +45 + 27 = 72 +45 + 28 = 73 +45 + 29 = 74 +45 + 30 = 75 +45 + 31 = 76 +45 + 32 = 77 +45 + 33 = 78 +45 + 34 = 79 +45 + 35 = 80 +45 + 36 = 81 +45 + 37 = 82 +45 + 38 = 83 +45 + 39 = 84 +45 + 40 = 85 +45 + 41 = 86 +45 + 42 = 87 +45 + 43 = 88 +45 + 44 = 89 +45 + 45 = 90 +45 + 46 = 91 +45 + 47 = 92 +45 + 48 = 93 +45 + 49 = 94 +45 + 50 = 95 +45 + 51 = 96 +45 + 52 = 97 +45 + 53 = 98 +45 + 54 = 99 +45 + 55 = 100 +45 + 56 = 101 +45 + 57 = 102 +45 + 58 = 103 +45 + 59 = 104 +45 + 60 = 105 +45 + 61 = 106 +45 + 62 = 107 +45 + 63 = 108 +46 + 0 = 46 +46 + 1 = 47 +46 + 2 = 48 +46 + 3 = 49 +46 + 4 = 50 +46 + 5 = 51 +46 + 6 = 52 +46 + 7 = 53 +46 + 8 = 54 +46 + 9 = 55 +46 + 10 = 56 +46 + 11 = 57 +46 + 12 = 58 +46 + 13 = 59 +46 + 14 = 60 +46 + 15 = 61 +46 + 16 = 62 +46 + 17 = 63 +46 + 18 = 64 +46 + 19 = 65 +46 + 20 = 66 +46 + 21 = 67 +46 + 22 = 68 +46 + 23 = 69 +46 + 24 = 70 +46 + 25 = 71 +46 + 26 = 72 +46 + 27 = 73 +46 + 28 = 74 +46 + 29 = 75 +46 + 30 = 76 +46 + 31 = 77 +46 + 32 = 78 +46 + 33 = 79 +46 + 34 = 80 +46 + 35 = 81 +46 + 36 = 82 +46 + 37 = 83 +46 + 38 = 84 +46 + 39 = 85 +46 + 40 = 86 +46 + 41 = 87 +46 + 42 = 88 +46 + 43 = 89 +46 + 44 = 90 +46 + 45 = 91 +46 + 46 = 92 +46 + 47 = 93 +46 + 48 = 94 +46 + 49 = 95 +46 + 50 = 96 +46 + 51 = 97 +46 + 52 = 98 +46 + 53 = 99 +46 + 54 = 100 +46 + 55 = 101 +46 + 56 = 102 +46 + 57 = 103 +46 + 58 = 104 +46 + 59 = 105 +46 + 60 = 106 +46 + 61 = 107 +46 + 62 = 108 +46 + 63 = 109 +47 + 0 = 47 +47 + 1 = 48 +47 + 2 = 49 +47 + 3 = 50 +47 + 4 = 51 +47 + 5 = 52 +47 + 6 = 53 +47 + 7 = 54 +47 + 8 = 55 +47 + 9 = 56 +47 + 10 = 57 +47 + 11 = 58 +47 + 12 = 59 +47 + 13 = 60 +47 + 14 = 61 +47 + 15 = 62 +47 + 16 = 63 +47 + 17 = 64 +47 + 18 = 65 +47 + 19 = 66 +47 + 20 = 67 +47 + 21 = 68 +47 + 22 = 69 +47 + 23 = 70 +47 + 24 = 71 +47 + 25 = 72 +47 + 26 = 73 +47 + 27 = 74 +47 + 28 = 75 +47 + 29 = 76 +47 + 30 = 77 +47 + 31 = 78 +47 + 32 = 79 +47 + 33 = 80 +47 + 34 = 81 +47 + 35 = 82 +47 + 36 = 83 +47 + 37 = 84 +47 + 38 = 85 +47 + 39 = 86 +47 + 40 = 87 +47 + 41 = 88 +47 + 42 = 89 +47 + 43 = 90 +47 + 44 = 91 +47 + 45 = 92 +47 + 46 = 93 +47 + 47 = 94 +47 + 48 = 95 +47 + 49 = 96 +47 + 50 = 97 +47 + 51 = 98 +47 + 52 = 99 +47 + 53 = 100 +47 + 54 = 101 +47 + 55 = 102 +47 + 56 = 103 +47 + 57 = 104 +47 + 58 = 105 +47 + 59 = 106 +47 + 60 = 107 +47 + 61 = 108 +47 + 62 = 109 +47 + 63 = 110 +48 + 0 = 48 +48 + 1 = 49 +48 + 2 = 50 +48 + 3 = 51 +48 + 4 = 52 +48 + 5 = 53 +48 + 6 = 54 +48 + 7 = 55 +48 + 8 = 56 +48 + 9 = 57 +48 + 10 = 58 +48 + 11 = 59 +48 + 12 = 60 +48 + 13 = 61 +48 + 14 = 62 +48 + 15 = 63 +48 + 16 = 64 +48 + 17 = 65 +48 + 18 = 66 +48 + 19 = 67 +48 + 20 = 68 +48 + 21 = 69 +48 + 22 = 70 +48 + 23 = 71 +48 + 24 = 72 +48 + 25 = 73 +48 + 26 = 74 +48 + 27 = 75 +48 + 28 = 76 +48 + 29 = 77 +48 + 30 = 78 +48 + 31 = 79 +48 + 32 = 80 +48 + 33 = 81 +48 + 34 = 82 +48 + 35 = 83 +48 + 36 = 84 +48 + 37 = 85 +48 + 38 = 86 +48 + 39 = 87 +48 + 40 = 88 +48 + 41 = 89 +48 + 42 = 90 +48 + 43 = 91 +48 + 44 = 92 +48 + 45 = 93 +48 + 46 = 94 +48 + 47 = 95 +48 + 48 = 96 +48 + 49 = 97 +48 + 50 = 98 +48 + 51 = 99 +48 + 52 = 100 +48 + 53 = 101 +48 + 54 = 102 +48 + 55 = 103 +48 + 56 = 104 +48 + 57 = 105 +48 + 58 = 106 +48 + 59 = 107 +48 + 60 = 108 +48 + 61 = 109 +48 + 62 = 110 +48 + 63 = 111 +49 + 0 = 49 +49 + 1 = 50 +49 + 2 = 51 +49 + 3 = 52 +49 + 4 = 53 +49 + 5 = 54 +49 + 6 = 55 +49 + 7 = 56 +49 + 8 = 57 +49 + 9 = 58 +49 + 10 = 59 +49 + 11 = 60 +49 + 12 = 61 +49 + 13 = 62 +49 + 14 = 63 +49 + 15 = 64 +49 + 16 = 65 +49 + 17 = 66 +49 + 18 = 67 +49 + 19 = 68 +49 + 20 = 69 +49 + 21 = 70 +49 + 22 = 71 +49 + 23 = 72 +49 + 24 = 73 +49 + 25 = 74 +49 + 26 = 75 +49 + 27 = 76 +49 + 28 = 77 +49 + 29 = 78 +49 + 30 = 79 +49 + 31 = 80 +49 + 32 = 81 +49 + 33 = 82 +49 + 34 = 83 +49 + 35 = 84 +49 + 36 = 85 +49 + 37 = 86 +49 + 38 = 87 +49 + 39 = 88 +49 + 40 = 89 +49 + 41 = 90 +49 + 42 = 91 +49 + 43 = 92 +49 + 44 = 93 +49 + 45 = 94 +49 + 46 = 95 +49 + 47 = 96 +49 + 48 = 97 +49 + 49 = 98 +49 + 50 = 99 +49 + 51 = 100 +49 + 52 = 101 +49 + 53 = 102 +49 + 54 = 103 +49 + 55 = 104 +49 + 56 = 105 +49 + 57 = 106 +49 + 58 = 107 +49 + 59 = 108 +49 + 60 = 109 +49 + 61 = 110 +49 + 62 = 111 +49 + 63 = 112 +50 + 0 = 50 +50 + 1 = 51 +50 + 2 = 52 +50 + 3 = 53 +50 + 4 = 54 +50 + 5 = 55 +50 + 6 = 56 +50 + 7 = 57 +50 + 8 = 58 +50 + 9 = 59 +50 + 10 = 60 +50 + 11 = 61 +50 + 12 = 62 +50 + 13 = 63 +50 + 14 = 64 +50 + 15 = 65 +50 + 16 = 66 +50 + 17 = 67 +50 + 18 = 68 +50 + 19 = 69 +50 + 20 = 70 +50 + 21 = 71 +50 + 22 = 72 +50 + 23 = 73 +50 + 24 = 74 +50 + 25 = 75 +50 + 26 = 76 +50 + 27 = 77 +50 + 28 = 78 +50 + 29 = 79 +50 + 30 = 80 +50 + 31 = 81 +50 + 32 = 82 +50 + 33 = 83 +50 + 34 = 84 +50 + 35 = 85 +50 + 36 = 86 +50 + 37 = 87 +50 + 38 = 88 +50 + 39 = 89 +50 + 40 = 90 +50 + 41 = 91 +50 + 42 = 92 +50 + 43 = 93 +50 + 44 = 94 +50 + 45 = 95 +50 + 46 = 96 +50 + 47 = 97 +50 + 48 = 98 +50 + 49 = 99 +50 + 50 = 100 +50 + 51 = 101 +50 + 52 = 102 +50 + 53 = 103 +50 + 54 = 104 +50 + 55 = 105 +50 + 56 = 106 +50 + 57 = 107 +50 + 58 = 108 +50 + 59 = 109 +50 + 60 = 110 +50 + 61 = 111 +50 + 62 = 112 +50 + 63 = 113 +51 + 0 = 51 +51 + 1 = 52 +51 + 2 = 53 +51 + 3 = 54 +51 + 4 = 55 +51 + 5 = 56 +51 + 6 = 57 +51 + 7 = 58 +51 + 8 = 59 +51 + 9 = 60 +51 + 10 = 61 +51 + 11 = 62 +51 + 12 = 63 +51 + 13 = 64 +51 + 14 = 65 +51 + 15 = 66 +51 + 16 = 67 +51 + 17 = 68 +51 + 18 = 69 +51 + 19 = 70 +51 + 20 = 71 +51 + 21 = 72 +51 + 22 = 73 +51 + 23 = 74 +51 + 24 = 75 +51 + 25 = 76 +51 + 26 = 77 +51 + 27 = 78 +51 + 28 = 79 +51 + 29 = 80 +51 + 30 = 81 +51 + 31 = 82 +51 + 32 = 83 +51 + 33 = 84 +51 + 34 = 85 +51 + 35 = 86 +51 + 36 = 87 +51 + 37 = 88 +51 + 38 = 89 +51 + 39 = 90 +51 + 40 = 91 +51 + 41 = 92 +51 + 42 = 93 +51 + 43 = 94 +51 + 44 = 95 +51 + 45 = 96 +51 + 46 = 97 +51 + 47 = 98 +51 + 48 = 99 +51 + 49 = 100 +51 + 50 = 101 +51 + 51 = 102 +51 + 52 = 103 +51 + 53 = 104 +51 + 54 = 105 +51 + 55 = 106 +51 + 56 = 107 +51 + 57 = 108 +51 + 58 = 109 +51 + 59 = 110 +51 + 60 = 111 +51 + 61 = 112 +51 + 62 = 113 +51 + 63 = 114 +52 + 0 = 52 +52 + 1 = 53 +52 + 2 = 54 +52 + 3 = 55 +52 + 4 = 56 +52 + 5 = 57 +52 + 6 = 58 +52 + 7 = 59 +52 + 8 = 60 +52 + 9 = 61 +52 + 10 = 62 +52 + 11 = 63 +52 + 12 = 64 +52 + 13 = 65 +52 + 14 = 66 +52 + 15 = 67 +52 + 16 = 68 +52 + 17 = 69 +52 + 18 = 70 +52 + 19 = 71 +52 + 20 = 72 +52 + 21 = 73 +52 + 22 = 74 +52 + 23 = 75 +52 + 24 = 76 +52 + 25 = 77 +52 + 26 = 78 +52 + 27 = 79 +52 + 28 = 80 +52 + 29 = 81 +52 + 30 = 82 +52 + 31 = 83 +52 + 32 = 84 +52 + 33 = 85 +52 + 34 = 86 +52 + 35 = 87 +52 + 36 = 88 +52 + 37 = 89 +52 + 38 = 90 +52 + 39 = 91 +52 + 40 = 92 +52 + 41 = 93 +52 + 42 = 94 +52 + 43 = 95 +52 + 44 = 96 +52 + 45 = 97 +52 + 46 = 98 +52 + 47 = 99 +52 + 48 = 100 +52 + 49 = 101 +52 + 50 = 102 +52 + 51 = 103 +52 + 52 = 104 +52 + 53 = 105 +52 + 54 = 106 +52 + 55 = 107 +52 + 56 = 108 +52 + 57 = 109 +52 + 58 = 110 +52 + 59 = 111 +52 + 60 = 112 +52 + 61 = 113 +52 + 62 = 114 +52 + 63 = 115 +53 + 0 = 53 +53 + 1 = 54 +53 + 2 = 55 +53 + 3 = 56 +53 + 4 = 57 +53 + 5 = 58 +53 + 6 = 59 +53 + 7 = 60 +53 + 8 = 61 +53 + 9 = 62 +53 + 10 = 63 +53 + 11 = 64 +53 + 12 = 65 +53 + 13 = 66 +53 + 14 = 67 +53 + 15 = 68 +53 + 16 = 69 +53 + 17 = 70 +53 + 18 = 71 +53 + 19 = 72 +53 + 20 = 73 +53 + 21 = 74 +53 + 22 = 75 +53 + 23 = 76 +53 + 24 = 77 +53 + 25 = 78 +53 + 26 = 79 +53 + 27 = 80 +53 + 28 = 81 +53 + 29 = 82 +53 + 30 = 83 +53 + 31 = 84 +53 + 32 = 85 +53 + 33 = 86 +53 + 34 = 87 +53 + 35 = 88 +53 + 36 = 89 +53 + 37 = 90 +53 + 38 = 91 +53 + 39 = 92 +53 + 40 = 93 +53 + 41 = 94 +53 + 42 = 95 +53 + 43 = 96 +53 + 44 = 97 +53 + 45 = 98 +53 + 46 = 99 +53 + 47 = 100 +53 + 48 = 101 +53 + 49 = 102 +53 + 50 = 103 +53 + 51 = 104 +53 + 52 = 105 +53 + 53 = 106 +53 + 54 = 107 +53 + 55 = 108 +53 + 56 = 109 +53 + 57 = 110 +53 + 58 = 111 +53 + 59 = 112 +53 + 60 = 113 +53 + 61 = 114 +53 + 62 = 115 +53 + 63 = 116 +54 + 0 = 54 +54 + 1 = 55 +54 + 2 = 56 +54 + 3 = 57 +54 + 4 = 58 +54 + 5 = 59 +54 + 6 = 60 +54 + 7 = 61 +54 + 8 = 62 +54 + 9 = 63 +54 + 10 = 64 +54 + 11 = 65 +54 + 12 = 66 +54 + 13 = 67 +54 + 14 = 68 +54 + 15 = 69 +54 + 16 = 70 +54 + 17 = 71 +54 + 18 = 72 +54 + 19 = 73 +54 + 20 = 74 +54 + 21 = 75 +54 + 22 = 76 +54 + 23 = 77 +54 + 24 = 78 +54 + 25 = 79 +54 + 26 = 80 +54 + 27 = 81 +54 + 28 = 82 +54 + 29 = 83 +54 + 30 = 84 +54 + 31 = 85 +54 + 32 = 86 +54 + 33 = 87 +54 + 34 = 88 +54 + 35 = 89 +54 + 36 = 90 +54 + 37 = 91 +54 + 38 = 92 +54 + 39 = 93 +54 + 40 = 94 +54 + 41 = 95 +54 + 42 = 96 +54 + 43 = 97 +54 + 44 = 98 +54 + 45 = 99 +54 + 46 = 100 +54 + 47 = 101 +54 + 48 = 102 +54 + 49 = 103 +54 + 50 = 104 +54 + 51 = 105 +54 + 52 = 106 +54 + 53 = 107 +54 + 54 = 108 +54 + 55 = 109 +54 + 56 = 110 +54 + 57 = 111 +54 + 58 = 112 +54 + 59 = 113 +54 + 60 = 114 +54 + 61 = 115 +54 + 62 = 116 +54 + 63 = 117 +55 + 0 = 55 +55 + 1 = 56 +55 + 2 = 57 +55 + 3 = 58 +55 + 4 = 59 +55 + 5 = 60 +55 + 6 = 61 +55 + 7 = 62 +55 + 8 = 63 +55 + 9 = 64 +55 + 10 = 65 +55 + 11 = 66 +55 + 12 = 67 +55 + 13 = 68 +55 + 14 = 69 +55 + 15 = 70 +55 + 16 = 71 +55 + 17 = 72 +55 + 18 = 73 +55 + 19 = 74 +55 + 20 = 75 +55 + 21 = 76 +55 + 22 = 77 +55 + 23 = 78 +55 + 24 = 79 +55 + 25 = 80 +55 + 26 = 81 +55 + 27 = 82 +55 + 28 = 83 +55 + 29 = 84 +55 + 30 = 85 +55 + 31 = 86 +55 + 32 = 87 +55 + 33 = 88 +55 + 34 = 89 +55 + 35 = 90 +55 + 36 = 91 +55 + 37 = 92 +55 + 38 = 93 +55 + 39 = 94 +55 + 40 = 95 +55 + 41 = 96 +55 + 42 = 97 +55 + 43 = 98 +55 + 44 = 99 +55 + 45 = 100 +55 + 46 = 101 +55 + 47 = 102 +55 + 48 = 103 +55 + 49 = 104 +55 + 50 = 105 +55 + 51 = 106 +55 + 52 = 107 +55 + 53 = 108 +55 + 54 = 109 +55 + 55 = 110 +55 + 56 = 111 +55 + 57 = 112 +55 + 58 = 113 +55 + 59 = 114 +55 + 60 = 115 +55 + 61 = 116 +55 + 62 = 117 +55 + 63 = 118 +56 + 0 = 56 +56 + 1 = 57 +56 + 2 = 58 +56 + 3 = 59 +56 + 4 = 60 +56 + 5 = 61 +56 + 6 = 62 +56 + 7 = 63 +56 + 8 = 64 +56 + 9 = 65 +56 + 10 = 66 +56 + 11 = 67 +56 + 12 = 68 +56 + 13 = 69 +56 + 14 = 70 +56 + 15 = 71 +56 + 16 = 72 +56 + 17 = 73 +56 + 18 = 74 +56 + 19 = 75 +56 + 20 = 76 +56 + 21 = 77 +56 + 22 = 78 +56 + 23 = 79 +56 + 24 = 80 +56 + 25 = 81 +56 + 26 = 82 +56 + 27 = 83 +56 + 28 = 84 +56 + 29 = 85 +56 + 30 = 86 +56 + 31 = 87 +56 + 32 = 88 +56 + 33 = 89 +56 + 34 = 90 +56 + 35 = 91 +56 + 36 = 92 +56 + 37 = 93 +56 + 38 = 94 +56 + 39 = 95 +56 + 40 = 96 +56 + 41 = 97 +56 + 42 = 98 +56 + 43 = 99 +56 + 44 = 100 +56 + 45 = 101 +56 + 46 = 102 +56 + 47 = 103 +56 + 48 = 104 +56 + 49 = 105 +56 + 50 = 106 +56 + 51 = 107 +56 + 52 = 108 +56 + 53 = 109 +56 + 54 = 110 +56 + 55 = 111 +56 + 56 = 112 +56 + 57 = 113 +56 + 58 = 114 +56 + 59 = 115 +56 + 60 = 116 +56 + 61 = 117 +56 + 62 = 118 +56 + 63 = 119 +57 + 0 = 57 +57 + 1 = 58 +57 + 2 = 59 +57 + 3 = 60 +57 + 4 = 61 +57 + 5 = 62 +57 + 6 = 63 +57 + 7 = 64 +57 + 8 = 65 +57 + 9 = 66 +57 + 10 = 67 +57 + 11 = 68 +57 + 12 = 69 +57 + 13 = 70 +57 + 14 = 71 +57 + 15 = 72 +57 + 16 = 73 +57 + 17 = 74 +57 + 18 = 75 +57 + 19 = 76 +57 + 20 = 77 +57 + 21 = 78 +57 + 22 = 79 +57 + 23 = 80 +57 + 24 = 81 +57 + 25 = 82 +57 + 26 = 83 +57 + 27 = 84 +57 + 28 = 85 +57 + 29 = 86 +57 + 30 = 87 +57 + 31 = 88 +57 + 32 = 89 +57 + 33 = 90 +57 + 34 = 91 +57 + 35 = 92 +57 + 36 = 93 +57 + 37 = 94 +57 + 38 = 95 +57 + 39 = 96 +57 + 40 = 97 +57 + 41 = 98 +57 + 42 = 99 +57 + 43 = 100 +57 + 44 = 101 +57 + 45 = 102 +57 + 46 = 103 +57 + 47 = 104 +57 + 48 = 105 +57 + 49 = 106 +57 + 50 = 107 +57 + 51 = 108 +57 + 52 = 109 +57 + 53 = 110 +57 + 54 = 111 +57 + 55 = 112 +57 + 56 = 113 +57 + 57 = 114 +57 + 58 = 115 +57 + 59 = 116 +57 + 60 = 117 +57 + 61 = 118 +57 + 62 = 119 +57 + 63 = 120 +58 + 0 = 58 +58 + 1 = 59 +58 + 2 = 60 +58 + 3 = 61 +58 + 4 = 62 +58 + 5 = 63 +58 + 6 = 64 +58 + 7 = 65 +58 + 8 = 66 +58 + 9 = 67 +58 + 10 = 68 +58 + 11 = 69 +58 + 12 = 70 +58 + 13 = 71 +58 + 14 = 72 +58 + 15 = 73 +58 + 16 = 74 +58 + 17 = 75 +58 + 18 = 76 +58 + 19 = 77 +58 + 20 = 78 +58 + 21 = 79 +58 + 22 = 80 +58 + 23 = 81 +58 + 24 = 82 +58 + 25 = 83 +58 + 26 = 84 +58 + 27 = 85 +58 + 28 = 86 +58 + 29 = 87 +58 + 30 = 88 +58 + 31 = 89 +58 + 32 = 90 +58 + 33 = 91 +58 + 34 = 92 +58 + 35 = 93 +58 + 36 = 94 +58 + 37 = 95 +58 + 38 = 96 +58 + 39 = 97 +58 + 40 = 98 +58 + 41 = 99 +58 + 42 = 100 +58 + 43 = 101 +58 + 44 = 102 +58 + 45 = 103 +58 + 46 = 104 +58 + 47 = 105 +58 + 48 = 106 +58 + 49 = 107 +58 + 50 = 108 +58 + 51 = 109 +58 + 52 = 110 +58 + 53 = 111 +58 + 54 = 112 +58 + 55 = 113 +58 + 56 = 114 +58 + 57 = 115 +58 + 58 = 116 +58 + 59 = 117 +58 + 60 = 118 +58 + 61 = 119 +58 + 62 = 120 +58 + 63 = 121 +59 + 0 = 59 +59 + 1 = 60 +59 + 2 = 61 +59 + 3 = 62 +59 + 4 = 63 +59 + 5 = 64 +59 + 6 = 65 +59 + 7 = 66 +59 + 8 = 67 +59 + 9 = 68 +59 + 10 = 69 +59 + 11 = 70 +59 + 12 = 71 +59 + 13 = 72 +59 + 14 = 73 +59 + 15 = 74 +59 + 16 = 75 +59 + 17 = 76 +59 + 18 = 77 +59 + 19 = 78 +59 + 20 = 79 +59 + 21 = 80 +59 + 22 = 81 +59 + 23 = 82 +59 + 24 = 83 +59 + 25 = 84 +59 + 26 = 85 +59 + 27 = 86 +59 + 28 = 87 +59 + 29 = 88 +59 + 30 = 89 +59 + 31 = 90 +59 + 32 = 91 +59 + 33 = 92 +59 + 34 = 93 +59 + 35 = 94 +59 + 36 = 95 +59 + 37 = 96 +59 + 38 = 97 +59 + 39 = 98 +59 + 40 = 99 +59 + 41 = 100 +59 + 42 = 101 +59 + 43 = 102 +59 + 44 = 103 +59 + 45 = 104 +59 + 46 = 105 +59 + 47 = 106 +59 + 48 = 107 +59 + 49 = 108 +59 + 50 = 109 +59 + 51 = 110 +59 + 52 = 111 +59 + 53 = 112 +59 + 54 = 113 +59 + 55 = 114 +59 + 56 = 115 +59 + 57 = 116 +59 + 58 = 117 +59 + 59 = 118 +59 + 60 = 119 +59 + 61 = 120 +59 + 62 = 121 +59 + 63 = 122 +60 + 0 = 60 +60 + 1 = 61 +60 + 2 = 62 +60 + 3 = 63 +60 + 4 = 64 +60 + 5 = 65 +60 + 6 = 66 +60 + 7 = 67 +60 + 8 = 68 +60 + 9 = 69 +60 + 10 = 70 +60 + 11 = 71 +60 + 12 = 72 +60 + 13 = 73 +60 + 14 = 74 +60 + 15 = 75 +60 + 16 = 76 +60 + 17 = 77 +60 + 18 = 78 +60 + 19 = 79 +60 + 20 = 80 +60 + 21 = 81 +60 + 22 = 82 +60 + 23 = 83 +60 + 24 = 84 +60 + 25 = 85 +60 + 26 = 86 +60 + 27 = 87 +60 + 28 = 88 +60 + 29 = 89 +60 + 30 = 90 +60 + 31 = 91 +60 + 32 = 92 +60 + 33 = 93 +60 + 34 = 94 +60 + 35 = 95 +60 + 36 = 96 +60 + 37 = 97 +60 + 38 = 98 +60 + 39 = 99 +60 + 40 = 100 +60 + 41 = 101 +60 + 42 = 102 +60 + 43 = 103 +60 + 44 = 104 +60 + 45 = 105 +60 + 46 = 106 +60 + 47 = 107 +60 + 48 = 108 +60 + 49 = 109 +60 + 50 = 110 +60 + 51 = 111 +60 + 52 = 112 +60 + 53 = 113 +60 + 54 = 114 +60 + 55 = 115 +60 + 56 = 116 +60 + 57 = 117 +60 + 58 = 118 +60 + 59 = 119 +60 + 60 = 120 +60 + 61 = 121 +60 + 62 = 122 +60 + 63 = 123 +61 + 0 = 61 +61 + 1 = 62 +61 + 2 = 63 +61 + 3 = 64 +61 + 4 = 65 +61 + 5 = 66 +61 + 6 = 67 +61 + 7 = 68 +61 + 8 = 69 +61 + 9 = 70 +61 + 10 = 71 +61 + 11 = 72 +61 + 12 = 73 +61 + 13 = 74 +61 + 14 = 75 +61 + 15 = 76 +61 + 16 = 77 +61 + 17 = 78 +61 + 18 = 79 +61 + 19 = 80 +61 + 20 = 81 +61 + 21 = 82 +61 + 22 = 83 +61 + 23 = 84 +61 + 24 = 85 +61 + 25 = 86 +61 + 26 = 87 +61 + 27 = 88 +61 + 28 = 89 +61 + 29 = 90 +61 + 30 = 91 +61 + 31 = 92 +61 + 32 = 93 +61 + 33 = 94 +61 + 34 = 95 +61 + 35 = 96 +61 + 36 = 97 +61 + 37 = 98 +61 + 38 = 99 +61 + 39 = 100 +61 + 40 = 101 +61 + 41 = 102 +61 + 42 = 103 +61 + 43 = 104 +61 + 44 = 105 +61 + 45 = 106 +61 + 46 = 107 +61 + 47 = 108 +61 + 48 = 109 +61 + 49 = 110 +61 + 50 = 111 +61 + 51 = 112 +61 + 52 = 113 +61 + 53 = 114 +61 + 54 = 115 +61 + 55 = 116 +61 + 56 = 117 +61 + 57 = 118 +61 + 58 = 119 +61 + 59 = 120 +61 + 60 = 121 +61 + 61 = 122 +61 + 62 = 123 +61 + 63 = 124 +62 + 0 = 62 +62 + 1 = 63 +62 + 2 = 64 +62 + 3 = 65 +62 + 4 = 66 +62 + 5 = 67 +62 + 6 = 68 +62 + 7 = 69 +62 + 8 = 70 +62 + 9 = 71 +62 + 10 = 72 +62 + 11 = 73 +62 + 12 = 74 +62 + 13 = 75 +62 + 14 = 76 +62 + 15 = 77 +62 + 16 = 78 +62 + 17 = 79 +62 + 18 = 80 +62 + 19 = 81 +62 + 20 = 82 +62 + 21 = 83 +62 + 22 = 84 +62 + 23 = 85 +62 + 24 = 86 +62 + 25 = 87 +62 + 26 = 88 +62 + 27 = 89 +62 + 28 = 90 +62 + 29 = 91 +62 + 30 = 92 +62 + 31 = 93 +62 + 32 = 94 +62 + 33 = 95 +62 + 34 = 96 +62 + 35 = 97 +62 + 36 = 98 +62 + 37 = 99 +62 + 38 = 100 +62 + 39 = 101 +62 + 40 = 102 +62 + 41 = 103 +62 + 42 = 104 +62 + 43 = 105 +62 + 44 = 106 +62 + 45 = 107 +62 + 46 = 108 +62 + 47 = 109 +62 + 48 = 110 +62 + 49 = 111 +62 + 50 = 112 +62 + 51 = 113 +62 + 52 = 114 +62 + 53 = 115 +62 + 54 = 116 +62 + 55 = 117 +62 + 56 = 118 +62 + 57 = 119 +62 + 58 = 120 +62 + 59 = 121 +62 + 60 = 122 +62 + 61 = 123 +62 + 62 = 124 +62 + 63 = 125 +63 + 0 = 63 +63 + 1 = 64 +63 + 2 = 65 +63 + 3 = 66 +63 + 4 = 67 +63 + 5 = 68 +63 + 6 = 69 +63 + 7 = 70 +63 + 8 = 71 +63 + 9 = 72 +63 + 10 = 73 +63 + 11 = 74 +63 + 12 = 75 +63 + 13 = 76 +63 + 14 = 77 +63 + 15 = 78 +63 + 16 = 79 +63 + 17 = 80 +63 + 18 = 81 +63 + 19 = 82 +63 + 20 = 83 +63 + 21 = 84 +63 + 22 = 85 +63 + 23 = 86 +63 + 24 = 87 +63 + 25 = 88 +63 + 26 = 89 +63 + 27 = 90 +63 + 28 = 91 +63 + 29 = 92 +63 + 30 = 93 +63 + 31 = 94 +63 + 32 = 95 +63 + 33 = 96 +63 + 34 = 97 +63 + 35 = 98 +63 + 36 = 99 +63 + 37 = 100 +63 + 38 = 101 +63 + 39 = 102 +63 + 40 = 103 +63 + 41 = 104 +63 + 42 = 105 +63 + 43 = 106 +63 + 44 = 107 +63 + 45 = 108 +63 + 46 = 109 +63 + 47 = 110 +63 + 48 = 111 +63 + 49 = 112 +63 + 50 = 113 +63 + 51 = 114 +63 + 52 = 115 +63 + 53 = 116 +63 + 54 = 117 +63 + 55 = 118 +63 + 56 = 119 +63 + 57 = 120 +63 + 58 = 121 +63 + 59 = 122 +63 + 60 = 123 +63 + 61 = 124 +63 + 62 = 125 +63 + 63 = 126 + +Info: /OSCI/SystemC: Simulation stopped by user. diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/main.cpp b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/main.cpp new file mode 100644 index 000000000..30858393b --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/main.cpp @@ -0,0 +1,78 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + main.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /******************************************/ + /* Main Filename: main.cc */ + /******************************************/ + /* */ + /* 7-bit bool = 6-bit bool + 6-bit bool */ + /* */ + /* Max addition is 63 + 63 */ + /* */ + /* This example explicitly promotes all */ + /* variables in the addition to the size */ + /* of the largest variable (7-bits). */ + /* */ + /* This matches Verilog semantics. */ + /* */ + /******************************************/ + + +#include "datawidth.h" +#include "stimgen.h" + +int sc_main(int ac, char *av[]) +{ + +// Signal Instantiation + sc_signal_bool_vector6 in1 ("in1"); + sc_signal_bool_vector6 in2 ("in2"); + sc_signal_bool_vector7 result ("result"); + sc_signal ready ("ready"); + +// Clock Instantiation + sc_clock clk( "clock", 10, SC_NS, 0.5, 0, SC_NS); + +// Process Instantiation + datawidth D1 ("D1", clk, in1, in2, ready, result); + + stimgen T1 ("T1", clk, result, in1, in2, ready); + +// Simulation Run Control + sc_start(); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/promote_add.f b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/promote_add.f new file mode 100644 index 000000000..b112684ee --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/promote_add.f @@ -0,0 +1,3 @@ +promote_add/datawidth.cpp +promote_add/stimgen.cpp +promote_add/main.cpp diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.cpp b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.cpp new file mode 100644 index 000000000..6c8c0a149 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.cpp @@ -0,0 +1,68 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /*****************************************/ + /* Implementation Filename: stimgen.cc */ + /*****************************************/ + +#include "stimgen.h" + +void +stimgen::entry() +{ + int i; + int j; + + ready.write(0); + + for (i = 0; i < 64; i++) { // integer in1 (6 bits of data) + for (j = 0; j < 64; j++) { // integer in2 (6 bits of data) + in1.write(i); + in2.write(j); + ready.write(1); + wait(); + + ready.write(0); + wait(); + + cout << in1.read().to_uint() << " + " << in2.read().to_uint() + << " = " << result.read().to_uint() << endl; + } + } + + sc_stop(); +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.h b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.h new file mode 100644 index 000000000..438f4df98 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/promote_add/stimgen.h @@ -0,0 +1,77 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stimgen.h -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + + /************************************/ + /* Interface Filename: stimgen.h */ + /************************************/ + +#include "common.h" + +SC_MODULE( stimgen ) +{ + SC_HAS_PROCESS( stimgen ); + + sc_in_clk clk; + + // Inputs + const sc_signal_bool_vector7& result; + // Outputs + sc_signal_bool_vector6& in1; + sc_signal_bool_vector6& in2; + sc_signal& ready; + + // Constructor + stimgen (sc_module_name NAME, + sc_clock& TICK, + const sc_signal_bool_vector7& RESULT, + sc_signal_bool_vector6& IN1, + sc_signal_bool_vector6& IN2, + sc_signal& READY ) + + : + result (RESULT), + in1 (IN1), + in2 (IN2), + ready (READY) + + { + clk (TICK); + SC_CTHREAD( entry, clk.pos() ); + } + + void entry(); +}; diff --git a/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/golden/test1.log b/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/golden/test1.log new file mode 100644 index 000000000..1c1b9a33d --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/golden/test1.log @@ -0,0 +1,45 @@ +SystemC Simulation +-34 +width = 7 +value = -34 +bits = 101 1110 +-34 +width = 7 +value = -34 +bits = 101 1110 +-17 +width = 7 +value = -17 +bits = 110 1111 +-9 +width = 7 +value = -9 +bits = 111 0111 +-5 +width = 7 +value = -5 +bits = 111 1011 +-3 +width = 7 +value = -3 +bits = 111 1101 +-17 +width = 7 +value = -17 +bits = 110 1111 +-9 +width = 7 +value = -9 +bits = 111 0111 +-5 +width = 7 +value = -5 +bits = 111 1011 +-3 +width = 7 +value = -3 +bits = 111 1101 +-2 +width = 7 +value = -2 +bits = 111 1110 diff --git a/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/test1.cpp b/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/test1.cpp new file mode 100644 index 000000000..d380f90ff --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/shift/test1/test1.cpp @@ -0,0 +1,61 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + test1.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int +sc_main(int argc, char* argv[]) +{ + sc_signed x(7); + + x = -34; + cout << x << endl; + x.dump(cout); + for (int i = 0; i < 5; ++i) { + sc_signed y(7); + y = x >> i; + cout << y << endl; + y.dump(cout); + } + for (int i = 0; i < 5; ++i) { + x = x >> 1; + cout << x << endl; + x.dump(cout); + } + sc_start(0, SC_NS); + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/golden/std_to_bool.log b/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/golden/std_to_bool.log new file mode 100644 index 000000000..1c5efd6e2 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/golden/std_to_bool.log @@ -0,0 +1,5 @@ +SystemC Simulation +100 + +Warning: (W207) sc_bv cannot contain values X and Z +In file: diff --git a/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/std_to_bool.cpp b/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/std_to_bool.cpp new file mode 100644 index 000000000..94783c09b --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/std_to_bool/std_to_bool.cpp @@ -0,0 +1,57 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + std_to_bool.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +/* Main file for bool_vector type simulation */ + +#include "systemc.h" + +int sc_main(int ac, char *av[]) +{ + sc_bv<3> a; + sc_lv<3> b; + + b[2] = '1'; + b[1] = '0'; + b[0] = '0'; + + a = b; + cout << a << endl; + // the following line causes error + b[1] = 'Z'; + a = b; + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/golden/std_ulogic_tilda.log b/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/golden/std_ulogic_tilda.log new file mode 100644 index 000000000..7108f5cec --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/golden/std_ulogic_tilda.log @@ -0,0 +1,7 @@ +SystemC Simulation + + a = 0 (!1) + b = 1 (!0) + c = 0 (~1) + d = 1 (~0) + e = 0 (~1) diff --git a/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/std_ulogic_tilda.cpp b/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/std_ulogic_tilda.cpp new file mode 100644 index 000000000..de21cb0dd --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/std_ulogic_tilda/std_ulogic_tilda.cpp @@ -0,0 +1,65 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + std_ulogic_tilda.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int sc_main(int ac, char *av[]) +{ + + sc_logic value1 = SC_LOGIC_1;//'1'; + sc_logic value0 = SC_LOGIC_0;//'0'; + + sc_logic a; + sc_logic b; + sc_logic c; + sc_logic d; + sc_logic e; + + a = !value1.to_bool(); + b = !value0.to_bool(); + c = ~value1; + d = ~value0; + e = ~sc_logic('1'); + + cout << "\n a = " << a << " (!1)" + << "\n b = " << b << " (!0)" + << "\n c = " << c << " (~1)" + << "\n d = " << d << " (~0)" + << "\n e = " << e << " (~1)" + << endl; + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/golden/stab1.log b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/golden/stab1.log new file mode 100644 index 000000000..36ff26d57 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/golden/stab1.log @@ -0,0 +1,1407 @@ +SystemC Simulation +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +4772331671447451864458176773180 +2089918658842683165477870926064461117931877987786519590800393365932343411570179165664204 +k = 0 +i = 0 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 1 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 2 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 3 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 4 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 5 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 6 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 7 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 8 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 9 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 10 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 11 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 12 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 13 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 14 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 15 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 16 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 17 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 18 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 19 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 20 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 21 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 22 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 23 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 24 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 25 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 26 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 27 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 28 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 29 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 30 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 31 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 32 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 33 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 34 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 35 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 36 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 37 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 38 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 39 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 40 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 41 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 42 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 43 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 44 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 45 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 46 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 47 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 48 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 49 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 50 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 51 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 52 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 53 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 54 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 55 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 56 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 57 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 58 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 59 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 60 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 61 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 62 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 63 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 64 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 65 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 66 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 67 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 68 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 69 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 70 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 71 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 72 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 73 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 74 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 75 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 76 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 77 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 78 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 79 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 80 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 81 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 82 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 83 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 84 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 85 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 86 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 87 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 88 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 89 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 90 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 91 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 92 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 93 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 94 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 95 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 96 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 97 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 98 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 99 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +k = 1 +k = 2 +k = 3 +k = 4 +k = 5 +k = 6 +k = 7 +k = 8 +k = 9 +k = 10 +k = 11 +k = 12 +k = 13 +k = 14 +k = 15 +k = 16 +k = 17 +k = 18 +k = 19 +k = 20 +k = 21 +k = 22 +k = 23 +k = 24 +k = 25 +k = 26 +k = 27 +k = 28 +k = 29 +k = 30 +k = 31 +k = 32 +k = 33 +k = 34 +k = 35 +k = 36 +k = 37 +k = 38 +k = 39 +k = 40 +k = 41 +k = 42 +k = 43 +k = 44 +k = 45 +k = 46 +k = 47 +k = 48 +k = 49 +k = 50 +k = 51 +k = 52 +k = 53 +k = 54 +k = 55 +k = 56 +k = 57 +k = 58 +k = 59 +k = 60 +k = 61 +k = 62 +k = 63 +k = 64 +k = 65 +k = 66 +k = 67 +k = 68 +k = 69 +k = 70 +k = 71 +k = 72 +k = 73 +k = 74 +k = 75 +k = 76 +k = 77 +k = 78 +k = 79 +k = 80 +k = 81 +k = 82 +k = 83 +k = 84 +k = 85 +k = 86 +k = 87 +k = 88 +k = 89 +k = 90 +k = 91 +k = 92 +k = 93 +k = 94 +k = 95 +k = 96 +k = 97 +k = 98 +k = 99 diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/stab1.cpp b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/stab1.cpp new file mode 100644 index 000000000..9894182f7 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab1/stab1.cpp @@ -0,0 +1,148 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stab1.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int +sc_main( int argc, char* argv[] ) +{ + int i; + sc_bv<325> x; + sc_lv<142> y; + + sc_signed z(103); + sc_unsigned w(291); + + for (i = 0; i < 325; ++i) { + x[i] = ((i & 1) ^ ((i >> 1) & 1)); + }; + for (i = 0; i < 325; ++i) { + sc_assert( x[i] == ((i & 1) ^ ((i >> 1) & 1)) ); + }; + for (i = 0; i < 142; ++i) { + y[i] = ((i & 1) ^ ((i >> 2) & 1)); + } + for (i = 0; i < 142; ++i) { + // sc_assert( y[i] == char((i & 1) ^ ((i >> 2) & 1)) ); + sc_assert( y[i] == ((i & 1) ^ ((i >> 2) & 1)) ); + } + for (i = 0; i < 103; ++i) { + z[i] = (((i >> 2) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 103; ++i) { + sc_assert( (bool) z[i] == (((i >> 2) & 1) ^ ((i >> 1) & 1)) ); + } + for (i = 0; i < 291; ++i) { + w[i] = (((i >> 3) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 291; ++i) { + sc_assert( (bool) w[i] == (((i >> 3) & 1) ^ ((i >> 1) & 1)) ); + } + + cout << x << endl; + cout << x.to_string() << endl; + cout << y << endl; + cout << y.to_string() << endl; + cout << z << endl; + cout << w << endl; + + for (int k = 0; k < 100; ++k) { + cerr << "k = " << k << endl; + + for (i = 0; i < 100; ++i) { + int j; + + if (k == 0) { + cout << "i = " << i << endl; + cout << x.range(i + 224, i) << endl; + cout << x.range(i + 224, i).to_string() << endl; + cout << y.range(i + 41, i) << endl; + cout << y.range(i + 41, i).to_string() << endl; + cout << sc_signed(z.range(i + 2, i)) << endl; + cout << sc_unsigned(w.range(i + 190, i)) << endl; + cout << x.range(i, i + 224) << endl; + cout << x.range(i, i + 224).to_string() << endl; + cout << y.range(i, i + 41) << endl; + cout << y.range(i, i + 41).to_string() << endl; + cout << sc_signed(z.range(i, i + 2)) << endl; + cout << sc_unsigned(w.range(i, i + 190)) << endl; + } else { + (void) x.range(i + 224, i); + (void) y.range(i + 41, i); + (void) sc_signed(z.range(i + 2, i)); + (void) sc_unsigned(w.range(i + 190, i)); + } + + sc_bv<225> foo; + sc_bv<225> foo1; + foo = x.range(i + 224, i); + foo1 = x.range(i, i + 224); + for (j = 0; j < 225; ++j) { + sc_assert( foo[j] == x[i + j] ); + sc_assert( foo1[224 - j] == x[i + j] ); + } + + sc_lv<42> bar; + sc_lv<42> bar1; + bar = y.range(i + 41, i); + bar1 = y.range(i, i + 41); + for (j = 0; j < 42; ++j) { + sc_assert( bar[j] == y[i + j] ); + sc_assert( bar1[41 - j] == y[i + j] ); + } + + sc_signed baz(3); + sc_signed baz1(3); + baz = z.range(i + 2, i); + baz1 = z.range(i, i + 2); + for (j = 0; j < 3; ++j) { + sc_assert( baz[j] == z[i + j] ); + sc_assert( baz1[2 - j] == z[i + j] ); + } + + sc_unsigned quux(191); + sc_unsigned quux1(191); + quux = w.range(i + 190, i); + quux1 = w.range(i, i + 190); + for (j = 0; j < 191; ++j) { + sc_assert( quux[j] == w[i + j] ); + sc_assert( quux1[190 - j] == w[i + j] ); + } + } + } + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/golden/stab2.log b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/golden/stab2.log new file mode 100644 index 000000000..c9fa8e878 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/golden/stab2.log @@ -0,0 +1,1317 @@ +SystemC Simulation +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +4772331671447451864458176773180 +2089918658842683165477870926064461117931877987786519590800393365932343411570179165664204 +k = 0 +i = 0 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 1 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 2 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 3 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 4 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 5 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 6 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 7 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 8 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 9 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 10 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 11 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 12 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 13 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 14 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 15 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 16 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 17 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 18 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 19 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 20 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 21 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 22 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 23 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 24 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 25 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 26 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 27 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 28 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 29 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 30 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 31 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 32 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 33 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 34 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 35 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 36 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 37 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 38 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 39 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 40 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 41 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 42 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 43 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 44 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 45 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 46 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 47 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 48 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 49 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 50 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 51 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 52 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 53 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 54 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 55 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 56 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 57 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 58 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 59 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 60 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 61 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 62 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 63 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 64 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 65 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 66 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 67 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 68 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 69 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 70 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 71 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 72 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 73 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 74 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 75 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 76 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 77 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 78 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 79 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 80 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 81 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 82 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 83 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +i = 84 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +i = 85 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +i = 86 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +i = 87 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +i = 88 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +i = 89 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +i = 90 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +i = 91 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +i = 92 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +i = 93 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +i = 94 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +i = 95 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +i = 96 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +i = 97 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +i = 98 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +i = 99 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +k = 1 +k = 2 +k = 3 +k = 4 +k = 5 +k = 6 +k = 7 +k = 8 +k = 9 diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/stab2.cpp b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/stab2.cpp new file mode 100644 index 000000000..487410140 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab2/stab2.cpp @@ -0,0 +1,172 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stab2.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int +sc_main( int argc, char* argv[] ) +{ + int i; + sc_bv<325> x; + sc_lv<142> y; + + sc_signed z(103); + sc_unsigned w(291); + + for (i = 0; i < 325; ++i) { + x[i] = ((i & 1) ^ ((i >> 1) & 1)); + }; + for (i = 0; i < 325; ++i) { + sc_assert( x[i] == ((i & 1) ^ ((i >> 1) & 1)) ); + }; + for (i = 0; i < 142; ++i) { + y[i] = ((i & 1) ^ ((i >> 2) & 1)); + } + for (i = 0; i < 142; ++i) { + // sc_assert( y[i] == char((i & 1) ^ ((i >> 2) & 1)) ); + sc_assert( y[i] == ((i & 1) ^ ((i >> 2) & 1)) ); + } + for (i = 0; i < 103; ++i) { + z[i] = (((i >> 2) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 103; ++i) { + sc_assert( (bool) z[i] == (((i >> 2) & 1) ^ ((i >> 1) & 1)) ); + } + for (i = 0; i < 291; ++i) { + w[i] = (((i >> 3) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 291; ++i) { + sc_assert( (bool) w[i] == (((i >> 3) & 1) ^ ((i >> 1) & 1)) ); + } + + cout << x << endl; + cout << x.to_string() << endl; + cout << y << endl; + cout << y.to_string() << endl; + cout << z << endl; + cout << w << endl; + + for (int k = 0; k < 10; ++k) { + cerr << "k = " << k << endl; + + for (i = 0; i < 100; ++i) { + int j; + + if (k == 0) { + cout << "i = " << i << endl; + cout << x.range(i + 224, i) << endl; + cout << x.range(i + 224, i).to_string() << endl; + cout << y.range(i + 41, i) << endl; + cout << y.range(i + 41, i).to_string() << endl; + cout << sc_signed(z.range(i + 2, i)) << endl; + cout << sc_unsigned(w.range(i + 190, i)) << endl; + cout << x.range(i, i + 224) << endl; + cout << x.range(i, i + 224).to_string() << endl; + cout << y.range(i, i + 41) << endl; + cout << y.range(i, i + 41).to_string() << endl; + cout << sc_signed(z.range(i, i + 2)) << endl; + cout << sc_unsigned(w.range(i, i + 190)) << endl; + } else { + (void) x.range(i + 224, i); + (void) y.range(i + 41, i); + (void) sc_signed(z.range(i + 2, i)); + (void) sc_unsigned(w.range(i + 190, i)); + } + + sc_bv<225> foo; + sc_bv<225> foo1; + sc_bv<450> foo2; + foo = x.range(i + 224, i); + foo1 = x.range(i, i + 224); + foo2 = (foo1, foo); + for (j = 0; j < 225; ++j) { + sc_assert( foo[j] == x[i + j] ); + sc_assert( foo1[224 - j] == x[i + j] ); + sc_assert( foo2.range(449,225) == foo1 ); + sc_assert( foo2.range(224,0) == foo ); + } + // (foo, foo1) = (foo1, foo); + (foo, foo1) = foo2; + for (j = 0; j < 225; ++j) { + sc_assert( foo1[j] == x[i + j] ); + sc_assert( foo[224 - j] == x[i + j] ); + sc_assert( foo2.range(449,225) == foo ); + sc_assert( foo2.range(224,0) == foo1 ); + } + + sc_lv<42> bar; + sc_lv<42> bar1; + sc_lv<84> bar2; + bar = y.range(i + 41, i); + bar1 = y.range(i, i + 41); + bar2 = (bar1, bar); + for (j = 0; j < 42; ++j) { + sc_assert( bar[j] == y[i + j] ); + sc_assert( bar1[41 - j] == y[i + j] ); + sc_assert( bar2.range(83,42) == bar1 ); + sc_assert( bar2.range(41,0) == bar ); + } + // (bar, bar1) = (bar1, bar); + (bar, bar1) = bar2; + for (j = 0; j < 42; ++j) { + sc_assert( bar1[j] == y[i + j] ); + sc_assert( bar[41 - j] == y[i + j] ); + sc_assert( bar2.range(83,42) == bar ); + sc_assert( bar2.range(41,0) == bar1 ); + } + + sc_signed baz(3); + sc_signed baz1(3); + baz = z.range(i + 2, i); + baz1 = z.range(i, i + 2); + for (j = 0; j < 3; ++j) { + sc_assert( baz[j] == z[i + j] ); + sc_assert( baz1[2 - j] == z[i + j] ); + } + + sc_unsigned quux(191); + sc_unsigned quux1(191); + quux = w.range(i + 190, i); + quux1 = w.range(i, i + 190); + for (j = 0; j < 191; ++j) { + sc_assert( quux[j] == w[i + j] ); + sc_assert( quux1[190 - j] == w[i + j] ); + } + } + } + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/golden/stab3.log b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/golden/stab3.log new file mode 100644 index 000000000..663602c05 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/golden/stab3.log @@ -0,0 +1,1717 @@ +SystemC Simulation +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +0110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010010110100101101001011010 +4772331671447451864458176773180 +2089918658842683165477870926064461117931877987786519590800393365932343411570179165664204 +k = 0 +i = 0 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 1 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 2 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 3 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 4 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 5 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 6 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 7 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 8 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 9 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 10 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 11 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 12 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 13 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 14 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 15 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 16 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 17 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 18 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 19 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 20 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 21 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 22 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 23 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 24 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 25 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 26 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 27 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 28 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 29 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 30 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 31 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 32 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 33 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 34 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 35 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 36 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 37 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 38 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 39 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 40 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 41 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 42 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 43 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 44 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 45 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 46 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 47 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 48 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 49 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 50 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 51 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 52 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 53 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 54 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 55 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 56 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 57 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 58 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 59 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 60 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 61 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 62 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 63 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 64 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 65 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 66 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 67 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 68 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 69 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 70 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 71 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 72 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 73 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 74 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 75 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 76 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 77 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 78 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 79 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 80 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 81 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 82 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 83 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 84 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1648655125052921990501617844616799545085248998059619959612 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +744947871320209195708138433493516831482964362086198648417 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 85 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +2393602996373131186209756278110316376568213360145818608030 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1489895742640418391416276866987033662965928724172397296835 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 86 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1196801498186565593104878139055158188284106680072909304015 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +2979791485280836782832553733974067325931857448344794593670 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 87 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +598400749093282796552439069527579094142053340036454652007 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2821032102868333183747212756344301443812537174457571930892 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 88 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1868475808393311589235166890565706151096615531134235954227 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +2503513338043325985576530801084769679573896626683126605337 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 89 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +2503513338043325985576530801084769679573896626683126605337 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1868475808393311589235166890565706151096615531134235954227 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 90 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +2821032102868333183747212756344301443812537174457571930892 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +598400749093282796552439069527579094142053340036454652007 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 91 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +2979791485280836782832553733974067325931857448344794593670 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1196801498186565593104878139055158188284106680072909304015 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +i = 92 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +3 +1489895742640418391416276866987033662965928724172397296835 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-2 +2393602996373131186209756278110316376568213360145818608030 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +01101001011010010110100101101001011010010100111 +11110101001011010010110100101101001011010010110 +i = 93 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +1 +744947871320209195708138433493516831482964362086198648417 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-4 +1648655125052921990501617844616799545085248998059619959612 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +10110100101101001011010010110100101101001000111 +11110010010110100101101001011010010110100101101 +i = 94 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +0 +1941749369506774788813016572548675019767071042159107952432 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +0 +158759382412503599085340977629765882119320273887222662777 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +01011010010110100101101001011010010110100100111 +11110100101101001011010010110100101101001011010 +i = 95 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +2540150118600057585365455642076254113909124382195562604440 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001011010010110100101101001011010010110100 +001011010010110100101101001011010010110100 +0 +317518764825007198170681955259531764238640547774445325555 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +00101101001011010010110100101101001011010000111 +11110001011010010110100101101001011010010110100 +i = 96 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +100101101001011010010110100101101001011010 +100101101001011010010110100101101001011010 +-4 +1270075059300028792682727821038127056954562191097781302220 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +010110100101101001011010010110100101101001 +010110100101101001011010010110100101101001 +1 +635037529650014396341363910519063528477281095548890651110 +00110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011000111 +11110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +10010110100101101001011010010110100101101000111 +11110010110100101101001011010010110100101101001 +i = 97 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +010010110100101101001011010010110100101101 +010010110100101101001011010010110100101101 +-2 +635037529650014396341363910519063528477281095548890651110 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101101001011010010110100101101001011010010 +101101001011010010110100101101001011010010 +3 +1270075059300028792682727821038127056954562191097781302220 +10011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100111 +11110110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +01001011010010110100101101001011010010110100111 +11110101101001011010010110100101101001011010010 +i = 98 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001 +101001011010010110100101101001011010010110 +101001011010010110100101101001011010010110 +-1 +317518764825007198170681955259531764238640547774445325555 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +011010010110100101101001011010010110100101 +011010010110100101101001011010010110100101 +-1 +2540150118600057585365455642076254113909124382195562604440 +11001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100100111 +11110100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011 +10100101101001011010010110100101101001011000111 +11110011010010110100101101001011010010110100101 +i = 99 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +158759382412503599085340977629765882119320273887222662777 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +110100101101001011010010110100101101001011 +110100101101001011010010110100101101001011 +-1 +1941749369506774788813016572548675019767071042159107952432 +01100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110000111 +11110001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110011001100110 +11010010110100101101001011010010110100101100111 +11110110100101101001011010010110100101101001011 +k = 1 +k = 2 +k = 3 +k = 4 +k = 5 +k = 6 +k = 7 +k = 8 +k = 9 diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/stab3.cpp b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/stab3.cpp new file mode 100644 index 000000000..bc3afd550 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/stab3/stab3.cpp @@ -0,0 +1,223 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + stab3.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +int +sc_main( int argc, char* argv[] ) +{ + int i; + sc_bv<325> x; + sc_lv<142> y; + + sc_signed z(103); + sc_unsigned w(291); + + for (i = 0; i < 325; ++i) { + x[i] = ((i & 1) ^ ((i >> 1) & 1)); + }; + for (i = 0; i < 325; ++i) { + sc_assert( x[i] == ((i & 1) ^ ((i >> 1) & 1)) ); + }; + for (i = 0; i < 142; ++i) { + y[i] = ((i & 1) ^ ((i >> 2) & 1)); + } + for (i = 0; i < 142; ++i) { + // sc_assert( y[i] == char((i & 1) ^ ((i >> 2) & 1)) ); + sc_assert( y[i] == ((i & 1) ^ ((i >> 2) & 1)) ); + } + for (i = 0; i < 103; ++i) { + z[i] = (((i >> 2) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 103; ++i) { + sc_assert( (bool) z[i] == (((i >> 2) & 1) ^ ((i >> 1) & 1)) ); + } + for (i = 0; i < 291; ++i) { + w[i] = (((i >> 3) & 1) ^ ((i >> 1) & 1)); + } + for (i = 0; i < 291; ++i) { + sc_assert( (bool) (w[i] == (((i >> 3) & 1) ^ ((i >> 1) & 1))) ); + } + + cout << x << endl; + cout << x.to_string() << endl; + cout << y << endl; + cout << y.to_string() << endl; + cout << z << endl; + cout << w << endl; + + for (int k = 0; k < 10; ++k) { + cerr << "k = " << k << endl; + + for (i = 0; i < 100; ++i) { + int j; + + if (k == 0) { + cout << "i = " << i << endl; + cout << x.range(i + 224, i) << endl; + cout << x.range(i + 224, i).to_string() << endl; + cout << y.range(i + 41, i) << endl; + cout << y.range(i + 41, i).to_string() << endl; + cout << sc_signed(z.range(i + 2, i)) << endl; + cout << sc_unsigned(w.range(i + 190, i)) << endl; + cout << x.range(i, i + 224) << endl; + cout << x.range(i, i + 224).to_string() << endl; + cout << y.range(i, i + 41) << endl; + cout << y.range(i, i + 41).to_string() << endl; + cout << sc_signed(z.range(i, i + 2)) << endl; + cout << sc_unsigned(w.range(i, i + 190)) << endl; + } else { + (void) x.range(i + 224, i); + (void) y.range(i + 41, i); + (void) sc_signed(z.range(i + 2, i)); + (void) sc_unsigned(w.range(i + 190, i)); + } + + sc_bv<225> foo; + sc_bv<225> foo1; + sc_bv<450> foo2; + foo = x.range(i + 224, i); + foo1 = x.range(i, i + 224); + foo2 = (foo1, foo); + for (j = 0; j < 225; ++j) { + sc_assert( foo[j] == x[i + j] ); + sc_assert( foo1[224 - j] == x[i + j] ); + sc_assert( foo2.range(449,225) == foo1 ); + sc_assert( foo2.range(224,0) == foo ); + } + // (foo, foo1) = (foo1, foo); + (foo, foo1) = foo2; + for (j = 0; j < 225; ++j) { + sc_assert( foo1[j] == x[i + j] ); + sc_assert( foo[224 - j] == x[i + j] ); + sc_assert( foo2.range(449,225) == foo ); + sc_assert( foo2.range(224,0) == foo1 ); + } + + sc_bv<230> foo3; + foo3 = (foo1, "01101"); + sc_assert( foo3.range(4,0) == "01101" ); + foo3.range(3,1) = "011"; + sc_assert( foo3.range(4,0) == "00111" ); + for (j = 0; j < 225; ++j) { + sc_assert(foo3[j + 5] == foo1[j]); + } + if (k == 0) { + cout << foo3 << endl; + } + foo3 = ("10100", foo); + sc_assert( foo3.range(229,225) == "10100" ); + foo3.range(228,226) = "111"; + sc_assert( foo3.range(229,225) == "11110" ); + for (j = 0; j < 225; ++j) { + sc_assert(foo3[j] == foo[j]); + } + if (k == 0) { + cout << foo3 << endl; + } + foo3 = ("110", foo3.range(229,5), "01"); + sc_assert( foo3.range(229,227) == "110" ); + sc_assert( foo3.range(1,0) == "01" ); + + sc_lv<42> bar; + sc_lv<42> bar1; + sc_lv<84> bar2; + bar = y.range(i + 41, i); + bar1 = y.range(i, i + 41); + bar2 = (bar1, bar); + for (j = 0; j < 42; ++j) { + sc_assert( bar[j] == y[i + j] ); + sc_assert( bar1[41 - j] == y[i + j] ); + sc_assert( bar2.range(83,42) == bar1 ); + sc_assert( bar2.range(41,0) == bar ); + } + // (bar, bar1) = (bar1, bar); + (bar, bar1) = bar2; + for (j = 0; j < 42; ++j) { + sc_assert( bar1[j] == y[i + j] ); + sc_assert( bar[41 - j] == y[i + j] ); + sc_assert( bar2.range(83,42) == bar ); + sc_assert( bar2.range(41,0) == bar1 ); + } + + sc_bv<47> bar3; + bar3 = (bar1, "01101"); + sc_assert( bar3.range(4,0) == "01101" ); + bar3.range(3,1) = "011"; + sc_assert( bar3.range(4,0) == "00111" ); + for (j = 0; j < 42; ++j) { + sc_assert(bar3[j + 5] == bar1[j]); + } + if (k == 0) { + cout << bar3 << endl; + } + bar3 = ("10100", bar); + sc_assert( bar3.range(46,42) == "10100" ); + bar3.range(45,43) = "111"; + sc_assert( bar3.range(46,42) == "11110" ); + for (j = 0; j < 42; ++j) { + sc_assert(bar3[j] == bar[j]); + } + if (k == 0) { + cout << bar3 << endl; + } + bar3 = ("101", bar3.range(46,5), "10"); + sc_assert( bar3.range(46,44) == "101" ); + sc_assert( bar3.range(1,0) == "10" ); + + + sc_signed baz(3); + sc_signed baz1(3); + baz = z.range(i + 2, i); + baz1 = z.range(i, i + 2); + for (j = 0; j < 3; ++j) { + sc_assert( baz[j] == z[i + j] ); + sc_assert( baz1[2 - j] == z[i + j] ); + } + + sc_unsigned quux(191); + sc_unsigned quux1(191); + quux = w.range(i + 190, i); + quux1 = w.range(i, i + 190); + for (j = 0; j < 191; ++j) { + sc_assert( quux[j] == w[i + j] ); + sc_assert( quux1[190 - j] == w[i + j] ); + } + } + } + return 0; +} diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/golden/test1.log b/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/golden/test1.log new file mode 100644 index 000000000..f13d52825 --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/golden/test1.log @@ -0,0 +1,63 @@ +SystemC Simulation +b1.range(5,2) ... +x[3] = 1 +x[2] = 1 +x[1] = 0 +x[0] = 1 +b2.range(4,1) ... +x[3] = 1 +x[2] = 0 +x[1] = 0 +x[0] = 1 +b3.range(6,3) ... +x[3] = 1 +x[2] = 0 +x[1] = 1 +x[0] = 1 +b1 = 0010110101 +b2 = 10010011 +b3 = 1011011 +u1 = 235 +u2 = 67 +u3 = 44 +s1 = -235 +s2 = -32 +s3 = -1 +b1.range(3,0) = 0101 +b1.range(0,3) = 1010 +b2.range(4,1) = 1001 +b2.range(1,4) = 1001 +b3.range(5,3) = 011 +b3.range(3,5) = 110 +u1.range(3,0) = 11 +u1.range(0,3) = 13 +u2.range(4,1) = 1 +u2.range(1,4) = 8 +u3.range(5,3) = 5 +u3.range(3,5) = 5 +u3.range(6,3) = 5 +u3 = 44 +s1.range(3,0) = 5 +s1.range(0,3) = -6 +s2.range(4,1) = 0 +s2.range(1,4) = 0 +s3.range(5,3) = -1 +s3.range(3,5) = -1 +s3.range(6,3) = -1 +s3 = -1 +u1.range(3,0) = 5 +u1.range(0,3) = 10 +u2.range(4,1) = 9 +u2.range(1,4) = 9 +u3.range(5,3) = 3 +u3.range(3,5) = 6 +u3.range(6,3) = 11 +u3 = 91 +s1.range(3,0) = 5 +s1.range(0,3) = -6 +s2.range(4,1) = -7 +s2.range(1,4) = -7 +s3.range(5,3) = 3 +s3.range(3,5) = -2 +s3.range(6,3) = -5 +s3 = -37 diff --git a/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/test1.cpp b/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/test1.cpp new file mode 100644 index 000000000..0b90993ef --- /dev/null +++ b/src/systemc/tests/systemc/misc/unit/data/general/subvector/test1/test1.cpp @@ -0,0 +1,147 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + test1.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +#include "systemc.h" + +void +one_to_four( const sc_bv<4>& x ) +{ + cout << "x[3] = " << x[3] << endl; + cout << "x[2] = " << x[2] << endl; + cout << "x[1] = " << x[1] << endl; + cout << "x[0] = " << x[0] << endl; +} + +int +sc_main( int argc, char* argv[] ) +{ + sc_bv<10> b1; + sc_bv<8> b2; + sc_bv<7> b3; + + sc_biguint<10> u1; + sc_biguint<8> u2; + sc_biguint<7> u3; + + sc_bigint<10> s1; + sc_bigint<8> s2; + sc_bigint<7> s3; + + b1 = "0010110101"; + b2 = "10010011"; + b3 = "1011011"; + + cout << "b1.range(5,2) ... " << endl; + one_to_four(b1.range(5,2)); + cout << "b2.range(4,1) ... " << endl; + one_to_four(b2.range(4,1)); + cout << "b3.range(6,3) ... " << endl; + one_to_four(b3.range(6,3)); + + u1 = 235; + u2 = 67; + u3 = 44; + + s1 = -235; + s2 = -32; + s3 = -1; + + cout << "b1 = " << b1 << endl; + cout << "b2 = " << b2 << endl; + cout << "b3 = " << b3 << endl; + + cout << "u1 = " << u1 << endl; + cout << "u2 = " << u2 << endl; + cout << "u3 = " << u3 << endl; + + cout << "s1 = " << s1 << endl; + cout << "s2 = " << s2 << endl; + cout << "s3 = " << s3 << endl; + + cout << "b1.range(3,0) = " << b1.range(3,0) << endl; + cout << "b1.range(0,3) = " << b1.range(0,3) << endl; + cout << "b2.range(4,1) = " << b2.range(4,1) << endl; + cout << "b2.range(1,4) = " << b2.range(1,4) << endl; + cout << "b3.range(5,3) = " << b3.range(5,3) << endl; + cout << "b3.range(3,5) = " << b3.range(3,5) << endl; + + cout << "u1.range(3,0) = " << sc_unsigned(u1.range(3,0)) << endl; + cout << "u1.range(0,3) = " << sc_unsigned(u1.range(0,3)) << endl; + cout << "u2.range(4,1) = " << sc_unsigned(u2.range(4,1)) << endl; + cout << "u2.range(1,4) = " << sc_unsigned(u2.range(1,4)) << endl; + cout << "u3.range(5,3) = " << sc_unsigned(u3.range(5,3)) << endl; + cout << "u3.range(3,5) = " << sc_unsigned(u3.range(3,5)) << endl; + cout << "u3.range(6,3) = " << sc_unsigned(u3.range(6,3)) << endl; + cout << "u3 = " << u3 << endl; + + cout << "s1.range(3,0) = " << sc_signed(s1.range(3,0)) << endl; + cout << "s1.range(0,3) = " << sc_signed(s1.range(0,3)) << endl; + cout << "s2.range(4,1) = " << sc_signed(s2.range(4,1)) << endl; + cout << "s2.range(1,4) = " << sc_signed(s2.range(1,4)) << endl; + cout << "s3.range(5,3) = " << sc_signed(s3.range(5,3)) << endl; + cout << "s3.range(3,5) = " << sc_signed(s3.range(3,5)) << endl; + cout << "s3.range(6,3) = " << sc_signed(s3.range(6,3)) << endl; + cout << "s3 = " << s3 << endl; + + u1 = b1; + u2 = b2; + u3 = b3; + + s1 = b1; + s2 = b2; + s3 = b3; + + cout << "u1.range(3,0) = " << sc_unsigned(u1.range(3,0)) << endl; + cout << "u1.range(0,3) = " << sc_unsigned(u1.range(0,3)) << endl; + cout << "u2.range(4,1) = " << sc_unsigned(u2.range(4,1)) << endl; + cout << "u2.range(1,4) = " << sc_unsigned(u2.range(1,4)) << endl; + cout << "u3.range(5,3) = " << sc_unsigned(u3.range(5,3)) << endl; + cout << "u3.range(3,5) = " << sc_unsigned(u3.range(3,5)) << endl; + cout << "u3.range(6,3) = " << sc_unsigned(u3.range(6,3)) << endl; + cout << "u3 = " << u3 << endl; + + cout << "s1.range(3,0) = " << sc_signed(s1.range(3,0)) << endl; + cout << "s1.range(0,3) = " << sc_signed(s1.range(0,3)) << endl; + cout << "s2.range(4,1) = " << sc_signed(s2.range(4,1)) << endl; + cout << "s2.range(1,4) = " << sc_signed(s2.range(1,4)) << endl; + cout << "s3.range(5,3) = " << sc_signed(s3.range(5,3)) << endl; + cout << "s3.range(3,5) = " << sc_signed(s3.range(3,5)) << endl; + cout << "s3.range(6,3) = " << sc_signed(s3.range(6,3)) << endl; + cout << "s3 = " << s3 << endl; + + return 0; +} -- cgit v1.2.3