summaryrefslogtreecommitdiff
path: root/cesar/ce/rx
diff options
context:
space:
mode:
authorJérémy Dufour2011-09-28 11:35:40 +0200
committerJérémy Dufour2012-09-12 16:20:37 +0200
commitb04009c60e3f974e7a118988a8599dfb2082c081 (patch)
tree7a6fb4577f677a0c8b2c3176ad94bd29257b8548 /cesar/ce/rx
parent21d1380c0be7abb80510ea886bfd212094a9e5c5 (diff)
cesar/ce/rx/bl: add BER margin update, refs #2376
Diffstat (limited to 'cesar/ce/rx')
-rw-r--r--cesar/ce/rx/bitloading/Module2
-rw-r--r--cesar/ce/rx/bitloading/ber_margin_update.h112
-rw-r--r--cesar/ce/rx/bitloading/inc/ber_margin_update.h72
-rw-r--r--cesar/ce/rx/bitloading/src/ber_margin_update.c101
-rw-r--r--cesar/ce/rx/bitloading/test/common-define.mk14
-rw-r--r--cesar/ce/rx/bitloading/test/common-rule.mk3
-rw-r--r--cesar/ce/rx/bitloading/test/data/ber_margin_update.data2200
-rw-r--r--cesar/ce/rx/bitloading/test/fsm-Makefile2
-rw-r--r--cesar/ce/rx/bitloading/test/host-Makefile6
-rwxr-xr-xcesar/ce/rx/bitloading/test/src/data2c.pl7
-rw-r--r--cesar/ce/rx/bitloading/test/src/test_ber_margin_update.c141
-rw-r--r--cesar/ce/rx/inc/trace.h1
-rw-r--r--cesar/ce/rx/src/trace.c13
13 files changed, 2668 insertions, 6 deletions
diff --git a/cesar/ce/rx/bitloading/Module b/cesar/ce/rx/bitloading/Module
index c5b6fba0e6..1a333db190 100644
--- a/cesar/ce/rx/bitloading/Module
+++ b/cesar/ce/rx/bitloading/Module
@@ -1,3 +1,3 @@
SOURCES := nsr.c ber.c transition.c initial.c common.c bitloading.c \
- intervals.c pber.c
+ intervals.c pber.c ber_margin_update.c
MODULES := common/defs/mmtypes
diff --git a/cesar/ce/rx/bitloading/ber_margin_update.h b/cesar/ce/rx/bitloading/ber_margin_update.h
new file mode 100644
index 0000000000..713c016045
--- /dev/null
+++ b/cesar/ce/rx/bitloading/ber_margin_update.h
@@ -0,0 +1,112 @@
+#ifndef ce_rx_bitloading_ber_margin_update_h
+#define ce_rx_bitloading_ber_margin_update_h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2011 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file ce/rx/bitloading/ber_margin_update.h
+ * \brief BER margin update functions
+ * \ingroup ce_rx
+ *
+ * When channel looks stable, try to adapt BER target of the input BL
+ * algorithm from the current PB error rate mean.
+ */
+
+#include "hal/phy/defs.h"
+#include "ce/rx/forward.h"
+
+/**
+ * The BER margin update context.
+ */
+typedef struct ce_rx_bl_bmu_t
+{
+ /**
+ * Current BER margin, one for each FEC rate.
+ */
+ s64 ber_margin[PHY_FEC_RATE_NB];
+ /**
+ * Current BER margin frame counter.
+ */
+ uint frame_counter;
+} ce_rx_bl_bmu_t;
+
+BEGIN_DECLS
+
+/**
+ * Reset BMU frame counter.
+ * \param bmu BER margin update context
+ *
+ * This function must be call after a bit loading, to reset the BMU frame
+ * counter.
+ */
+extern inline void
+ce_rx_bl_bmu_reset_frame_counter (ce_rx_bl_bmu_t *bmu)
+{
+ dbg_assert (bmu);
+
+ bmu->frame_counter = 0;
+}
+
+/**
+ * Reset BER margins.
+ * \param bmu BER margin update context
+ *
+ * This function is used to reset and initialize BER margins. It does not
+ * reset the frame counter. You need to call this function at initialization
+ * and when the CE is about to restart for a something different than BMU.
+ */
+extern inline void
+ce_rx_bl_bmu_reset (ce_rx_bl_bmu_t *bmu)
+{
+ dbg_assert (bmu);
+
+ uint i;
+ for (i = 0; i < PHY_FEC_RATE_NB; i++)
+ bmu->ber_margin[i] = 0ll;
+ ce_rx_bl_bmu_reset_frame_counter (bmu);
+}
+
+/**
+ * Increase BMU frame counter.
+ * \param bmu BER margin update context
+ *
+ * This function must be call for every frame received which are not for other
+ * component (BER too low or PBER too high for example).
+ */
+void
+ce_rx_bl_bmu_new_frame (ce_rx_bl_bmu_t *bmu);
+
+/**
+ * Apply a margin to BER.
+ * \param bmu BER margin update context
+ * \param ber BER to which we should apply margin
+ * \param fecrate FEC rate
+ * \return BER with margin applied
+ *
+ * This function apply a margin to BER target.
+ * In fact, it just does ber - ber_margin.
+ */
+u64
+ce_rx_bl_bmu_apply_margin (ce_rx_bl_bmu_t *bmu, s64 ber,
+ phy_fecrate_t fecrate);
+
+/**
+ * Try to do a BMU.
+ * \param ce_rx the CE RX context
+ * \param bmu BER margin update context
+ * \param pber PBER sliding mean
+ * \param ber BER target of the current tone map
+ * \param fecrate FEC rate of the current tone map
+ * \return true if a BMU has been done, false otherwise
+ */
+bool
+ce_rx_bl_bmu_run (ce_rx_t *ce_rx, ce_rx_bl_bmu_t *bmu, u32 pber, u64 ber,
+ phy_fecrate_t fecrate);
+
+END_DECLS
+
+#endif /* ce_rx_bitloading_ber_margin_update_h */
diff --git a/cesar/ce/rx/bitloading/inc/ber_margin_update.h b/cesar/ce/rx/bitloading/inc/ber_margin_update.h
new file mode 100644
index 0000000000..1121358f27
--- /dev/null
+++ b/cesar/ce/rx/bitloading/inc/ber_margin_update.h
@@ -0,0 +1,72 @@
+#ifndef ce_rx_bitloading_inc_ber_margin_update_h
+#define ce_rx_bitloading_inc_ber_margin_update_h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2011 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file ce/rx/bitloading/inc/ber_margin_update.h
+ * \brief Functions related to BER margin update
+ * \ingroup ce_rx
+ */
+
+#include "hal/phy/defs.h"
+
+/**
+ * Minimum/lower and maximum/upper bound.
+ */
+typedef enum ce_rx_bl_bmu_bound_t
+{
+ CE_RX_BL_BMU_MIN,
+ CE_RX_BL_BMU_MAX,
+ CE_RX_BL_BMU_NB,
+} ce_rx_bl_bmu_bound_t;
+
+/**
+ * Number of polynomial for BMU.
+ */
+typedef enum ce_rx_bl_bmu_poly_t
+{
+ CE_RX_BL_BMU_POLY_PLUS,
+ CE_RX_BL_BMU_POLY_MINUS,
+ CE_RX_BL_BMU_POLY_NB,
+ CE_RX_BL_BMU_POLY_NONE,
+} ce_rx_bl_bmu_poly_t;
+
+/**
+ * Maximum degrees supported by the polynomials.
+ */
+#define CE_RX_BL_BMU_POLY_DEG_MAX 2
+
+/**
+ * Configuration of the BER margin update.
+ */
+typedef struct ce_rx_bl_bmu_conf_t
+{
+ /**
+ * Limits of the PBER tunnel.
+ */
+ uint pber_limit[CE_RX_BL_BMU_NB];
+ /**
+ * Polynomials of the BMU.
+ */
+ s64 poly[CE_RX_BL_BMU_POLY_NB][CE_RX_BL_BMU_POLY_DEG_MAX];
+ /**
+ * FEC rate factors to apply for each FEC rate.
+ */
+ uint fec_rate_factors[PHY_FEC_RATE_NB];
+ /**
+ * Minimum number of frame to consider before allowing BMU.
+ */
+ uint frame_count_min;
+} ce_rx_bl_bmu_conf_t;
+
+/**
+ * The configuration of the BER margin update.
+ */
+extern ce_rx_bl_bmu_conf_t ce_rx_bl_bmu_conf;
+
+#endif /* inc_ber_margin_update_h */
diff --git a/cesar/ce/rx/bitloading/src/ber_margin_update.c b/cesar/ce/rx/bitloading/src/ber_margin_update.c
new file mode 100644
index 0000000000..28cbc9777d
--- /dev/null
+++ b/cesar/ce/rx/bitloading/src/ber_margin_update.c
@@ -0,0 +1,101 @@
+/* Cesar project {{{
+ *
+ * Copyright (C) 2011 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file ce/rx/bitloading/src/ber_margin_update.c
+ * \brief Functions related to BER margin update.
+ * \ingroup ce_rx
+ */
+#include "common/std.h"
+#include "ce/rx/bitloading/bitloading.h"
+#include "ce/rx/bitloading/inc/poly.h"
+#include "ce/rx/bitloading/inc/ber_margin_update.h"
+#include "ce/rx/bitloading/ber_margin_update.h"
+#include "ce/rx/bitloading/inc/ber.h"
+#include "ce/rx/inc/trace.h"
+
+/* Default configuration. */
+ce_rx_bl_bmu_conf_t ce_rx_bl_bmu_conf =
+{
+ .pber_limit = { 642, 3300 },
+ .poly =
+ {
+ /* Plus. */
+ { 1374389535ll, -4503874506616ll },
+ /* Minus. */
+ { 34378623109ll, -22547998136852ll },
+ },
+ .fec_rate_factors = { 3, 1 },
+ .frame_count_min = 150,
+};
+
+void
+ce_rx_bl_bmu_new_frame (ce_rx_bl_bmu_t *bmu)
+{
+ dbg_assert (bmu);
+
+ /* Only increase if not at max. */
+ if (bmu->frame_counter != (typeof (bmu->frame_counter)) (-1))
+ bmu->frame_counter++;
+}
+
+u64
+ce_rx_bl_bmu_apply_margin (ce_rx_bl_bmu_t *bmu, s64 ber,
+ phy_fecrate_t fecrate)
+{
+ dbg_assert (bmu);
+ dbg_assert (ber <= CE_RX_BL_BER_DEFAULT_OVER);
+
+ s64 tmp = ber - bmu->ber_margin[fecrate];
+
+ return MAX (tmp, 0ll);
+}
+
+bool
+ce_rx_bl_bmu_run (ce_rx_t *ce_rx, ce_rx_bl_bmu_t *bmu, u32 pber, u64 ber,
+ phy_fecrate_t fecrate)
+{
+ dbg_assert (bmu);
+ dbg_assert (ber <= CE_RX_BL_BER_DEFAULT_OVER);
+
+ /* Get config. */
+ ce_rx_bl_bmu_conf_t *conf = &ce_rx_bl_bmu_conf;
+
+ /* If too soon. */
+ if (bmu->frame_counter < conf->frame_count_min)
+ return false;
+
+ ce_rx_bl_bmu_poly_t poly = CE_RX_BL_BMU_POLY_NONE;
+
+ /* If under tunnel and not at limit. */
+ if (pber < conf->pber_limit[CE_RX_BL_BMU_MIN])
+ poly = CE_RX_BL_BMU_POLY_MINUS;
+ /* If over tunnel and not at limit. */
+ else if
+ (pber > conf->pber_limit[CE_RX_BL_BMU_MAX])
+ poly = CE_RX_BL_BMU_POLY_PLUS;
+
+ /* If a polynomial has been chosen. */
+ if (poly != CE_RX_BL_BMU_POLY_NONE)
+ {
+#if CONFIG_TRACE
+ s64 old = bmu->ber_margin[fecrate];
+#endif
+ /* Compute margin. */
+ bmu->ber_margin[fecrate]
+ += ce_rx_bl_poly (COUNT (conf->poly[poly]) - 1,
+ conf->poly[poly], pber)
+ * conf->fec_rate_factors[fecrate];
+
+ CE_RX_TRACE (BMU_STATE, pber, TRACE_U64 (old),
+ TRACE_U64 (bmu->ber_margin[fecrate]),
+ bmu->oscillation_counter,
+ poly == CE_RX_BL_BMU_POLY_PLUS ? true : false);
+ return true;
+ }
+ return false;
+}
diff --git a/cesar/ce/rx/bitloading/test/common-define.mk b/cesar/ce/rx/bitloading/test/common-define.mk
index 6bf7b7a3e3..2292a41e8b 100644
--- a/cesar/ce/rx/bitloading/test/common-define.mk
+++ b/cesar/ce/rx/bitloading/test/common-define.mk
@@ -38,6 +38,9 @@ bl_test_vectors_tm_update = bl_iteratif_opti_table_shift.data \
# Test vectors for Pber.
bl_test_vectors_pber = pber_vector.data
+# Test vectors for BER margin update.
+bl_test_vectors_ber_margin_update = ber_margin_update.data
+
# Tools.
bl_test_vector_tools = src/data2c.pl
# Where are stored the test vectors.
@@ -48,13 +51,20 @@ bl_test_vectors_tns_h = $(bl_test_vectors_tns:%.data=$(OBJ_INC_DIR)/%.h)
bl_test_vectors_scilab_h = $(bl_test_vectors_scilab:%.data=$(OBJ_INC_DIR)/%.h)
bl_test_vectors_tm_update_h = $(bl_test_vectors_tm_update:%.data=$(OBJ_INC_DIR)/%.h)
bl_test_vectors_pber_h = $(bl_test_vectors_pber:%.data=$(OBJ_INC_DIR)/%.h)
+bl_test_vectors_ber_margin_update_h = $(bl_test_vectors_ber_margin_update:%.data=$(OBJ_INC_DIR)/%.h)
# Add it to the compile dependencies.
-COMPILE_DEPS += $(bl_test_vectors_tns_h) $(bl_test_vectors_scilab_h) $(bl_test_vectors_tm_update_h) $(bl_test_vectors_pber_h)
+COMPILE_DEPS += $(bl_test_vectors_tns_h) \
+ $(bl_test_vectors_scilab_h) \
+ $(bl_test_vectors_tm_update_h) \
+ $(bl_test_vectors_pber_h) \
+ $(bl_test_vectors_ber_margin_update_h)
+
# Add it to the clean rule.
CLEAN_FILES += $(bl_test_vectors_tns_h) $(bl_test_vectors_scilab_h) \
$(bl_test_vectors_scilab:%=$(bl_test_vectors_dir)/%) \
$(bl_test_vectors_tm_update_h:%=$(bl_test_vectors_dir_h)/%) \
- $(bl_test_vectors_pber_h:%=$(bl_test_vectors_dir_h)/%.)
+ $(bl_test_vectors_pber_h:%=$(bl_test_vectors_dir_h)/%.) \
+ $(bl_test_vectors_ber_margin_update_h:%=$(bl_test_vectors_dir_h)/%)
USER_PROJECT_CONFIG = Config
diff --git a/cesar/ce/rx/bitloading/test/common-rule.mk b/cesar/ce/rx/bitloading/test/common-rule.mk
index a8f25876cd..56148710ef 100644
--- a/cesar/ce/rx/bitloading/test/common-rule.mk
+++ b/cesar/ce/rx/bitloading/test/common-rule.mk
@@ -20,3 +20,6 @@ $(bl_test_vectors_scilab:%=$(bl_test_vectors_dir)/%): src/polynomial_vector.sci
data/polynomial_coef.data
scilab -nwni -f $< > /dev/null
+$(bl_test_vectors_ber_margin_update_h): $(OBJ_INC_DIR)/%.h : $(bl_test_vectors_dir)/%.data \
+ $(bl_test_vector_tools) $(OBJ_INC_DIR_STAMP)
+ $(bl_test_vector_tools) $(@:$(OBJ_INC_DIR)/%.h=%) -l < $< > $@
diff --git a/cesar/ce/rx/bitloading/test/data/ber_margin_update.data b/cesar/ce/rx/bitloading/test/data/ber_margin_update.data
new file mode 100644
index 0000000000..f9c944e175
--- /dev/null
+++ b/cesar/ce/rx/bitloading/test/data/ber_margin_update.data
@@ -0,0 +1,2200 @@
+0 568441067862688 0 0 636085062273244 -67643994410556
+0 568441067862688 -67643994410556 10 702697697990530 -134256630127842
+0 568441067862688 -134256630127842 20 768278975014546 -199837907151858
+0 568441067862688 -199837907151858 30 832828893345292 -264387825482604
+0 568441067862688 -264387825482604 40 896347452982768 -327906385120080
+0 568441067862688 -327906385120080 50 958834653926974 -390393586064286
+0 568441067862688 -390393586064286 60 1020290496177910 -451849428315222
+0 568441067862688 -451849428315222 70 1080714979735576 -512273911872888
+0 568441067862688 -512273911872888 80 1140108104599972 -571667036737284
+0 568441067862688 -571667036737284 90 1198469870771098 -630028802908410
+0 568441067862688 -630028802908410 100 1255800278248954 -687359210386266
+0 568441067862688 -687359210386266 110 1312099327033540 -743658259170852
+0 568441067862688 -743658259170852 120 1367367017124856 -798925949262168
+0 568441067862688 -798925949262168 130 1421603348522902 -853162280660214
+0 568441067862688 -853162280660214 140 1474808321227678 -906367253364990
+0 568441067862688 -906367253364990 150 1526981935239184 -958540867376496
+0 568441067862688 -958540867376496 160 1578124190557420 -1009683122694732
+0 568441067862688 -1009683122694732 170 1628235087182386 -1059794019319698
+0 568441067862688 -1059794019319698 180 1677314625114082 -1108873557251394
+0 568441067862688 -1108873557251394 190 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 200 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 210 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 220 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 230 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 240 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 250 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 260 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 270 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 280 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 290 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 300 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 310 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 320 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 330 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 340 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 350 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 360 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 370 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 380 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 390 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 400 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 410 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 420 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 430 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 440 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 450 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 460 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 470 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 480 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 490 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 500 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 510 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 520 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 530 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 540 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 550 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 560 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 570 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 580 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 590 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 600 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 610 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 620 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 630 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 640 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 650 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 660 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 670 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 680 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 690 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 700 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 710 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 720 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 730 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 740 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 750 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 760 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 770 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 780 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 790 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 800 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 810 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 820 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 830 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 840 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 850 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 860 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 870 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 880 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 890 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 900 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 910 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 920 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 930 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 940 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 950 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 960 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 970 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 980 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 990 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1000 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1010 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1020 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1030 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1040 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1050 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1060 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1070 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1080 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1090 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1100 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1110 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1120 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1130 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1140 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1150 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1160 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1170 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1180 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1190 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1200 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1210 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1220 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1230 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1240 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1250 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1260 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1270 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1280 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1290 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1300 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1310 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1320 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1330 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1340 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1350 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1360 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1370 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1380 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1390 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1400 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1410 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1420 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1430 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1440 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1450 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1460 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1470 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1480 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1490 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1500 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1510 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1520 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1530 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1540 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1550 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1560 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1570 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1580 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1590 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1600 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1610 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1620 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1630 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1640 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1650 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1660 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1670 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1680 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1690 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1700 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1710 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1720 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1730 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1740 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1750 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1760 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1770 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1780 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1790 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1800 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1810 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1820 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1830 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1840 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1850 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1860 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1870 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1880 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1890 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1900 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1910 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1920 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1930 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1940 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1950 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1960 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1970 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1980 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 1990 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2000 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2010 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2020 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2030 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2040 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2050 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2060 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2070 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2080 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2090 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2100 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2110 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2120 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2130 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2140 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2150 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2160 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2170 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2180 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2190 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2200 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2210 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2220 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2230 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2240 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2250 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2260 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2270 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2280 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2290 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2300 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2310 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2320 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2330 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2340 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2350 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2360 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2370 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2380 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2390 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2400 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2410 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2420 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2430 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2440 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2450 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2460 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2470 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2480 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2490 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2500 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2510 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2520 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2530 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2540 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2550 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2560 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2570 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2580 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2590 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2600 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2610 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2620 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2630 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2640 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2650 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2660 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2670 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2680 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2690 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2700 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2710 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2720 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2730 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2740 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2750 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2760 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2770 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2780 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2790 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2800 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2810 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2820 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2830 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2840 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2850 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2860 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2870 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2880 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2890 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2900 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2910 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2920 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2930 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2940 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2950 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2960 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2970 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2980 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 2990 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3000 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3010 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3020 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3030 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3040 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3050 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3060 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3070 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3080 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3090 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3100 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3110 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3120 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3130 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3140 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3150 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3160 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3170 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3180 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3190 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3200 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3210 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3220 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3230 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3240 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3250 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3260 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3270 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3280 1645191214674564 -1076750146811876
+0 568441067862688 -1076750146811876 3290 1584830151517584 -1016389083654896
+0 568441067862688 -1016389083654896 3300 1524240014117124 -955798946254436
+0 568441067862688 -955798946254436 3310 1463420802473184 -894979734610496
+0 568441067862688 -894979734610496 3320 1402372516585764 -833931448723076
+0 568441067862688 -833931448723076 3330 1341095156454864 -772654088592176
+0 568441067862688 -772654088592176 3340 1279588722080484 -711147654217796
+0 568441067862688 -711147654217796 3350 1217853213462624 -649412145599936
+0 568441067862688 -649412145599936 3360 1155888630601284 -587447562738596
+0 568441067862688 -587447562738596 3370 1093694973496464 -525253905633776
+0 568441067862688 -525253905633776 3380 1031272242148164 -462831174285476
+0 568441067862688 -462831174285476 3390 968620436556384 -400179368693696
+0 568441067862688 -400179368693696 3400 905739556721124 -337298488858436
+0 568441067862688 -337298488858436 3410 842629602642384 -274188534779696
+0 568441067862688 -274188534779696 3420 779290574320164 -210849506457476
+0 568441067862688 -210849506457476 3430 715722471754464 -147281403891776
+0 568441067862688 -147281403891776 3440 651925294945284 -83484227082596
+0 568441067862688 -83484227082596 3450 587899043892624 -19457976029936
+0 568441067862688 -19457976029936 3460 568441067862688 0
+0 568441067862688 0 3470 568441067862688 0
+0 568441067862688 0 3480 568441067862688 0
+0 568441067862688 0 3490 568441067862688 0
+0 568441067862688 0 3500 568441067862688 0
+0 568441067862688 0 3510 568441067862688 0
+0 568441067862688 0 3520 568441067862688 0
+0 568441067862688 0 3530 568441067862688 0
+0 568441067862688 0 3540 568441067862688 0
+0 568441067862688 0 3550 568441067862688 0
+0 568441067862688 0 3560 568441067862688 0
+0 568441067862688 0 3570 568441067862688 0
+0 568441067862688 0 3580 568441067862688 0
+0 568441067862688 0 3590 568441067862688 0
+0 568441067862688 0 3600 568441067862688 0
+0 568441067862688 0 3610 568441067862688 0
+0 568441067862688 0 3620 568441067862688 0
+0 568441067862688 0 3630 568441067862688 0
+0 568441067862688 0 3640 568441067862688 0
+0 568441067862688 0 3650 568441067862688 0
+0 568441067862688 0 3660 568441067862688 0
+0 568441067862688 0 3670 568441067862688 0
+0 568441067862688 0 3680 568441067862688 0
+0 568441067862688 0 3690 568441067862688 0
+0 568441067862688 0 3700 568441067862688 0
+0 568441067862688 0 3710 568441067862688 0
+0 568441067862688 0 3720 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3740 568441067862688 0
+0 568441067862688 0 3750 568441067862688 0
+0 568441067862688 0 3760 568441067862688 0
+0 568441067862688 0 3770 568441067862688 0
+0 568441067862688 0 3780 568441067862688 0
+0 568441067862688 0 3790 568441067862688 0
+0 568441067862688 0 3800 568441067862688 0
+0 568441067862688 0 3810 568441067862688 0
+0 568441067862688 0 3820 568441067862688 0
+0 568441067862688 0 3830 568441067862688 0
+0 568441067862688 0 3840 568441067862688 0
+0 568441067862688 0 3850 568441067862688 0
+0 568441067862688 0 3860 568441067862688 0
+0 568441067862688 0 3870 568441067862688 0
+0 568441067862688 0 3880 568441067862688 0
+0 568441067862688 0 3890 568441067862688 0
+0 568441067862688 0 3900 568441067862688 0
+0 568441067862688 0 3910 568441067862688 0
+0 568441067862688 0 3920 568441067862688 0
+0 568441067862688 0 3930 568441067862688 0
+0 568441067862688 0 3940 568441067862688 0
+0 568441067862688 0 3950 568441067862688 0
+0 568441067862688 0 3960 568441067862688 0
+0 568441067862688 0 3970 568441067862688 0
+0 568441067862688 0 3980 568441067862688 0
+0 568441067862688 0 3990 568441067862688 0
+0 568441067862688 0 4000 568441067862688 0
+0 568441067862688 0 4010 568441067862688 0
+0 568441067862688 0 4020 568441067862688 0
+0 568441067862688 0 4030 568441067862688 0
+0 568441067862688 0 4040 568441067862688 0
+0 568441067862688 0 4050 568441067862688 0
+0 568441067862688 0 4060 568441067862688 0
+0 568441067862688 0 4070 568441067862688 0
+0 568441067862688 0 4080 568441067862688 0
+0 568441067862688 0 4090 568441067862688 0
+0 568441067862688 0 4100 568441067862688 0
+0 568441067862688 0 4110 568441067862688 0
+0 568441067862688 0 4120 568441067862688 0
+0 568441067862688 0 4130 568441067862688 0
+0 568441067862688 0 4140 568441067862688 0
+0 568441067862688 0 4150 568441067862688 0
+0 568441067862688 0 4160 568441067862688 0
+0 568441067862688 0 4170 568441067862688 0
+0 568441067862688 0 4180 568441067862688 0
+0 568441067862688 0 4190 568441067862688 0
+0 568441067862688 0 4200 568441067862688 0
+0 568441067862688 0 4210 568441067862688 0
+0 568441067862688 0 4220 568441067862688 0
+0 568441067862688 0 4230 568441067862688 0
+0 568441067862688 0 4240 568441067862688 0
+0 568441067862688 0 4250 568441067862688 0
+0 568441067862688 0 4260 568441067862688 0
+0 568441067862688 0 4270 568441067862688 0
+0 568441067862688 0 4280 568441067862688 0
+0 568441067862688 0 4290 568441067862688 0
+0 568441067862688 0 4300 568441067862688 0
+0 568441067862688 0 4310 568441067862688 0
+0 568441067862688 0 4320 568441067862688 0
+0 568441067862688 0 4330 568441067862688 0
+0 568441067862688 0 4340 568441067862688 0
+0 568441067862688 0 4350 568441067862688 0
+0 568441067862688 0 4360 568441067862688 0
+0 568441067862688 0 4370 568441067862688 0
+0 568441067862688 0 4380 568441067862688 0
+0 568441067862688 0 4390 568441067862688 0
+0 568441067862688 0 4400 568441067862688 0
+0 568441067862688 0 4410 568441067862688 0
+0 568441067862688 0 4420 568441067862688 0
+0 568441067862688 0 4430 568441067862688 0
+0 568441067862688 0 4440 568441067862688 0
+0 568441067862688 0 4450 568441067862688 0
+0 568441067862688 0 4460 568441067862688 0
+0 568441067862688 0 4470 568441067862688 0
+0 568441067862688 0 4480 568441067862688 0
+0 568441067862688 0 4490 568441067862688 0
+0 568441067862688 0 4500 568441067862688 0
+0 568441067862688 0 4510 568441067862688 0
+0 568441067862688 0 4520 568441067862688 0
+0 568441067862688 0 4530 568441067862688 0
+0 568441067862688 0 4540 568441067862688 0
+0 568441067862688 0 4550 568441067862688 0
+0 568441067862688 0 4560 568441067862688 0
+0 568441067862688 0 4570 568441067862688 0
+0 568441067862688 0 4580 568441067862688 0
+0 568441067862688 0 4590 568441067862688 0
+0 568441067862688 0 4600 568441067862688 0
+0 568441067862688 0 4610 568441067862688 0
+0 568441067862688 0 4620 568441067862688 0
+0 568441067862688 0 4630 568441067862688 0
+0 568441067862688 0 4640 568441067862688 0
+0 568441067862688 0 4650 568441067862688 0
+0 568441067862688 0 4660 568441067862688 0
+0 568441067862688 0 4670 568441067862688 0
+0 568441067862688 0 4680 568441067862688 0
+0 568441067862688 0 4690 568441067862688 0
+0 568441067862688 0 4700 568441067862688 0
+0 568441067862688 0 4710 568441067862688 0
+0 568441067862688 0 4720 568441067862688 0
+0 568441067862688 0 4730 568441067862688 0
+0 568441067862688 0 4740 568441067862688 0
+0 568441067862688 0 4750 568441067862688 0
+0 568441067862688 0 4760 568441067862688 0
+0 568441067862688 0 4770 568441067862688 0
+0 568441067862688 0 4780 568441067862688 0
+0 568441067862688 0 4790 568441067862688 0
+0 568441067862688 0 4800 568441067862688 0
+0 568441067862688 0 4810 568441067862688 0
+0 568441067862688 0 4820 568441067862688 0
+0 568441067862688 0 4830 568441067862688 0
+0 568441067862688 0 4840 568441067862688 0
+0 568441067862688 0 4850 568441067862688 0
+0 568441067862688 0 4860 568441067862688 0
+0 568441067862688 0 4870 568441067862688 0
+0 568441067862688 0 4880 568441067862688 0
+0 568441067862688 0 4890 568441067862688 0
+0 568441067862688 0 4900 568441067862688 0
+0 568441067862688 0 4910 568441067862688 0
+0 568441067862688 0 4920 568441067862688 0
+0 568441067862688 0 4930 568441067862688 0
+0 568441067862688 0 4940 568441067862688 0
+0 568441067862688 0 4950 568441067862688 0
+0 568441067862688 0 4960 568441067862688 0
+0 568441067862688 0 4970 568441067862688 0
+0 568441067862688 0 4980 568441067862688 0
+0 568441067862688 0 4990 568441067862688 0
+1 113457532311742 0 0 136005530448594 -22547998136852
+1 113457532311742 -22547998136852 10 158209742354356 -44752210042614
+1 113457532311742 -44752210042614 20 180070168029028 -66612635717286
+1 113457532311742 -66612635717286 30 201586807472610 -88129275160868
+1 113457532311742 -88129275160868 40 222759660685102 -109302128373360
+1 113457532311742 -109302128373360 50 243588727666504 -130131195354762
+1 113457532311742 -130131195354762 60 264074008416816 -150616476105074
+1 113457532311742 -150616476105074 70 284215502936038 -170757970624296
+1 113457532311742 -170757970624296 80 304013211224170 -190555678912428
+1 113457532311742 -190555678912428 90 323467133281212 -210009600969470
+1 113457532311742 -210009600969470 100 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 110 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 120 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 130 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 140 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 150 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 160 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 170 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 180 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 190 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 200 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 210 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 220 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 230 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 240 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 250 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 260 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 270 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 280 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 290 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 300 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 310 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 320 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 330 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 340 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 350 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 360 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 370 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 380 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 390 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 400 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 410 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 420 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 430 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 440 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 450 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 460 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 470 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 480 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 490 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 500 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 510 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 520 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 530 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 540 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 550 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 560 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 570 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 580 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 590 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 600 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 610 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 620 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 630 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 640 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 650 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 660 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 670 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 680 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 690 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 700 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 710 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 720 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 730 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 740 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 750 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 760 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 770 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 780 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 790 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 800 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 810 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 820 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 830 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 840 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 850 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 860 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 870 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 880 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 890 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 900 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 910 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 920 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 930 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 940 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 950 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 960 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 970 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 980 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 990 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1000 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1010 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1020 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1030 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1040 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1050 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1060 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1070 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1080 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1090 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1100 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1110 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1120 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1130 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1140 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1150 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1160 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1170 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1180 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1190 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1200 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1210 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1220 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1230 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1240 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1250 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1260 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1270 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1280 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1290 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1300 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1310 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1320 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1330 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1340 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1350 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1360 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1370 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1380 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1390 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1400 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1410 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1420 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1430 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1440 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1450 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1460 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1470 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1480 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1490 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1500 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1510 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1520 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1530 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1540 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1550 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1560 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1570 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1580 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1590 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1600 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1610 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1620 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1630 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1640 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1650 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1660 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1670 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1680 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1690 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1700 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1710 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1720 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1730 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1740 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1750 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1760 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1770 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1780 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1790 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1800 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1810 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1820 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1830 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1840 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1850 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1860 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1870 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1880 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1890 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1900 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1910 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1920 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1930 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1940 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1950 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1960 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1970 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1980 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 1990 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2000 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2010 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2020 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2030 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2040 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2050 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2060 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2070 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2080 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2090 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2100 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2110 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2120 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2130 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2140 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2150 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2160 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2170 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2180 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2190 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2200 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2210 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2220 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2230 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2240 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2250 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2260 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2270 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2280 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2290 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2300 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2310 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2320 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2330 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2340 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2350 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2360 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2370 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2380 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2390 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2400 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2410 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2420 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2430 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2440 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2450 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2460 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2470 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2480 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2490 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2500 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2510 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2520 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2530 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2540 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2550 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2560 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2570 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2580 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2590 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2600 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2610 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2620 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2630 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2640 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2650 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2660 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2670 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2680 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2690 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2700 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2710 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2720 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2730 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2740 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2750 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2760 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2770 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2780 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2790 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2800 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2810 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2820 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2830 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2840 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2850 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2860 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2870 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2880 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2890 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2900 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2910 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2920 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2930 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2940 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2950 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2960 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2970 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2980 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 2990 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3000 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3010 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3020 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3030 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3040 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3050 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3060 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3070 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3080 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3090 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3100 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3110 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3120 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3130 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3140 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3150 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3160 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3170 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3180 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3190 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3200 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3210 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3220 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3230 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3240 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3250 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3260 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3270 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3280 320328600630726 -206871068318984
+1 113457532311742 -206871068318984 3290 300208246245066 -186750713933324
+1 113457532311742 -186750713933324 3300 280011533778246 -166554001466504
+1 113457532311742 -166554001466504 3310 259738463230266 -146280930918524
+1 113457532311742 -146280930918524 3320 239389034601126 -125931502289384
+1 113457532311742 -125931502289384 3330 218963247890826 -105505715579084
+1 113457532311742 -105505715579084 3340 198461103099366 -85003570787624
+1 113457532311742 -85003570787624 3350 177882600226746 -64425067915004
+1 113457532311742 -64425067915004 3360 157227739272966 -43770206961224
+1 113457532311742 -43770206961224 3370 136496520238026 -23038987926284
+1 113457532311742 -23038987926284 3380 115688943121926 -2231410810184
+1 113457532311742 -2231410810184 3390 113457532311742 0
+1 113457532311742 0 3400 113457532311742 0
+1 113457532311742 0 3410 113457532311742 0
+1 113457532311742 0 3420 113457532311742 0
+1 113457532311742 0 3430 113457532311742 0
+1 113457532311742 0 3440 113457532311742 0
+1 113457532311742 0 3450 113457532311742 0
+1 113457532311742 0 3460 113457532311742 0
+1 113457532311742 0 3470 113457532311742 0
+1 113457532311742 0 3480 113457532311742 0
+1 113457532311742 0 3490 113457532311742 0
+1 113457532311742 0 3500 113457532311742 0
+1 113457532311742 0 3510 113457532311742 0
+1 113457532311742 0 3520 113457532311742 0
+1 113457532311742 0 3530 113457532311742 0
+1 113457532311742 0 3540 113457532311742 0
+1 113457532311742 0 3550 113457532311742 0
+1 113457532311742 0 3560 113457532311742 0
+1 113457532311742 0 3570 113457532311742 0
+1 113457532311742 0 3580 113457532311742 0
+1 113457532311742 0 3590 113457532311742 0
+1 113457532311742 0 3600 113457532311742 0
+1 113457532311742 0 3610 113457532311742 0
+1 113457532311742 0 3620 113457532311742 0
+1 113457532311742 0 3630 113457532311742 0
+1 113457532311742 0 3640 113457532311742 0
+1 113457532311742 0 3650 113457532311742 0
+1 113457532311742 0 3660 113457532311742 0
+1 113457532311742 0 3670 113457532311742 0
+1 113457532311742 0 3680 113457532311742 0
+1 113457532311742 0 3690 113457532311742 0
+1 113457532311742 0 3700 113457532311742 0
+1 113457532311742 0 3710 113457532311742 0
+1 113457532311742 0 3720 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3740 113457532311742 0
+1 113457532311742 0 3750 113457532311742 0
+1 113457532311742 0 3760 113457532311742 0
+1 113457532311742 0 3770 113457532311742 0
+1 113457532311742 0 3780 113457532311742 0
+1 113457532311742 0 3790 113457532311742 0
+1 113457532311742 0 3800 113457532311742 0
+1 113457532311742 0 3810 113457532311742 0
+1 113457532311742 0 3820 113457532311742 0
+1 113457532311742 0 3830 113457532311742 0
+1 113457532311742 0 3840 113457532311742 0
+1 113457532311742 0 3850 113457532311742 0
+1 113457532311742 0 3860 113457532311742 0
+1 113457532311742 0 3870 113457532311742 0
+1 113457532311742 0 3880 113457532311742 0
+1 113457532311742 0 3890 113457532311742 0
+1 113457532311742 0 3900 113457532311742 0
+1 113457532311742 0 3910 113457532311742 0
+1 113457532311742 0 3920 113457532311742 0
+1 113457532311742 0 3930 113457532311742 0
+1 113457532311742 0 3940 113457532311742 0
+1 113457532311742 0 3950 113457532311742 0
+1 113457532311742 0 3960 113457532311742 0
+1 113457532311742 0 3970 113457532311742 0
+1 113457532311742 0 3980 113457532311742 0
+1 113457532311742 0 3990 113457532311742 0
+1 113457532311742 0 4000 113457532311742 0
+1 113457532311742 0 4010 113457532311742 0
+1 113457532311742 0 4020 113457532311742 0
+1 113457532311742 0 4030 113457532311742 0
+1 113457532311742 0 4040 113457532311742 0
+1 113457532311742 0 4050 113457532311742 0
+1 113457532311742 0 4060 113457532311742 0
+1 113457532311742 0 4070 113457532311742 0
+1 113457532311742 0 4080 113457532311742 0
+1 113457532311742 0 4090 113457532311742 0
+1 113457532311742 0 4100 113457532311742 0
+1 113457532311742 0 4110 113457532311742 0
+1 113457532311742 0 4120 113457532311742 0
+1 113457532311742 0 4130 113457532311742 0
+1 113457532311742 0 4140 113457532311742 0
+1 113457532311742 0 4150 113457532311742 0
+1 113457532311742 0 4160 113457532311742 0
+1 113457532311742 0 4170 113457532311742 0
+1 113457532311742 0 4180 113457532311742 0
+1 113457532311742 0 4190 113457532311742 0
+1 113457532311742 0 4200 113457532311742 0
+1 113457532311742 0 4210 113457532311742 0
+1 113457532311742 0 4220 113457532311742 0
+1 113457532311742 0 4230 113457532311742 0
+1 113457532311742 0 4240 113457532311742 0
+1 113457532311742 0 4250 113457532311742 0
+1 113457532311742 0 4260 113457532311742 0
+1 113457532311742 0 4270 113457532311742 0
+1 113457532311742 0 4280 113457532311742 0
+1 113457532311742 0 4290 113457532311742 0
+1 113457532311742 0 4300 113457532311742 0
+1 113457532311742 0 4310 113457532311742 0
+1 113457532311742 0 4320 113457532311742 0
+1 113457532311742 0 4330 113457532311742 0
+1 113457532311742 0 4340 113457532311742 0
+1 113457532311742 0 4350 113457532311742 0
+1 113457532311742 0 4360 113457532311742 0
+1 113457532311742 0 4370 113457532311742 0
+1 113457532311742 0 4380 113457532311742 0
+1 113457532311742 0 4390 113457532311742 0
+1 113457532311742 0 4400 113457532311742 0
+1 113457532311742 0 4410 113457532311742 0
+1 113457532311742 0 4420 113457532311742 0
+1 113457532311742 0 4430 113457532311742 0
+1 113457532311742 0 4440 113457532311742 0
+1 113457532311742 0 4450 113457532311742 0
+1 113457532311742 0 4460 113457532311742 0
+1 113457532311742 0 4470 113457532311742 0
+1 113457532311742 0 4480 113457532311742 0
+1 113457532311742 0 4490 113457532311742 0
+1 113457532311742 0 4500 113457532311742 0
+1 113457532311742 0 4510 113457532311742 0
+1 113457532311742 0 4520 113457532311742 0
+1 113457532311742 0 4530 113457532311742 0
+1 113457532311742 0 4540 113457532311742 0
+1 113457532311742 0 4550 113457532311742 0
+1 113457532311742 0 4560 113457532311742 0
+1 113457532311742 0 4570 113457532311742 0
+1 113457532311742 0 4580 113457532311742 0
+1 113457532311742 0 4590 113457532311742 0
+1 113457532311742 0 4600 113457532311742 0
+1 113457532311742 0 4610 113457532311742 0
+1 113457532311742 0 4620 113457532311742 0
+1 113457532311742 0 4630 113457532311742 0
+1 113457532311742 0 4640 113457532311742 0
+1 113457532311742 0 4650 113457532311742 0
+1 113457532311742 0 4660 113457532311742 0
+1 113457532311742 0 4670 113457532311742 0
+1 113457532311742 0 4680 113457532311742 0
+1 113457532311742 0 4690 113457532311742 0
+1 113457532311742 0 4700 113457532311742 0
+1 113457532311742 0 4710 113457532311742 0
+1 113457532311742 0 4720 113457532311742 0
+1 113457532311742 0 4730 113457532311742 0
+1 113457532311742 0 4740 113457532311742 0
+1 113457532311742 0 4750 113457532311742 0
+1 113457532311742 0 4760 113457532311742 0
+1 113457532311742 0 4770 113457532311742 0
+1 113457532311742 0 4780 113457532311742 0
+1 113457532311742 0 4790 113457532311742 0
+1 113457532311742 0 4800 113457532311742 0
+1 113457532311742 0 4810 113457532311742 0
+1 113457532311742 0 4820 113457532311742 0
+1 113457532311742 0 4830 113457532311742 0
+1 113457532311742 0 4840 113457532311742 0
+1 113457532311742 0 4850 113457532311742 0
+1 113457532311742 0 4860 113457532311742 0
+1 113457532311742 0 4870 113457532311742 0
+1 113457532311742 0 4880 113457532311742 0
+1 113457532311742 0 4890 113457532311742 0
+1 113457532311742 0 4900 113457532311742 0
+1 113457532311742 0 4910 113457532311742 0
+1 113457532311742 0 4920 113457532311742 0
+1 113457532311742 0 4930 113457532311742 0
+1 113457532311742 0 4940 113457532311742 0
+1 113457532311742 0 4950 113457532311742 0
+1 113457532311742 0 4960 113457532311742 0
+1 113457532311742 0 4970 113457532311742 0
+1 113457532311742 0 4980 113457532311742 0
+1 113457532311742 0 4990 113457532311742 0
+0 568441067862688 0 0 636085062273244 -67643994410556
+0 568441067862688 -67643994410556 50 698572263217450 -130131195354762
+0 568441067862688 -130131195354762 100 755902670695306 -187461602832618
+0 568441067862688 -187461602832618 150 808076284706812 -239635216844124
+0 568441067862688 -239635216844124 200 855093105251968 -286652037389280
+0 568441067862688 -286652037389280 250 896953132330774 -328512064468086
+0 568441067862688 -328512064468086 300 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 350 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 400 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 450 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 500 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 550 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 600 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 650 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 700 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 750 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 800 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 850 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 900 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 950 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1000 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1050 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1100 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1150 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1200 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1250 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1300 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1350 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1400 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1450 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1500 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1550 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1600 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1650 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1700 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1750 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1800 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1850 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1900 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 1950 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2000 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2050 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2100 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2150 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2200 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2250 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2300 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2350 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2400 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2450 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2500 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2550 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2600 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2650 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2700 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2750 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2800 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2850 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2900 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 2950 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3000 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3050 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3100 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3150 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3200 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3250 933656365943230 -365215298080542
+0 568441067862688 -365215298080542 3300 873066228542770 -304625160680082
+0 568441067862688 -304625160680082 3350 811330719924910 -242889652062222
+0 568441067862688 -242889652062222 3400 748449840089650 -180008772226962
+0 568441067862688 -180008772226962 3450 684423589036990 -115982521174302
+0 568441067862688 -115982521174302 3500 619251966766930 -50810898904242
+0 568441067862688 -50810898904242 3550 568441067862688 0
+0 568441067862688 0 3600 568441067862688 0
+0 568441067862688 0 3650 568441067862688 0
+0 568441067862688 0 3700 568441067862688 0
+0 568441067862688 0 3750 568441067862688 0
+0 568441067862688 0 3800 568441067862688 0
+0 568441067862688 0 3850 568441067862688 0
+0 568441067862688 0 3900 568441067862688 0
+0 568441067862688 0 3950 568441067862688 0
+0 568441067862688 0 4000 568441067862688 0
+0 568441067862688 0 4050 568441067862688 0
+0 568441067862688 0 4100 568441067862688 0
+0 568441067862688 0 4150 568441067862688 0
+0 568441067862688 0 4200 568441067862688 0
+0 568441067862688 0 4250 568441067862688 0
+0 568441067862688 0 4300 568441067862688 0
+0 568441067862688 0 4350 568441067862688 0
+0 568441067862688 0 4400 568441067862688 0
+0 568441067862688 0 4450 568441067862688 0
+0 568441067862688 0 4500 568441067862688 0
+0 568441067862688 0 4550 568441067862688 0
+0 568441067862688 0 4600 568441067862688 0
+0 568441067862688 0 4650 568441067862688 0
+0 568441067862688 0 4700 568441067862688 0
+0 568441067862688 0 4750 568441067862688 0
+0 568441067862688 0 4800 568441067862688 0
+0 568441067862688 0 4850 568441067862688 0
+0 568441067862688 0 4900 568441067862688 0
+0 568441067862688 0 4950 568441067862688 0
+1 113457532311742 0 0 136005530448594 -22547998136852
+1 113457532311742 -22547998136852 50 156834597429996 -43377065118254
+1 113457532311742 -43377065118254 100 175944733255948 -62487200944206
+1 113457532311742 -62487200944206 150 193335937926450 -79878405614708
+1 113457532311742 -79878405614708 200 209008211441502 -95550679129760
+1 113457532311742 -95550679129760 250 222961553801104 -109504021489362
+1 113457532311742 -109504021489362 300 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 350 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 400 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 450 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 500 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 550 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 600 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 650 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 700 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 750 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 800 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 850 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 900 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 950 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1000 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1050 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1100 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1150 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1200 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1250 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1300 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1350 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1400 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1450 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1500 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1550 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1600 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1650 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1700 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1750 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1800 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1850 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1900 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 1950 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2000 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2050 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2100 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2150 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2200 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2250 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2300 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2350 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2400 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2450 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2500 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2550 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2600 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2650 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2700 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2750 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2800 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2850 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2900 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 2950 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3000 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3050 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3100 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3150 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3200 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3250 235195965005256 -121738432693514
+1 113457532311742 -121738432693514 3300 214999252538436 -101541720226694
+1 113457532311742 -101541720226694 3350 194420749665816 -80963217354074
+1 113457532311742 -80963217354074 3400 173460456387396 -60002924075654
+1 113457532311742 -60002924075654 3450 152118372703176 -38660840391434
+1 113457532311742 -38660840391434 3500 130394498613156 -16936966301414
+1 113457532311742 -16936966301414 3550 113457532311742 0
+1 113457532311742 0 3600 113457532311742 0
+1 113457532311742 0 3650 113457532311742 0
+1 113457532311742 0 3700 113457532311742 0
+1 113457532311742 0 3750 113457532311742 0
+1 113457532311742 0 3800 113457532311742 0
+1 113457532311742 0 3850 113457532311742 0
+1 113457532311742 0 3900 113457532311742 0
+1 113457532311742 0 3950 113457532311742 0
+1 113457532311742 0 4000 113457532311742 0
+1 113457532311742 0 4050 113457532311742 0
+1 113457532311742 0 4100 113457532311742 0
+1 113457532311742 0 4150 113457532311742 0
+1 113457532311742 0 4200 113457532311742 0
+1 113457532311742 0 4250 113457532311742 0
+1 113457532311742 0 4300 113457532311742 0
+1 113457532311742 0 4350 113457532311742 0
+1 113457532311742 0 4400 113457532311742 0
+1 113457532311742 0 4450 113457532311742 0
+1 113457532311742 0 4500 113457532311742 0
+1 113457532311742 0 4550 113457532311742 0
+1 113457532311742 0 4600 113457532311742 0
+1 113457532311742 0 4650 113457532311742 0
+1 113457532311742 0 4700 113457532311742 0
+1 113457532311742 0 4750 113457532311742 0
+1 113457532311742 0 4800 113457532311742 0
+1 113457532311742 0 4850 113457532311742 0
+1 113457532311742 0 4900 113457532311742 0
+1 113457532311742 0 4950 113457532311742 0
+0 568441067862688 0 0 636085062273244 -67643994410556
+0 568441067862688 -67643994410556 10 702697697990530 -134256630127842
+0 568441067862688 -134256630127842 20 768278975014546 -199837907151858
+0 568441067862688 -199837907151858 30 832828893345292 -264387825482604
+0 568441067862688 -264387825482604 40 896347452982768 -327906385120080
+0 568441067862688 -327906385120080 50 958834653926974 -390393586064286
+0 568441067862688 -390393586064286 60 1020290496177910 -451849428315222
+0 568441067862688 -451849428315222 70 1080714979735576 -512273911872888
+0 568441067862688 -512273911872888 80 1140108104599972 -571667036737284
+0 568441067862688 -571667036737284 90 1198469870771098 -630028802908410
+0 568441067862688 -630028802908410 100 1255800278248954 -687359210386266
+0 568441067862688 -687359210386266 110 1312099327033540 -743658259170852
+0 568441067862688 -743658259170852 120 1367367017124856 -798925949262168
+0 568441067862688 -798925949262168 130 1421603348522902 -853162280660214
+0 568441067862688 -853162280660214 140 1474808321227678 -906367253364990
+0 568441067862688 -906367253364990 150 1526981935239184 -958540867376496
+0 568441067862688 -958540867376496 160 1578124190557420 -1009683122694732
+0 568441067862688 -1009683122694732 170 1628235087182386 -1059794019319698
+0 568441067862688 -1059794019319698 180 1677314625114082 -1108873557251394
+0 568441067862688 -1108873557251394 190 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 200 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 210 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 220 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 230 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 240 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 250 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 260 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 270 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 280 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 290 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 300 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 310 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 320 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 330 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 340 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 350 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 360 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 370 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 380 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 390 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 400 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 410 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 420 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 430 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 440 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 450 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 460 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 470 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 480 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 490 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 3730 1634882873717964 -1066441805855276
+0 568441067862688 -1066441805855276 3730 1564442543847864 -996001475985176
+0 568441067862688 -996001475985176 3730 1494002213977764 -925561146115076
+0 568441067862688 -925561146115076 3730 1423561884107664 -855120816244976
+0 568441067862688 -855120816244976 3730 1353121554237564 -784680486374876
+0 568441067862688 -784680486374876 3730 1282681224367464 -714240156504776
+0 568441067862688 -714240156504776 3730 1212240894497364 -643799826634676
+0 568441067862688 -643799826634676 3730 1141800564627264 -573359496764576
+0 568441067862688 -573359496764576 3730 1071360234757164 -502919166894476
+0 568441067862688 -502919166894476 3730 1000919904887064 -432478837024376
+0 568441067862688 -432478837024376 3730 930479575016964 -362038507154276
+0 568441067862688 -362038507154276 3730 860039245146864 -291598177284176
+0 568441067862688 -291598177284176 3730 789598915276764 -221157847414076
+0 568441067862688 -221157847414076 3730 719158585406664 -150717517543976
+0 568441067862688 -150717517543976 3730 648718255536564 -80277187673876
+0 568441067862688 -80277187673876 3730 578277925666464 -9836857803776
+0 568441067862688 -9836857803776 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 3730 568441067862688 0
+0 568441067862688 0 0 636085062273244 -67643994410556
+0 568441067862688 -67643994410556 0 703729056683800 -135287988821112
+0 568441067862688 -135287988821112 0 771373051094356 -202931983231668
+0 568441067862688 -202931983231668 0 839017045504912 -270575977642224
+0 568441067862688 -270575977642224 0 906661039915468 -338219972052780
+0 568441067862688 -338219972052780 0 974305034326024 -405863966463336
+0 568441067862688 -405863966463336 0 1041949028736580 -473507960873892
+0 568441067862688 -473507960873892 0 1109593023147136 -541151955284448
+0 568441067862688 -541151955284448 0 1177237017557692 -608795949695004
+0 568441067862688 -608795949695004 0 1244881011968248 -676439944105560
+0 568441067862688 -676439944105560 0 1312525006378804 -744083938516116
+0 568441067862688 -744083938516116 0 1380169000789360 -811727932926672
+0 568441067862688 -811727932926672 0 1447812995199916 -879371927337228
+0 568441067862688 -879371927337228 0 1515456989610472 -947015921747784
+0 568441067862688 -947015921747784 0 1583100984021028 -1014659916158340
+0 568441067862688 -1014659916158340 0 1650744978431584 -1082303910568896
+0 568441067862688 -1082303910568896 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+0 568441067862688 -1136882135725376 0 1705323203588064 -1136882135725376
+1 113457532311742 0 0 136005530448594 -22547998136852
+1 113457532311742 -22547998136852 10 158209742354356 -44752210042614
+1 113457532311742 -44752210042614 20 180070168029028 -66612635717286
+1 113457532311742 -66612635717286 30 201586807472610 -88129275160868
+1 113457532311742 -88129275160868 40 222759660685102 -109302128373360
+1 113457532311742 -109302128373360 50 243588727666504 -130131195354762
+1 113457532311742 -130131195354762 60 264074008416816 -150616476105074
+1 113457532311742 -150616476105074 70 284215502936038 -170757970624296
+1 113457532311742 -170757970624296 80 304013211224170 -190555678912428
+1 113457532311742 -190555678912428 90 323467133281212 -210009600969470
+1 113457532311742 -210009600969470 100 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 110 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 120 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 130 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 140 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 150 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 160 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 170 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 180 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 190 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 200 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 210 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 220 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 230 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 240 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 250 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 260 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 270 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 280 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 290 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 300 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 310 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 320 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 330 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 340 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 350 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 360 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 370 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 380 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 390 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 400 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 410 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 420 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 430 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 440 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 450 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 460 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 470 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 480 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 490 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 3730 316892486978526 -203434954666784
+1 113457532311742 -203434954666784 3730 293412377021826 -179954844710084
+1 113457532311742 -179954844710084 3730 269932267065126 -156474734753384
+1 113457532311742 -156474734753384 3730 246452157108426 -132994624796684
+1 113457532311742 -132994624796684 3730 222972047151726 -109514514839984
+1 113457532311742 -109514514839984 3730 199491937195026 -86034404883284
+1 113457532311742 -86034404883284 3730 176011827238326 -62554294926584
+1 113457532311742 -62554294926584 3730 152531717281626 -39074184969884
+1 113457532311742 -39074184969884 3730 129051607324926 -15594075013184
+1 113457532311742 -15594075013184 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 3730 113457532311742 0
+1 113457532311742 0 0 136005530448594 -22547998136852
+1 113457532311742 -22547998136852 0 158553528585446 -45095996273704
+1 113457532311742 -45095996273704 0 181101526722298 -67643994410556
+1 113457532311742 -67643994410556 0 203649524859150 -90191992547408
+1 113457532311742 -90191992547408 0 226197522996002 -112739990684260
+1 113457532311742 -112739990684260 0 248745521132854 -135287988821112
+1 113457532311742 -135287988821112 0 271293519269706 -157835986957964
+1 113457532311742 -157835986957964 0 293841517406558 -180383985094816
+1 113457532311742 -180383985094816 0 316389515543410 -202931983231668
+1 113457532311742 -202931983231668 0 338937513680262 -225479981368520
+1 113457532311742 -225479981368520 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
+1 113457532311742 -226915064623484 0 340372596935226 -226915064623484
diff --git a/cesar/ce/rx/bitloading/test/fsm-Makefile b/cesar/ce/rx/bitloading/test/fsm-Makefile
index a1eca3729e..5817889e56 100644
--- a/cesar/ce/rx/bitloading/test/fsm-Makefile
+++ b/cesar/ce/rx/bitloading/test/fsm-Makefile
@@ -12,7 +12,7 @@ test_ce_fsm_SOURCES = scenario_actions.c test_fsm.c scenario_events.c \
test_ce_fsm_MODULES = $(ce_rx_bl_modules_common) lib/scenario
test_ce_fsm_CONFIG_MODULES = cp
-ce_rx_bitloading_MODULE_SOURCES = transition.c intervals.c
+ce_rx_bitloading_MODULE_SOURCES = transition.c intervals.c ber_margin_update.c
mac_common_MODULE_SOURCES = interval.c
INCLUDES += ce/rx/bitloading/test ce/rx/bitloading/test/override
diff --git a/cesar/ce/rx/bitloading/test/host-Makefile b/cesar/ce/rx/bitloading/test/host-Makefile
index 2a7c202cb5..c208411200 100644
--- a/cesar/ce/rx/bitloading/test/host-Makefile
+++ b/cesar/ce/rx/bitloading/test/host-Makefile
@@ -7,7 +7,8 @@ VARIANT = host
include common-define.mk
# List of program to build.
-HOST_PROGRAMS = test_ce_host test_ce_intervals test_ce_poly test_ce_pber
+HOST_PROGRAMS = test_ce_host test_ce_intervals test_ce_poly test_ce_pber\
+ test_ce_bmu
test_ce_host_SOURCES = $(ce_rx_bl_test_sources_common) ecos_stub.c
test_ce_host_MODULES = $(ce_rx_bl_modules_common) ce/rx
@@ -25,6 +26,9 @@ test_ce_poly_MODULES = $(ce_rx_bl_modules_common)
test_ce_pber_SOURCES = test_pber.c ecos_stub.c
test_ce_pber_MODULES = $(ce_rx_bl_modules_common)
+test_ce_bmu_SOURCES = test_ber_margin_update.c ecos_stub.c
+test_ce_bmu_MODULES = $(ce_rx_bl_modules_common)
+
INCLUDES += ce/rx/bitloading/test/override
# Include base makefile.
diff --git a/cesar/ce/rx/bitloading/test/src/data2c.pl b/cesar/ce/rx/bitloading/test/src/data2c.pl
index e900a76e82..2a720a4c0b 100755
--- a/cesar/ce/rx/bitloading/test/src/data2c.pl
+++ b/cesar/ce/rx/bitloading/test/src/data2c.pl
@@ -3,7 +3,7 @@
use Getopt::Std;
my $name = shift @ARGV;
-getopts("fdum:");
+getopts("fdum:l");
my $col;
my $line = 0;
@@ -41,6 +41,11 @@ while (<>)
$type = "u64";
$post = "ull";
}
+ if (defined ($opt_l))
+ {
+ $type = "s64";
+ $post = "ll";
+ }
print <<EOF;
/* Autogenerated file, do not edit. */
static const u8 ${name}_width = $col;
diff --git a/cesar/ce/rx/bitloading/test/src/test_ber_margin_update.c b/cesar/ce/rx/bitloading/test/src/test_ber_margin_update.c
new file mode 100644
index 0000000000..87d44fabd6
--- /dev/null
+++ b/cesar/ce/rx/bitloading/test/src/test_ber_margin_update.c
@@ -0,0 +1,141 @@
+/* Cesar project {{{
+ *
+ * Copyright (C) 2011 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file ce/rx/bitloading/test/src/test_ber_margin_update.c
+ * \brief Test BER margin update
+ * \ingroup ce_rx_bl
+ */
+#include "common/std.h"
+
+#include "ce/rx/bitloading/ber_margin_update.h"
+#include "ce/rx/bitloading/inc/ber_margin_update.h"
+
+/* Test vector. */
+#include "ber_margin_update.h"
+
+#include "lib/test.h"
+
+void
+test_ce_rx_bl_bmu (test_t t)
+{
+ ce_rx_bl_bmu_t bmu;
+ phy_fecrate_t fecrate;
+ struct ce_rx_t *ce_rx = INVALID_PTR;
+
+ test_case_begin (t, "initialization, reset and new frame received");
+
+ test_begin (t, "init")
+ {
+ for (fecrate = PHY_FEC_RATE_1_2; fecrate < PHY_FEC_RATE_NB; fecrate++)
+ bmu.ber_margin[fecrate] = fecrate + 0x42;
+ bmu.frame_counter = 42;
+
+ ce_rx_bl_bmu_reset (&bmu);
+
+ for (fecrate = PHY_FEC_RATE_1_2; fecrate < PHY_FEC_RATE_NB; fecrate++)
+ test_fail_if (bmu.ber_margin[fecrate] != 0);
+ test_fail_if (bmu.frame_counter != 0);
+ } test_end;
+
+ test_begin (t, "reset after a BL")
+ {
+ for (fecrate = PHY_FEC_RATE_1_2; fecrate < PHY_FEC_RATE_NB; fecrate++)
+ bmu.ber_margin[fecrate] = fecrate + 0x42;
+ bmu.frame_counter = 42;
+
+ ce_rx_bl_bmu_reset_frame_counter (&bmu);
+
+ /* Only frame counter should be changed. */
+ for (fecrate = PHY_FEC_RATE_1_2; fecrate < PHY_FEC_RATE_NB; fecrate++)
+ test_fail_if (bmu.ber_margin[fecrate] != fecrate + 0x42);
+ test_fail_if (bmu.frame_counter != 0);
+ } test_end;
+
+ test_begin (t, "new frame received, frame counter increased")
+ {
+ ce_rx_bl_bmu_reset_frame_counter (&bmu);
+ uint i;
+ for (i = 0; i < 0x42; i++)
+ {
+ ce_rx_bl_bmu_new_frame (&bmu);
+ test_fail_if (bmu.frame_counter != i + 1);
+ }
+ /* Fake we are near max. */
+ bmu.frame_counter = (typeof (bmu.frame_counter)) (-1);
+ typeof (bmu.frame_counter) max = bmu.frame_counter;
+ for (i = 0; i < 0x42; i++)
+ {
+ ce_rx_bl_bmu_new_frame (&bmu);
+ test_fail_if (bmu.frame_counter != max);
+ }
+ } test_end;
+
+ test_case_begin (t, "BER margin calculation");
+
+ /* Override configuration in order to be independent from TNS
+ * specifications. */
+ {
+ uint i, j;
+ ce_rx_bl_bmu_conf.pber_limit[CE_RX_BL_BMU_MIN] = 327;
+ ce_rx_bl_bmu_conf.pber_limit[CE_RX_BL_BMU_MAX] = 3276;
+ s64 poly[CE_RX_BL_BMU_POLY_NB][CE_RX_BL_BMU_POLY_DEG_MAX] =
+ {
+ { 7635808116ll, -5001454315980ll },
+ { 34378623109ll, -22547998136852ll },
+ };
+ for (i = 0; i < CE_RX_BL_BMU_POLY_NB; i++)
+ for (j = 0; j < CE_RX_BL_BMU_POLY_DEG_MAX; j++)
+ ce_rx_bl_bmu_conf.poly[i][j] = poly[i][j];
+ ce_rx_bl_bmu_conf.fec_rate_factors[PHY_FEC_RATE_1_2] = 3;
+ ce_rx_bl_bmu_conf.fec_rate_factors[PHY_FEC_RATE_16_21] = 1;
+ ce_rx_bl_bmu_conf.frame_count_min = 150;
+ }
+
+ test_begin (t, "BER margin compute")
+ {
+ uint i;
+ bmu.frame_counter = ce_rx_bl_bmu_conf.frame_count_min + 1;
+ for (i = 0; i < ber_margin_update_height; i++)
+ {
+ /* Get info from vector. */
+ fecrate = ber_margin_update[i][0];
+ s64 ber_target = ber_margin_update[i][1];
+ s64 ber_margin_in = ber_margin_update[i][2];
+ s64 ber_margin_out = ber_margin_update[i][5];
+ u32 pber = ber_margin_update[i][3];
+
+ bool result = true;
+ if (ber_margin_in == ber_margin_out)
+ result = false;
+
+ bmu.ber_margin[fecrate] = ber_margin_in;
+
+ test_fail_if (ce_rx_bl_bmu_run (ce_rx, &bmu, pber, ber_target,
+ fecrate)
+ != result, "iteration %d failed (got %s)\n", i,
+ result ? "true" : "false");
+ test_fail_if (bmu.ber_margin[fecrate] != ber_margin_out,
+ "iteration %d failed, ex %lld, got %lld\n", i,
+ ber_margin_out, bmu.ber_margin[fecrate]);
+ }
+ } test_end;
+}
+
+int
+main (int argc, char **argv)
+{
+ test_t t;
+ test_init (t, argc, argv);
+
+ test_suite_begin (t, "CE:RX:BL:BER margin update");
+
+ test_ce_rx_bl_bmu (t);
+
+ test_result (t);
+ return test_nb_failed (t) == 0 ? 0 : 1;
+}
diff --git a/cesar/ce/rx/inc/trace.h b/cesar/ce/rx/inc/trace.h
index c3630c6062..ab9305efca 100644
--- a/cesar/ce/rx/inc/trace.h
+++ b/cesar/ce/rx/inc/trace.h
@@ -48,6 +48,7 @@ enum
CE_RX_TRACE_PB_ERR_RATE_HIGH,
CE_RX_TRACE_RESTART_PB_ERR,
CE_RX_TRACE_RESTART_BER,
+ CE_RX_TRACE_BMU_STATE,
};
BEGIN_DECLS
diff --git a/cesar/ce/rx/src/trace.c b/cesar/ce/rx/src/trace.c
index 1ac3b52432..fb7938762f 100644
--- a/cesar/ce/rx/src/trace.c
+++ b/cesar/ce/rx/src/trace.c
@@ -16,6 +16,7 @@
#include "ce/rx/bitloading/fsm/inc/tables.h"
#include <string.h>
+#include <stdio.h>
/**
* Format a FSM state.
@@ -61,6 +62,13 @@ ce_rx_trace_format_fsm_event (char *text, uint text_size, int data)
}
}
+static int
+ce_rx_trace_format_s64 (char *text, uint text_size, u64 data)
+{
+ int ret = snprintf (text, text_size, "%lld", (s64) data);
+ return ret < (int) text_size ? ret : -1;
+}
+
void
ce_rx_trace_init (ce_rx_t *ctx)
{
@@ -104,6 +112,9 @@ ce_rx_trace_init (ce_rx_t *ctx)
"(since %d frames)", TIMESTAMP),
TRACE_EVENT (CE_RX_TRACE_RESTART_BER, "tei %d: "
"restart BER low", TIMESTAMP),
+ TRACE_EVENT (CE_RX_TRACE_BMU_STATE, "PBER=%d, BER_margin_old=%l, "
+ "BER_margin_new=%l, oscillation_counter=%d, bmu_plus=%b",
+ TIMESTAMP),
};
dbg_assert (ctx);
trace_namespace_init (&namespace, event_ids, COUNT (event_ids));
@@ -111,6 +122,8 @@ ce_rx_trace_init (ce_rx_t *ctx)
ce_rx_trace_format_fsm_state);
trace_namespace_register_format (&namespace, 'E',
ce_rx_trace_format_fsm_event);
+ trace_namespace_register_format_u64 (&namespace, 'l',
+ ce_rx_trace_format_s64);
trace_buffer_add (&ctx->trace, "ce_rx", 8, 1, false, &namespace);
trace_buffer_add (&ctx->trace_verbose, "ce_rx_verbose", 8, 32, true, &namespace);
}